Xalan

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

• -TEXT. Использовать средство форматирования простого текста;

• -TG. Отслеживать (trace) каждое событие генерации результирующего дерева;

• -TS. Отслеживать каждое событие выделения;

• -ТТ. Отслеживать шаблоны по мере их вызова;

• -ТТС. Отслеживать «детей» шаблона по мере их обработки;

• -V. Информация о версии;

• -VALIDATE. Проверить входной XML и XSL (по умолчанию проверка отключена);

• -XML. Использовать средства форматирования XML и добавить заголовок XML;

• -XSL XSLTransformationURL.

В книге мы рассмотрим все эти процессоры; как уже говорилось, чаше всего я буду использовать Xalan. (Причина в том, что этот процессор стал самым популярным и широко распространенным процессором XSLT.) Разумеется, вы можете использовать любой процессор XSLT, если только он удовлетворяет спецификации XSLT консорциума W3C.

На этом мы завершаем рассмотрение отдельных процессоров XSLT. Существует другой способ преобразовывать документы XML, не прибегая к отдельной программе: для этих целей можно использовать такую клиентскую программу, как браузер.