Совместное использование преобразований и документов XML
Включение преобразования в документ XML выполняется с помощью рассмотренной ранее инструкции по обработке xml-stylesheet, в которой для атрибута type задается значение "text/xsl".
Инструкция xml-stylesheet может быть включена только в пролог документа, то есть она должна предшествовать корневому элементу.
Пример включения файла преобразования в документ XML:
<?xml-stylesheet type="text/xsl" href="message.xsl"?>
Включение операций преобразования, содержащихся в файле message.xsl, в документ message.xml.
Если преобразование документа выполняется в режиме командной строки одним из процессоров XSLT, то инструкцию xml-stylesheet в документе XML можно не задавать.
Преобразование XSLT чаще всего является самостоятельным документом XML. Однако преобразование может встроено и в сам документ XML, для которого выполняется преобразование.
В этом случае в преобразовании (элементе xsl:stylesheet или xsl:transform) внутри документа должен быть обязательно задан атрибут id, а в инструкции xml-stylesheet в атрибуте href задается (с префиксом "#") значение атрибута id преобразования.
Поскольку элемент xsl:stylesheet включен в преобразуемый документ, он также подвергнется преобразованию. Для того чтобы избежать этого, в преобразование включается правило шаблона, которое указывает, что элементы xsl:stylesheet следует игнорировать:
<xsl:template match="xsl:stylesheet"/>
Правила шаблона будут рассмотрены ниже.
Пример включения преобразования в преобразуемый документ:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="#trans"?>
<email-folder>
…
<xsl:stylesheet
version="2.0"
id="trans"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
…
<xsl:template match="xsl:stylesheet"/>
</xsl:stylesheet>
…
</email-folder>
Хотя возможность непосредственного включения преобразования в документ XML и определена в спецификации языка XSLT, ее поддерживают пока немногие процессоры XSLT.
Дата добавления: 2015-03-20; просмотров: 545;