Выбрать главу

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/.

После распаковки архива zip, загруженного с web-узла Oracle, требуемый JAR-файл (на момент написания книги) будет называться xmlparserv2.jar. Его можно поместить в вашу переменную classpath в Windows следующим образом:

C:\>set classpath=c:\oraclexml\lib\xmlparserv2.jar

Требуемый класс Java — oracle.xml.parser.v2.oraxsl, для преобразования planets.xml в planets.html вы можете использовать его таким образом:

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

Xalan

Скорее всего, самый широко используемый отдельный процессор XSLT — это Xalan фирмы Apache Project (Apache — широко распространенный web-сервер). Версию Xalan на Java можно загрузить с http://xml.apache.org/xalan-j/index.html — достаточно щелкнуть на требуемом вам файле архива zip (сейчас это xalan-j_2_0_0.zip для Windows или xalan-j_2_0_0.tar.gz для UNIX).

При распаковке загруженного файла вы получите как процессор XSLT, xalan.jar, так и разборщик XML, xerces.jar. Оба эти JAR-файла в Windows можно включить в classpath следующим образом (измените пути к файлам в соответствии с вашей системой):

C:\>set classpath=c:\xalan-j_2_0_0\bin\xalan.jar;c:\xalan-j_2_0_0\bin\xerces.jar

Чтобы затем использовать planets.xsl для преобразования planets.xml в planets.html, запустите на выполнение класс Java org.apache.xalan.xslt.Process:

C:\planets>java org.apache.xalan.xslt.Process -IN planets.xml -XSL planets.xsl -OUT planets.html

Заметьте, что для указания входного файла используется -IN, для указания выходного — -OUT, а для указания таблицы стилей XSLT — -XSL. Чаще всего мы будем работать именно с процессором Xalan, поэтому ниже приведены дополнительные подробности. Следующий список содержит все лексемы, которые можно использовать с классом org.apache.xalan.xslt.Process, как их выводит сам Xalan:

• -CR. Использовать в выходных данных только символы возврата каретки (carriage return) — по умолчанию используется CR/LF;

• -DIAG. Вывод диагностики времени;

• -EDUMP [optional] FileName. Копировать стек при ошибке;

• -HTML. Использовать формат HTML;

• -IN inputXMLURL;

• -INDENT. Количество пробелов для выравнивания (indent) каждого уровня в выходном дереве — по умолчанию 0;

• -LF. Использовать в выходных данных только символы перевода строки (linefeed) — по умолчанию используется CR/LF;

• -OUT outputFileName;

• -PARAM name value. Устанавливает параметр таблицы стилей;

• -Q. Режим с минимальным выводом (quiet);

• -QC. Quiet Pattern Conflicts Warnings, предупреждения конфликтов шаблонов;