KnigaRead.com/

Стивен Холзнер - XSLT

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн "Стивен Холзнер - XSLT". Жанр: Интернет издательство -, год -.
Перейти на страницу:

4XSLT, http://Fourthought.com/4Suite/4XSLT. XSLT-процессор для Python;

EZ/X, http://www.activated.com/products/products.html. Пакет Java одновременно для разбора XML и обработки XSLT;

iXSLT, http://www.infoteria.com/en/contents/download/index.html Процессор XSLT в командной строке;

Koala XSL Engine, http://www.inria.fr/koala/XML/xslProcessor. XSLT-процессор для Java, использующий простой API для XML, Simple API for XML (SAX 1.0) и API объектной модели документов, Document Object Model (DOM 1.0) API;

• LotusXSL, http://www.alphaworks.ibm.com/tech/LotusXSL. LotusXSL фирмы IBM реализует XSLT-процессор на Java и может взаимодействовать с интерфейсами API, удовлетворяющими спецификации Document Object Model (DOM) Level 1 Specification. Известный процессор XSLT, но сейчас он вытесняется Xalan 2.0;

MDC-XSL, http://mdc-xsl.sourceforge.net. Процессор XSLT на С++, его можно использовать как отдельную программу;

Microsoft XML Parser, http://msdn.microsoft.com/downloads/webtechnology/xml/msxml.asp. Разборщик XML фирмы Microsoft, высокопроизводительный, доступный в виде СОМ-компонента. Его можно использовать для реализации поддержки XSLT в приложениях;

• Sablotron, http://www.gingerall.com/charlie-bin/get/webGA/act/sablotron.act. Sablotron — быстрый, компактный и переносимый процессор XSLT. На настоящий момент поддерживает подмножество рекомендации XSLT. Его можно использовать вместе с С или Perl;

SAXON, http://users.iclway.co.uk/mhkay/saxon/index.html. Такой процессор XSLT полностью реализует XSLT 1.0 и XPath 1.0, а также ряд расширений упомянутых спецификаций. Обратите внимание на то, что в этом выпуске имеется также поддержка рабочего проекта XSLT 1.1;

Transformiix, http://www.mozilla.org. Transformiix — XSLT-компонент фирмы Mozilla, в настоящее время частично реализованный в Netscape 6.0;

• Unicorn XSLT processor (UXT), http://www.unicorn-enterprises.com. Этот процессор XSLT поддерживает XSLT-преобразования и написан на С++;

Xalan С++, http://xml.apache.org/xalan-c/index.html. Реализация рекомендаций W3C для XSLT и XML Path Language (XPath). Версия известного процессора Apache Xalan на С++;

• Xalan Java, http://xml.apache.org/xalan-j/index.html. Реализация рекомендаций W3C для XSLT и XML Path Language (XPath) на Java. Версия известного процессора Apache Xalan на Java. Включает также функции расширения для доступа к базам данных на SQL через JDBC и многое другое;

• xesalt, http://www.inlogix.de/products.htmL Этот процессор XSLT существует в виде web-серверного модуля (как для web-сервера Apache, так и для IIS), в виде расширения Netscape 4.x и в виде процессора командной строки;

XML parser for С, http://technet.oracle.com/tech/xml/parser_c2. Процессор XSLT фирмы Oracle. Поддерживает рекомендацию XSLT 1.0, разработан для использования с С;

• XML parser for Java, http://technet.oracle.com/tech/xml/parser_java2. Процессор XSLT фирмы Oracle. Поддерживает рекомендацию XSLT 1.0, разработан для использования с Java;

• XML parser for PL/SQL, http://technet.oracle.com/tech/xml/parser_plsql. Процессор XSLT фирмы Oracle. Поддерживает рекомендацию XSLT 1.0, разработан для использования с PL/SQL;

XML:XSLT, http://xmlxslt.sourceforge.net. Этот разборщик XSLT написан на Perl. Частично реализует рекомендацию XSLT;

• Xport, http://www.timelux.lu. Процессор XSLT-преобразования, доступен в виде СОМ-объекта;

XSL:P, http://www.clc-marketing.com/xslp/download.html. Современный процессор XSLT;

XT, http://www.jclark.com/xml/xt.html. XT — известная реализация рекомендации XSLT на Java.

В следующих разделах мы подробно рассмотрим четыре из вышеперечисленных процессоров XSLT: XT, Saxon, XSLT-процессор фирмы Oracle и Xalan. Все они бесплатно доступны в Интернете, и на них можно проверить все приведенные в книге примеры. Если вы хотите изучать примеры, загрузите один из этих процессоров (лучше всего известный и широко используемый — процессор Xalan). Для осуществления XSLT-преобразований я буду пользоваться этими процессорами при дальнейшем изложении.

Выбранные процессоры основаны на Java, поэтому необходимо, чтобы у вас была установлена Java. Если у вас она еще не установлена, ее можно загрузить бесплатно с web-узла фирмы Sun. Самое последнее издание, на момент написания книги Java 2 версии 1.3 доступно по адресу http://java.sun.com/j2se/1.3. Все, что нужно сделать, — загрузить Java для вашей операционной системы и следовать инструкциям по загрузке на соответствующих страницах.

