открыть окно DOS и выполнить команду, устанавливающую переменную classpath в путь к JAR-файлу процессора XSLT от Oracle, xmlparserv2.jar, который в этом случае хранится в каталоге c:oraclexml lib:

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.3in (JDK— сокращение от Java Development Kit, a Java 2 версии 1.3 устанавливает себя по умолчанию в каталог c:jdk1.3), как в следующей команде:

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

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

C:planets>c:jdk1.3injava -ср 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 (соответственно измените места нахождения этих файлов):

C:>set classpath=C:xerces-1_3_0xerces.jar;C:xtxt.jar

Затем вы можете воспользоваться классом преобразования XT, com.jclark.xsl.sax.Driver.class. Нужно предоставить имя разборщика, которое вы хотите использовать (в данном случае это org.apache.xerces.parsers.SAXParser в архиве xerces.jar), установив переменную com.jclark.xsl.sax.parser в нужное имя в командной строке. Вот как я использую XT для преобразования в Windows (считая, что файлы planets.xml и planets.xsl содержатся в каталоге c:planets, a java.exe расположен в вашем текущем каталоге):

C:planets>java -Dcom.jclark.xsl.sax.parser=org.apache.xerces.parsers.SAXParser com.jclark.xsl.sax.Driver planets.xml planets.xsl planets.html

Эта строка довольно длинна, и хорошо, что XT также упакован в исполняемый файл Win32 xt.exe. Для работы с xt.exe, однако, необходимо, чтобы на компьютере была установлена виртуальная машина Java от Microsoft, Microsoft Java Virtual Machine (VM), — она входит в поставку Internet Explorer. Вот пример в Windows, осуществляющий то же преобразование, что и предыдущая строка (предполагается, что xt.exe расположен в текущем каталоге):

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

Если xt.exe расположен не в текущем каталоге, вы можете задать его месторасположение явно, как в следующем примере (если xt.exe находится в c: xt):

C:planets>c:xtxt planets.xml planets.xsl planets.html

Saxon

Saxon Майкла Кэя (Michael Kay) — один из самых первых процессоров XSLT, его можно бесплатно загрузить с http://users.iclway.co.uk/mhkay/saxon/. Все, что нужно сделать, — это загрузить файл saxon.zip и распаковать архив zip; будет создан требуемый файл Java JAR, saxon.jar.

Для осуществления XSLT-преобразования вначале нужно удостоверится, что saxon.jar находится в переменной classpath. Например, в Windows, считая, что saxon.jar находится в c:saxon, установить переменную classpath можно следующим образом:

C:>set classpath=c:saxonsaxon.jar

Теперь для выполнения преобразования можно использовать класс Saxon XSLT, com.icl.saxon.StyleSheet.class:

C:planets>java com.icl.saxon.StyleSheet planets.xml planets.xsl

По умолчанию Saxon выводит результаты на экран — не совсем то, что нужно, если мы хотим создать файл planets.html. Чтобы создать файл planets.html, можно воспользоваться символом перенаправления вывода UNIX или DOS >:

C:planets>java com.icl.saxon.StyleSheet planets.xml planets.xsl > planets.html

При работе в Windows несложно сразу же вызвать Saxon в виде исполнимой программы Win32, saxon.exe, которая загружается с http://users.iclway.co.uk/mhkay/saxon/. В Windows его можно запустить

Вы читаете XSLT
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату