Книга: Технология XSLT
Несколько выходящих документов
Разделы на этой странице:
Несколько выходящих документов
Как известно, преобразование в XSLT 1.0 имеет один основной входящий документ (плюс документы, доступные при помощи функции document
) и ровно один выходящий документ. То есть, для того, чтобы сгенерировать на основе одного входящего документа несколько выходящих следует просто выполнить несколько преобразований.
Следуя многочисленным запросам программистов, почти все разработчики XSLT-процессоров предоставили в своих продуктах возможность генерировать несколько выходящих документов непосредственно из одного преобразования. Элемент xsl:document
, добавленный в XSLT 1.1, сделал эту возможность стандартной.
Пример
Самым простым применением xsl:document
является разбиение одного документа на несколько. Например, имея документ вида
<book>
<chapter>Text 1</chapter>
<chapter>Text 2</chapter>
<chapter>Text 3</chapter>
</book>
мы можем выделить элементы chapter
в отдельные файлы, а в самом выходящем документе создать оглавление со ссылками.
Листинг 12.1. Преобразование, использующее элемент xsl:document
<xsl:stylesheet
version="1.1"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="book">
<xsl:copy>
<xsl:apply-templates select="chapter"/>
</xsl:copy>
</xsl:template>
<xsl:template match="chapter">
<chapter href="chapter{position()}.xml"/>
<xsl:document href="chapter{position()}.xml">
<xsl:copy-of select="."/>
</xsl:document>
</xsl:template>
</xsl:stylesheet>
Результатом этого преобразования будут следующие четыре документа.
Листинг 12.2. Главный выходящий документ преобразования
<book>
<chapter href="chapter1.xml"/>
<chapter href="chapter2.xml"/>
<chapter href="chapter3.xml"/>
</book>
Листинг 12.3. Документ chapter1.xml
<chapter>Text 1</chapter>
Листинг 12.4. Документ chapter2.xml
<chapter>Text 2</chapter>
Листинг 12.5. Документ chapter3.xml
<chapter>Text 3</chapter>
- Распараллеливание на несколько процессоров
- 6.1.6. Печать документов
- 6.2. Создание и автоматическое заполнение бланков стандартных документов
- Просмотр библиотек документов
- Создание библиотек документов
- Добавление документов
- Извлечение и возврат документов
- Извлечение и возврат документов в приложениях Microsoft Office 2007
- Удаление документов
- Использование параметров библиотек документов
- 22.4.9 Несколькоадресные рассылки
- Создание рабочей области для документов