Книга: Технология XSLT
Использование сущностей для разбивки на модули
Разделы на этой странице:
Использование сущностей для разбивки на модули
Поскольку XSLT-преобразования являются XML-документами, мы можем воспользоваться средствами XML для модульной организации данных. Части преобразований можно просто вынести во внешние документы и включать в документ в виде сущности.
Пример
Листинг 4.15. Входящий документ:
<root>
<a/>
<b/>
</root>
Листинг 4.16. Основное преобразование
<!DOCTYPE xsl:stylesheet [
<!ENTITY ab SYSTEM "ab.xsl">
]>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="root">
<ROOT>
<xsl:apply-templates/>
</ROOT>
</xsl:template>
&ab;
</xsl:stylesheet>
Листинг 4.17. Файл ab.xsl
<xsl:template match="a">
<A/>
</xsl:template>
<xsl:template match="b">
<B/>
</xsl:template>
Листинг 4.18. Результат преобразования
<ROOT>
<A/>
<B/>
</ROOT>
В этом примере в DTD-блоке мы определяем сущность с именем ab
, которая содержит два шаблонных правила для обработки элементов a
и b. Файл ab.xsl
, в котором содержится текст внешней сущности, заменяет в документе ссылку &ab;
. После раскрытия процессором сущности (замены ссылки на ее содержимое) наше преобразование будет выглядеть следующим образом.
Листинг 4.19. Основное преобразование после раскрытия сущности &ab;
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="root">
<ROOT>
<xsl:apply-templates/>
</ROOT>
</xsl:template>
<xsl:template match="a">
<A/>
</xsl:template>
<xsl:template match="b">
<B/>
</xsl:template>
</xsl:stylesheet>
- Восстановление с использованием инструмента gbak
- Типы страниц и их использование
- Использование констант
- Использование переменной окружения ISC_PATH
- Использование сервера Yaffil внутри процесса
- Использование CAST() с типами дата
- Модули констукторов заданий
- Использование типов содержимого и столбцов
- Вызов хранимых процедур InterBase с использованием стандартного синтаксиса ODBC
- Использование кнопки Автосумма
- 24.7. Использование программы-твикера
- Использование отдельных процессоров XSLT