Вход/Регистрация
XSLT
вернуться

Холзнер Стивен

Шрифт:

Это весьма длинные команды, что может на первый взгляд показаться вам излишне сложным. Тем не менее есть веская причина, по которой большинство процессоров 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, который расположен по адресу(Ко времени написания книги текущую версию, Xerces 1.3.0, можно было загрузить с адресав формате 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, его можно бесплатно загрузить сВсе, что нужно сделать, — это загрузить файл 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, которая загружается сВ Windows его можно запустить следующим образом (часть

– о planets.html
задает имя выходного файла):

  • Читать дальше
  • 1
  • ...
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: