Стивен Холзнер - XSLT
<xsl:value-of select="@UNITS"/>
</xsl:template>
</xsl:stylesheet>
Я преобразую planets.xml в допустимый документ XHTML, planets.html, используя этот новый вариант planets.xsl и процессор XSLT XT. Сначала нужно корректно установить переменную classpath:
С:>set classpath=c:xercesxerces-1_3_0xerces.jar;с:xtxt.jar;
Затем я провожу преобразование:
C:planets>java -Dcom.jclark.xsl.sax.parser=org.apache.xerces.parsers.SAXParser.com.jclark xsl.sax.Driver planets.xml planets.xsl planets.html
В результате будет получен файл XHTML, planets.html:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
The Planets Table
</title>
</head>
<body>
<h1>
The Planets Table
</h1>
<table>
<tr>
<td>Name</td>
<td>Mass</td>
<td>Radius</td>
<td>Day</td>
</tr>
<tr>
<td>Mercury</td>
<td>.0553 (Earth = 1)</td>
<td>1516 miles</td>
<td>58.65 days</td>
</tr>
<tr>
<td>Venus</td>
<td>.815 (Earth = 1)</td>
<td>3716 miles</td>
<td>116.75 days</td>
</tr>
<tr>
<td>Earth</td>
<td>1 (Earth = 1)</td>
<td>2107 miles</td>
<td>1 days</td>
</tr>
</table>
</body>
</html>
Этот документ, planets.html, действительно является хорошо сформированным и допустимым документом формата XHTML 1.0 (самый популярный вид XHTML) в соответствии с программой проверки допустимости HTML и XHTML консорциума W3C. Средство проверки HTML/XHTML можно найти в Интернете по адресу http://validator.w3.org/file-upload.html. В главе 6 представлена дополнительная информация о преобразованиях XML-XHTML.
К настоящему моменту мы провели обзор работы XSLT, рассмотрев преобразования из XML в HTML, XML и XHTML. Далее в книге мы познакомимся с такими преобразованиями XSLT, как преобразования из XML в RTF (форматированный текст, Rich Text Format), в простой текст, XSL-FO, JavaScript, в базы данных на основе SQL, а также и другие. Кроме того, существует много дополнительного материала по XSLT, о котором вам следует знать, и теперь мы освоимся в разнообразных видах ресурсов XSLT, которые можно найти в Интернете.
Ресурсы XSLT
В Интернете можно найти огромное количество нужных нам сведений. Имейте в виду, что все приведенные далее адреса URL легко могут измениться; списки будут актуальны столь долго, сколько этого будут хотеть люди, занимающиеся поддержкой перечисленных web-узлов.
Спецификации, руководства и примеры XSLT
Точкой отсчета для ресурсов XSLT, безусловно, является сам W3C. Ниже приведены адреса URL для используемых в книге спецификаций W3C:
• www.w3.org/Style/XSL/. Основная страница W3C по XSL;
• www.w3.org/TR/xslt. Спецификация XSLT 1.0;
• www.w3.org/TR/xslt11. Рабочий проект XSLT 1.1, упрощающий работу с расширениями XSLT и добавляющий поддержку рекомендации W3C XBase;
• www.w3.org/TR/xslt20req. Требования XSLT 2.0, в которых приводится обзор XSLT 2.0, включающий дополнительную поддержку схем XML;
• www.w3.org/TR/xsl/. Форматирующие объекты XSL;
• www.w3.org/Style/2000/xsl-charter.html. Цели комитета XSL;
• www.w3.org/TR/xpath. Рекомендация XPath 1.0,
• www.w3.org/TR/xpath20req. Требования XPath, в которых приводится обзор XPath 2.0, включающего дополнительную поддержку XSLT 2.0;
• http://lists.w3.org/Archives/Public/www-xml-stylesheet-comments/. Список таблиц стилей XML консорциума W3C.
Многие руководства по XSLT и примеры доступны также и из других источников — вот начальный список:
• http://http.cs.berkeley.edu/~wilensky/CS294/xsl-examples.html. Ряд примеров по XSLT;
• http://msdn.microsoft.com/xml/reference/xsl/Examples.asp. Примеры шаблонов XSLT, используемых в совпадающих элементах;
• http://msdn.microsoft.com/xml/XSLGuide/xsl-overview.asp. Начальное описание работы с XSLT;
• www.lists.ic.ac.uk/hypermail/xml-dev/xml-dev-Nov-1999/0371.html. Руководство по XSLT в виде презентации PowerPoint;
• www.mulberrytech.com/xsl/xsl-list/. Открытый список, посвященный обсуждению XSL;
• www.nwalsh.com/docs/tutorials/xsl/xsl/slides.html. Руководство по XSLT;
• www.oasis-open.org/cover/xsl.html. Описание текущих событий вокруг XSLT;
• www.w3.org/Style/Activity. Внушительный список страниц, посвященных таблицам стилей W3C;
• www.xml101.com/xsl/. Полноценный набор справочников по XSLT;
• www.xslinfo.com. Полезный набор ресурсов по XSLT, собранных Джеймсом Таубером (James Tauber);
• www.zvon.org/xxl/XSLTutorial/Books/Bookl/bookInOne.html. Справочники по XSLT, XPath, XML, WML и другим языкам.
Мне известна однако только одна группа новостей Usenet по XSLT, и она поддерживается Microsoft — microsoft.public.xsl. Со временем появятся и другие. Для вас может также представлять интерес список почтовой рассылки по XSL — www.mulberrytech.com/xsl/xsl-list.
Помимо спецификаций, руководств и примеров W3C, в Интернете можно найти большое число редакторов создания таблиц стилей XSLT.
Редакторы XSLT
Для создания используемых в книге документов XML и XSL достаточно обычного текстового редактора, такого как vi, emacs, pico, Windows Notepad или Windows WordPad. По умолчанию предполагается, что документы XML и XSL должны быть написаны в Unicode, хотя на практике их можно создавать и в ASCII, и практически все документы до сих пор были написаны именно в ASCII. Следите только за тем, чтобы при создании документа сохранять его в формате простого текста вашего редактора.
РАБОТА С WORDPAD
У текстовых редакторов Windows, таких как WordPad, есть раздражающая особенность — если они не узнают данное вами файлу расширение, они добавляют к имени файла расширение .txt. Для файлов .xml и .xsl это не проблема, поскольку WordPad понимает эти расширения, но если вы попытаетесь сохранить документы, созданные при работе над книгой, с расширением, не распознаваемым WordPad, ко всем ним редактор добавит расширение .txt. Чтобы этого не происходило, при сохранении документа заключайте имя файла в кавычки: "file.abc".
Будет, однако, намного проще использовать настоящий редактор XML, специально предназначенный для обработки XML-документов. Вот список программ редактирования документов XML:
• Adobe FrameMaker, www.adobe.com. Adobe представляет прекрасный, но дорогой редактор FrameMaker с поддержкой XML;
• XML Pro, www.vervet.com/. Дорогой, но мощный редактор XML;
• XML Writer, на диске, XMLWriter http://xmlwriter.net/. Выделение ключевых слов цветом, удобный интерфейс;
• XML Notepad, msdn.microsoft.com/xml/notepad/intro.asp. Бесплатный редактор XML от Microsoft, немного неудобный в работе;
• eNotepad, www.edisys.com/Products/eNotepad/enotepad.asp. Аналог WordPad, имеющий хорошие средства работы с XML и удобный пользовательский интерфейс;
• XMetal from SoftQuad, www.xmetal.com. Дорогой, но очень мощный редактор XML, любимый редактор многих авторов;
• XML Spy, www.xmlspy.com/. Имеет хороший пользовательский интерфейс и прост в работе;
• Arbortext's Epic, www.arbortext.com/. Мощный редактор, дорогой, обладает богатыми возможностями настройки.
Редактор XML Spy изображен на рис. 1.5, XML Writer — на рис. 1.6, a XML Notepad — на рис. 1.7.
Рис. 1.5. Редактирование XML в XML Spy
Рис. 1.6. Редактирование XML в XML Writer
Рис. 1.7. Редактирование XML в XML Notepad
Существуют и специальные редакторы XSLT. Вот начальный список:
• http://lists.w3.org/Archives/Public/xsl-editors/. Список обсуждения редакторов XSL на web-узле W3C;
• IBM XSL Editor, www.alphaworks.ibm.com/tech/xsleditor. Редактор таблиц стилей XSLT на Java, обладающий визуальным интерфейсом для написания таблиц стилей и выражений выбора и совпадения. Однако необходимо, чтобы была установлена поддержка Java 2 version 1.1 (не 1.2 или 1.3);
• Stylus, www.exceloncorp.com/products/excelon_stylus.html. Stylus включает редактор таблиц стилей XSLT;
• Visual XML Transformation Tool, www.alphaworks.ibm.com/aw.nsf/techmain/visualxmltools. Visual XML Transformation Tool генерирует для вас XSLT для преобразования исходных документов в результирующие;
• Whitehill Composer, www.whitehill.com/products/prod4.html. WYSIWYG средство генерации таблиц стилей XSLT с поддержкой перетаскивания;
• XL-Styler, www.seeburger.de/xml. Включает выделение ключевых слов, завершение тегов, предварительный просмотр HTML и многое другое;
• XML Cooktop, http://xmleverywhere.com/cooktop/. Этот редактор только что выпущен и выглядит прилично. Включены средства разработки и проверки таблиц стилей XSLT;
• XML Spy, www.xmlspy.com/. При помощи этого редактора XML можно также редактировать XSLT;
• XML Style Wizard, www.infoteria.com/en/contents/download. Средство генерации файлов XSLT при помощи мастера, который изучает данные XML и задает вопросы пользователю;
• xslide, www.mulberrytech.com/xsl/xslide. Поддерживает режим редактирования XSLT для Emacs;