Процессор XSLT представляет собой модуль программного обеспечения, который преобразует исходный XML-документ в выходной, или результирующий. Например, в другой XML-документ (к которому при необходимости можно применить форматирование), документы типа XHTML или HTML или обыкновенный «плоский» текстовый документ. Обычно процессоры XSLT объединяют с XML-анализаторами (иногда такая структура именуется XML-процессором). Более совершенные XSLT-процессоры совмещены с другими программами, например с XML-редактором.
Выходной документ может быть сохранен на жестком диске компьютера, если в результате преобразования исходного XML-документа пользователь получает статическую XHTML-страницу. Иногда такой документ создается динамически и затем отображается агентом пользователя, существуя либо в оперативной памяти компьютера, либо на экране.
Некоторые виды XSLT-процессоров распространяются бесплатно. Для ПК, работающих под управлением Windows 9х, самым удобным из свободно распространяемых программных продуктов является процессор типа Instant Saxon. Его сравнительно легко загружать и инсталлировать. Для большинства платформ подходит и полная версия Saxon, построенная на основе языка Java (она также является бесплатной).
Примечание Для копирования программы Instant Saxon обратитесь на сайт http:/Vusers.iclwau. co.uk/mhkau/saxon/instant.html.
Чтобы изучить работу XSLT-процессора, необходимо познакомиться с организацией модели XSLT-данных (XSLT Data Model) и с тем, как ее использует процессор. Заметим, что все XML-файлы являются обычными текстовыми структурами, то есть строками символов. Строгое соблюдение синтаксиса применительно к XML-документам означает, что данная последовательность символов должна иметь четкую логическую структуру. Так, в символьном потоке XML-документа, в секции, относящейся к его прологу, вероятно, будет размещена инструкция, устанавливающая взаимосвязь XSLT-таблицы преобразования стилей с исходным XML-документом.
Пример. Процессоры XSLT различаются методами связывания таблиц стилей с XML-файлом. Один из них состоит во включении инструкции обработки вида <?xml-style-sheet?> в пролог XML-документа. При использовании браузера Internet Explorer 5.0 таблица стилей будет ассоциирована с XML-документом. Предположим, что таблица стилей размещается по адресу, указанному в инструкции обработки, и разрешена для применения. Тогда исходный XML-документ будет преобразован в соответствии с описаниями, содержащимися в данной таблице. Отметим, что в первых демонстрационных версиях браузера Netscape 6 XSLT-процессоры отсутствовали.
Для связывания XML-документа с каскадными таблицами стилей следует записать инструкцию типа:
<?xml-stylesheet href="myfirst.ess" type="text/ess"?>
Для установления взаимосвязи между XSLT-таблицами и XML-файлом необходима команда:
<?xml-stylesheet href="myfirst.xsl" type="text/xml"?>
Примечание Более подробно о применении инструкций обработки типа < ?xml stylesheet ?> говорится в рекомендации консорциума W3C «Методы связывания таблиц стилей с XML-документами, версия 1.0» (Associating Style Sheets with XML Documents Version 1.0), доступкко-торой можно получить по адресу http://www.w3.org/1999/06/REC-xml-stulesheet-19990629.
Пример. Ранее указывалось, что некоторые типы XSLT-процессоров позволяют связывать таблицы стилей с исходным XML-файлом при помощи инструкции, исполняемой из командной строки. Допустим, что для получения выходного XHTML-файла с именем myfirst.html нужно связать исходный XML-документ myfirst.xml и файл таблицы стилей myfirst.xsl. Разработчик решил использовать XSLT-процес-сор типа Instant Saxon. В таком случае необходимо ввести команду вида:
saxon myfirst.xml myfirst.xsl > myfirst.html
При использовании другого типа XSLT-процессора синтаксис командной строки может быть иным.
Для извлечения или использования логической структуры правильного или состоятельного XML-документа XSLT-процессору (обычно содержащему XML-анализатор) необходимо построить в памяти древовидную структуру узлов, слепок логической организации этого документа. Поскольку XSL-таблица стилей, по сути, является XML-документом, в памяти компьютера она приводится к аналогичной древовидной структуре.
Внимание/ Если вы знакомы с объектной моделью документа, то, вероятно,
отметили ее сходство с объектной моделью XSLT. Однако впечат-
ление обманчиво: данные этих моделей различаются. Дополнитель-
ную информацию об объектной модели документа первого уровня
(DOM Level 1) можно получить по адресу http://www.w3.org/TR/
1998/REC-D OM-LeveT 1 -19981001. В настоящее время консорциум
W3C одобрил проект описания объектной модели документов вто-
рого уровня (DОМ Level 2). Этот документ представлен на сайте
http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510.
Анализатор XML для входного символьного потока каждого ХМL-документа (включающего исходный XML-документ и XSLT-таблицу стилей) формирует в памяти компьютера соответствующую древовидную структуру, которая является иерархической и содержит несколько типов узлов. В момент обработки документа типа XML или XHTML XSLT-процессором в памяти одновременно хранятся три древовидные структуры:
• исходного документа XML (или XHTML);
• соответствующая XSLT-таблице стилей (также являющейся документом XML);
• результирующего документа в готовом для представления формате - документы XML, HTML, XHTML либо текстовый файл.
Результирующую древовидную структуру, например документ XHTML, можно отобразить в Web-браузере или сохранить на диске. Для отладки такой структуры дополнительно применяется каскадная таблица стилей. Примеры обоих механизмов обработки выходного документа приведены в конце данной главы.
Большинство приложений, связанных с XSLT-преобразованиями, применяется при создании сложных систем электронной коммерции. Для этих систем, вероятно, потребуется режим, когда множество исходных XML-документов станет обрабатываться с помощью одной таблицы стилей, содержащей группу модулей. Таким образом, результирующее дерево нельзя будет отобразить или сохранить на диске. Но даже в этом случае его можно использовать в качестве исходного XML-документа для последующих преобразований.
Внимание! Документы XML содержат символы пробелов, табуляции, перехода на новую строку и возврата каретки. Существует множество способов оопаоотки и включения этих символов в конечный документ. Необходимая информация представлена в соответствующих разделах рекомендаций консорциума W3C - XML 1.0 и XSLT 1.0 Recommendations
Опубликовал vovan666
April 08 2013 14:57:56 ·
0 Комментариев ·
4188 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.