Языки информационного обмена

Как работает язык XSLF


Как и другие языки, основанные на правилах, документ XSL (XSLT или XSLF) представляет собой коллекцию правил, состоящую из раздела сравнения образцов и раздела действий. На языке XSL эти правила называются шаблонами, так что атомарным элементом таблицы стилей XSL является шаблон. Часть шаблона XSL, осуществляющая сравнение с образцом, называется выражением XPath.

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

Выражение XPath дает возможность достичь любого узла документа. Конструкция XSLT позволяет установить соответствие между узлами и шаблонами, содержащими объекты форматирования XSL.

Чтобы лучше понять процесс, обратимся к внутреннему устройству обработчика XSL.

Процессор XSL создает три дерева:

  • Исходное дерево, содержащее исходный документ, который надо визуализировать
  • Дерево с таблицей стилей XSL
  • Дерево результата, используемое для конструирования получаемого документа

Для каждого шаблона в дереве, содержащем таблицу стилей, при обнаружении явной или неявной конструкции apply-template процессор находит соответствующий узел в дереве исходного документа. Обнаружив соответствие, процессор использует содержание шаблона в качестве основы для результата, записываемого в дерево на выходе. Например, если задачей является визуализация документа в браузере, шаблон может содержать конструкции HTML. Для печатных материалов на выходе будут объекты форматирования XSL, которые можно трансформировать в графические объекты с помощью устройств форматирования для печати.

© 2003-2007 INTUIT.ru. Все права защищены.



Содержание раздела