Использование процессора XSLT на Java
Использование процессора XSLT на Java
Для работы с основанным на Java процессором XSLT достаточно загрузить и распаковать (unzip) его — и он готов к работе. Прочитайте, конечно, сопроводительные указания; но, как правило, нужно осуществить только два шага.
Во-первых, необходимо уведомить Java, как ей найти XSLT-процессор, который хранится в файле архива Java, или JAR (Java Archive). Чтобы сообщить Java о том, где искать JAR-файл, нужно установить переменную окружения classpath в путь этого JAR-файла. Например, в любой версии Windows следует открыть окно DOS и выполнить команду, устанавливающую переменную classpath в путь к JAR-файлу процессора XSLT от Oracle, xmlparserv2.jar, который в этом случае хранится в каталоге c:oraclexmllib:
C:>set classpath=c:oraclexmllibxmlparserv2.jar
Теперь можно перейти ко второму этапу — запустить процессор XSLT; при этом будет выполняться класс Java, поддерживающий данный процессор. Для XSLT-процессора Oracle этот класс называется oracle.xml.parser.v2.oraxsl. В Windows, например, вы можете перейти в каталог, в котором расположены файлы planets.xml и planets.xsl, и выполнить класс oracle.xml.parser.v2.oraxsl при помощи Java таким образом:
C:planets>java oracle.xml.parser.v2.oraxsl planets.xml planets.xsl planets.html
При этом файл planets.xml будет преобразован в planets.html при помощи planets.xsl. Заметьте: в этом примере предполагается, что файл java.exe, в котором исполняется Java-код, расположен в вашем каталоге Windows. Если его там нет, можно явно задать его месторасположение, каталог Java bin, например c:jdk1.3in (JDK— сокращение от Java Development Kit, a Java 2 версии 1.3 устанавливает себя по умолчанию в каталог c:jdk1.3), как в следующей команде:
C:planets>c:jdk1.3injava oracle.xml.parser.v2.oraxsl planets.xmlplanets.xslplanets.html
Можно объединить оба этапа (установка переменной classpath и запуск процессора XSLT) в один, если вы используете ключ -cp вместе с Java, указывая, какую переменную classpath использовать:
C:planets>c:jdk1.3injava -ср c:oraclexmllibxmlparserv2.jar oracle.xml.parser.v2.oraxsl planets.xml planets.xsl planets.html
Это весьма длинные команды, что может на первый взгляд показаться вам излишне сложным. Тем не менее есть веская причина, по которой большинство процессоров 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, в некоторых случаях они приводят к различным результатам.