Хотя для запуска этих XSLT-процессоров нужна Java, не стоит беспокоиться, если вы не программист — никакого программирования не требуется. В главе 10 будут приведены примеры программирования на Java — для того чтобы продемонстрировать вам, как создавать XSLT-преобразования в коде — но процессоры XT, Saxon, XSLT от Oracle и Xalan можно запускать из командной строки.

Если вы работаете в Windows, то для вас существует еще более простой способ использовать XT и Saxon — эти процессоры поставляются в виде файлов .ехе (xt.exe и saxon.exe), которые можно выполнять непосредственно в Windows — и вам совсем не понадобится Java. Этот способ работы также рассмотрен в книге.

Использование процессора XSLT на Java

Для работы с основанным на Java процессором XSLT достаточно загрузить и распаковать (unzip) его — и он готов к работе. Прочитайте, конечно, сопроводительные указания; но, как правило, нужно осуществить только два шага.

Во-первых, необходимо уведомить Java, как ей найти XSLT-процессор, который хранится в файле архива Java, или JAR (Java Archive). Чтобы сообщить Java о том, где искать JAR-файл, нужно установить переменную окружения classpath в путь этого JAR-файла. Например, в любой версии Windows следует открыть окно DOS и выполнить команду, устанавливающую переменную classpath в путь к JAR-файлу процессора XSLT от Oracle, xmlparserv2.jar, который в этом случае хранится в каталоге c:oraclexmllib:

C:>set classpath=c:oraclexmllibxmlparserv2.jar

Теперь можно перейти ко второму этапу — запустить процессор XSLT; при этом будет выполняться класс Java, поддерживающий данный процессор. Для XSLT-процессора Oracle этот класс называется oracle.xml.parser.v2.oraxsl. В Windows, например, вы можете перейти в каталог, в котором расположены файлы planets.xml и planets.xsl, и выполнить класс oracle.xml.parser.v2.oraxsl при помощи Java таким образом:

C:planets>java oracle.xml.parser.v2.oraxsl planets.xml planets.xsl planets.html

При этом файл planets.xml будет преобразован в planets.html при помощи planets.xsl. Заметьте: в этом примере предполагается, что файл java.exe, в котором исполняется Java-код, расположен в вашем каталоге Windows. Если его там нет, можно явно задать его месторасположение, каталог Java bin, например c:jdk1.3bin (JDK— сокращение от Java Development Kit, a Java 2 версии 1.3 устанавливает себя по умолчанию в каталог c:jdk1.3), как в следующей команде:

C:planets>c:jdk1.3binjava oracle.xml.parser.v2.oraxsl planets.xmlplanets.xslplanets.html

Можно объединить оба этапа (установка переменной classpath и запуск процессора XSLT) в один, если вы используете ключ -cp вместе с Java, указывая, какую переменную classpath использовать:

C:planets>c:jdk1.3binjava -ср c:oraclexmllibxmlparserv2.jar oracle.xml.parser.v2.oraxsl planets.xml planets.xsl planets.html

Это весьма длинные команды, что может на первый взгляд показаться вам излишне сложным. Тем не менее есть веская причина, по которой большинство процессоров XSLT написаны на Java: Java поддерживается на многих платформах, от Macintosh до UNIX, а поэтому XSLT-процессор также может выполняться на всех этих платформах.

Конечно, все становится намного проще, если вы работаете в Windows и используете скомпилированную версию процессора XT (xt.exe) либо Saxon (saxon.exe). Ниже приведен пример работы с xt.exe в Windows для осуществления того же преобразования (здесь предполагается, что xt.exe расположен в текущем каталоге):

C:planets>xt planets.xml planets.xsl planets.html

Мы рассмотрели процесс кратко; теперь я хочу описать четыре процессора XSLT (XT, Saxon, процессор XSLT от Oracle и Xalan) подробно, продемонстрировав, как работать с каждым из них. Обратите внимание на два момента: программное обеспечение, реализующее языки XML и XSL, меняется очень быстро, так что когда вы читаете эти строки, некоторые процессоры уже могут оказаться устаревшими; хотя все процессоры должны поддерживать весь стандартный XSLT, в некоторых случаях они приводят к различным результатам.

XT Джеймса Кларка

XT Джеймса Кларка (James Clark) можно загрузить с www.jclark.com/xml/xt.html. Помимо самого процессора XT, вам понадобится разборщик XML, при помощи которого XT будет читать ваш XML-документ. В файлах загрузки XT есть еще файл sax.jar, содержащий разборщик XML Джеймса Кларка; можете впрочем воспользоваться в этих же целях и его разборщиком ХР, загрузив его с адреса www.jclark.com/xml/xp/index.html.

Я лично предпочитаю использовать разборщик XML Xerces от Apache Project, который расположен по адресу http://xml.apache.org. (Ко времени написания книги текущую версию, Xerces 1.3.0, можно было загрузить с адреса http://xml.apache.org/dist/xerces-j/ в формате zip для UNIX в файле Xerces-J-bin.l.3.0.tar.gz и формате для Windows в файле Xerces-J-bin.1.3.0.zip.)

Сам процессор XT — это приложение Java, включенное в пакет загрузки XT в файле JAR, xt.jar. Для использования xerces.jar и xt.jar вы должны включить и тот, и другой файлы в переменную classpath, как показано в следующем примере для Windows (соответственно измените места нахождения этих файлов):

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*