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, предупреждения конфликтов шаблонов;