Импорт внешних файлов
Другим способом использования внешних модулей в XSLT является импорт внешних файлов, который обеспечивается элементом xsl:import. Этот элемент имеет следующий синтаксис:
<xsl:import
href="URI"
/>
Импорт внешних файлов выполняется так же, как и включение файлов, однако он имеет следующие особенности:
· элементы xsl:import должны быть первыми дочерними элементами элемента xsl:stylesheet;
· порядок следования элементов xsl:import оказывает влияние на приоритет операций преобразования.
Если одни и те же преобразования заданы в документе XSLT и внешних модулях, включаемых с помощью элементов xsl:include и xsl:import, то действуют следующие правила приоритета:
· наивысший приоритет имеют преобразования в документе XSLT и во включаемых внешних файлах;
· приоритет преобразования в импортируемом внешнем файле ниже, чем преобразования в документе XSLT и во включаемых внешних файлах;
· если в импортируемых внешних файлах задано одно и то же преобразование, то больший приоритет имеет преобразование, которое определено в последнем из импортируемых файлов с одинаковыми преобразованиями;
· если в импортируемом внешнем файле задан импорт другого внешнего файла, содержащего то же преобразование, то больший приоритет имеет преобразование, которое определено в вызывающем импорт внешнем файле.
Чтобы изменить приведенные выше правила используются элементы-инструкции xsl:apply-imports и xsl:next-match, которые имеют следующий синтаксис:
<xsl:apply-imports>
<!--
Содержимое: элементы xsl:with-param
-->
</xsl:apply-imports>
<xsl:next-match>
<!--
Содержимое: элементы xsl:with-param
-->
</xsl:next-match>
Элемент xsl:apply-imports используется для изменения правил приоритета в импортируемых стилях, а элемент xsl:next-match – для изменения правил приоритета во всех остальных случаях. Оба элемента выбирают преобразование, приоритет которого ниже, чем приоритет текущего преобразование (преобразование называется текущим, если оно имеет наивысший приоритет).
Элементы xsl:with-param в содержимом элементов xsl:apply-imports и xsl:next-match задают параметры для выбранного преобразования.
Пример использования элемента xsl:import:
<xsl:import href="styles1.xsl"/>
Дата добавления: 2015-03-20; просмотров: 552;