XSLT - страница 13

стр.

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_0\xerces.jar;C:\xt\xt.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:\xt\xt 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:\saxon\saxon.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 его можно запустить следующим образом (часть >-о planets.html задает имя выходного файла):

>C:\planets>saxon -о planets.html planets.xml planets.xsl

Oracle XSLT

Корпорация Oracle также предоставляет бесплатный процессор XSLT, который можно загрузить с http://technet.oracle.com/tech/xml/, — правда, для этого придется пройти весьма длительную процедуру регистрации. Ко времени написания книги для загрузки процессора XSLT достаточно было щелкнуть на ссылке для XDK для Java http://technet.oracle.com/tech/xml/.