Технология преобразования

В общем случае в преобразовании участвуют три документа:

· входной документ, над которым выполняется преобразование (документ XML);

· входной документ, описывающий преобразование (документ XSLT);

· выходной документ – результат преобразования.

Процесс преобразования входного до­кумента в соответствии с описанными правилами называется применением преобразования к входному документу или просто выполнением преобразования. Это выполнение осуществляют специальные программы, которые называются процессорами XSLT.

Документ XSLT, содержащий правила преобразования, также является документом XML (обычно с расширением .xsl), формируемым в соответствии с инструкциями и объявлениями языка XSLT, определенными в пространстве имен этого языка. Документ XSLT может также содержать элементы, которые определены в других пространствах имен, например, в пространстве имен функций XPath 2.0.

Процессор XSLT выполняет операции над исходным документом XML в три этапа:

· этап анализа;

· этап преобразования;

· этап сериализации.

На этапе анализа процессор XSLT преобразует входные текстовые документы в их иерархическое представление (рис. 5.3.1). В спецификации определены два типа процессоров XSLT: процессоры без использования схемы и процессоры с использованием схемы. Последний тип проверяет действительность документа, т.е. его соответствие своей схеме. При анализе входных документов обычно используется встроенный или внешний SAX-анализатор или DOM-анализатор.

 

Рис. 5.3.1. Анализ и преобразование входных документов

в иерархические структуры

 

На этапе преобразования процессор XSLT применяет правила преобразования, описанные в документе XSLT, к иерархической структуре входного документа XML. В результате преобразования получается иерархическая структура выходного документа (рис. 5.3.2).

 

Рис. 5.3.2. Преобразование документа XML процессором XSLT

 

На этапе сериализации полученная структура выходного документа представляется в текстовой форме заданного вида, которая может быть записана в файл или выведена на экран.

Спецификация XSLT 2.0 определяет четыре обязательных вида сериализации, которые должен поддерживать процессор XSLT: документ XML, документ HTML, документ XHTML и чисто текстовый документ, не содержащий элементов разметки.

Конкретная реализация процессора XSLT может поддерживать и другие виды сериализации, например, формат Word или формат PDF.

Этап сериализации показан на рис. 5.3.3.

 

Рис. 5.3.3. Сериализация структуры выходного документа процессором XSLT

 

В отличие от языка схем, спецификация языка XSLT позволяет вводить собственные функции и элементы и использовать их в преобразованиях. Однако использование расширений может привести к потере переносимости при выполнении преобразований на различных компьютерных платформах.

Расширения можно создавать на различных языках программирования, но наиболее часто используется язык Java, поскольку в нем есть средства, облегчающие разработку новых элементов и функций.








Дата добавления: 2015-03-20; просмотров: 972;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.