Использование процессора 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, в некоторых случаях они приводят к различным результатам.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Использование отдельных процессоров XSLT
Использование отдельных процессоров XSLT Отдельные процессоры XSLT — один из самых распространенных способов провести XSLT-преобразования. Существует весьма много таких процессоров, хотя и не все из них могут обрабатывать все возможные таблицы стилей XSLT. Для того, чтобы
Вызов Java непосредственно из процессоров XSLT
Вызов Java непосредственно из процессоров XSLT Как мы говорили в главе 5, до недавнего времени процессоры XSLT могли реализовывать функции расширения любым способом, и один из этих способов включал прямой вызов функций Java. Например, в Saxon и Xalan можно выполнять код Java, если
Работа с API XSLT для Java
Работа с API XSLT для Java Во всех основанных на Java процессорах XSLT определен объемный интерфейс, API, для связи с Java. Как правило, при помощи API вызываются методы и создаются объекты Java, как мы увидим в этой главе. Но все процессоры XSLT определяют свои API по-разному, и обычно эти API
Взаимодействие процессора XSLT Oracle с Java
Взаимодействие процессора XSLT Oracle с Java Несколько больше усилий потребуется для осуществления XSLT-преобразования при помощи API процессора XSLT фирмы Oracle. Новый пример, oraclejava.java, продемонстрирует работу с этим API.В oraclejava.java в первую очередь необходимо считывать требуемые
Применение XSLT с Java Server Pages
Применение XSLT с Java Server Pages Для работы с активными серверными страницами я использовал процессор MSXML фирмы Microsoft, но серверные страницы Java (Java Server Pages, JSP) не обязаны выполняться на серверах на платформе Windows, поэтому с JSP я не использую MSXML. Для выполнения XSLT-преобразования и
Применение XSLT с сервлетами Java
Применение XSLT с сервлетами Java Выполнять XSLT-преобразования на сервере можно также при помощи сервлетов (servlet) Java. Хотя многие процессоры XSLT предоставляют свои собственные версии сервлетов, я считаю, что гораздо проще самостоятельно выполнить преобразование при помощи Xalan
Реализации процессора AS/400
Реализации процессора AS/400 Первые использовавшиеся в AS/400 RISC-процессоры поддерживали только режим активных тегов и только структуру ввода-вывода AS/400. Поэтому они выполняли приложения, но не операционные системы, написанные для стандартного процессора PowerPC. Любая другая
Java, Java везде и всюду
Java, Java везде и всюду Язык Java был разработан фирмой Sun Microsystems, Inc. Первоначально он предназначался для прикладного ПО бытовых электронных приборов, но скоро стал использоваться для приложений, выполнявшихся браузерами. В конце 1995 года Sun сделала Java доступной, разрешив
Выбор процессора
Выбор процессора Поскольку требования, предъявляемые Asterisk к производительности, главным образом, обусловлены большим объемом производимых математических вычислений, естественным будет выбор процессора с мощным FPU. Для осуществляемой Asterisk обработки сигналов от ЦП
Кэш процессора
Кэш процессора Оборудование, на котором мы все программируем и запускаем приложения, использует кэш в памяти. Так, например, на компьютере автора этой книги применяется высокоскоростная кэш-память объемом 512 Кб между процессором и его регистрами и основной памятью (объем
Глава 9. Использование XSLT совместно с другими языками программирования
Глава 9. Использование XSLT совместно с другими языками программирования Эта глава поможет сделать первые шаги разработчикам, которым необходимо использовать XSLT совместно с другими языками программирования. В ней приведены простые примеры вызова преобразований из
Сообщения процессора
Сообщения процессора По большому счету, мы не можем контролировать процесс преобразования. Процессор может сам выбирать, как и в какой последовательности он будет выполнять те или иные шаблоны — таковы особенности декларативного программирования. Вместе с тем мы
Глава 9 Совместное использование XSLT с другими языками программирования
Глава 9 Совместное использование XSLT с другими языками программирования XSLT и другие языки Несмотря на то, что XSLT является вполне самостоятельным языком, его очень часто используют как составную часть в проектах, которые пишутся на других языках программирования. Тому
Выполнение XSLT-преобразований в Java
Выполнение XSLT-преобразований в Java Язык Java традиционно широко поддерживает XML-технологии: большинство передовых разработок в этой области реализуется, как правило, сначала на Java и уж затем переносится на другие платформы разработки.Не стал исключением и XSLT. Можно смело
Отличия XSLT 1.1 от XSLT 1.0
Отличия XSLT 1.1 от XSLT 1.0 Отсутствие result tree fragment Главное и наиболее существенное отличие XSLT 1.1 от XSLT 1.0 состоит в том, что тип данных, известный в XSLT 1.0 как result tree fragment (результирующий фрагмент дерева) в XSLT 1.1. отсутствует. Вместо него в версии 1.1 используется множество узлов,
Отличия XSLT 2.0 от XSLT 1.1
Отличия XSLT 2.0 от XSLT 1.1 Прежде чем приступить к описанию отличий второй версии XSLT от версии 1.1 (и, соответственно, 1.0), следует сделать одно существенное замечание. Лицензионные соглашения Консорциума W3 не позволяют раскрывать широкой общественности внутренние материалы