Как работает язык XSLF
Как и другие языки, основанные на правилах, документ XSL (XSLT или XSLF ) представляет собой коллекцию правил, состоящую из раздела сравнения образцов и раздела действий. На языке XSL эти правила называются шаблонами, так что атомарным элементом таблицы стилей XSL является шаблон. Часть шаблона XSL, осуществляющая сравнение с образцом, называется выражением XPath.
Как только выражение XPath выбрало узел документа, оно связывается с содержанием шаблона. Так как документ XML трансформируется в дерево результата, состоящее из объектов форматирования XSL, возникает необходимость сравнить каждый элемент оригинального документа XML с конкретным шаблоном. Кроме того, при необходимости трансформировать оригинальный документ совместно используется несколько конструкций XSLT и выражений XPath, что позволяет достичь любого узла документа XML, преобразуемого в иерархическую структуру.
Выражение XPath дает возможность достичь любого узла документа. Конструкция XSLT позволяет установить соответствие между узлами и шаблонами, содержащими объекты форматирования XSL.
Чтобы лучше понять процесс, обратимся к внутреннему устройству обработчика XSL.
Как вы уже знаете, использующий модель DOM процессор XSL создает три дерева:
Исходное дерево, содержащее исходный документ, который надо визуализировать
Дерево с таблицей стилей XSL
Дерево результата, используемое для конструирования получаемого документа
Для каждого шаблона в дереве, содержащем таблицу стилей, при обнаружении явной или неявной конструкции apply-template процессор находит соответствующий узел в дереве исходного документа. Обнаружив соответствие, процессор использует содержание шаблона в качестве основы для результата, записываемого в дерево на выходе. Например, если задачей является визуализация документа в браузере, шаблон может содержать конструкции HTML. Для печатных материалов на выходе будут объекты форматирования XSL, которые можно трансформировать в графическое объекты с помощью устройств форматирования для печати, таких как FOP, создающий файлы в формате PDF.
Достарыңызбен бөлісу: |