Несколько выходящих документов
Несколько выходящих документов
Как известно, преобразование в 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>
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Несколько примеров
Несколько примеров Рассмотрим теперь несколько примеров применения каждого метода.Режим с управлением по запросу (send-driven) — модель «клиент/сервер»Файловая система, последовательные порты, консоли и звуковые платы — все это примеры применения модели «клиент/сервер».
И несколько последних слов
И несколько последних слов Все те концептуальные особенности Zenwalk»а, описанные выше, показались части его разработчиков не совсем соответствующими духу первозданного Linux»а. И в результате от него отделился проект Salix. Но о нём сейчас разговора не будет – он выпадает и за
4.3.5. Несколько замечаний
4.3.5. Несколько замечаний Для полного понимания процесса создания учетных записей нам нужно познакомиться еще с файлом /etc/login.defs. В нем хранятся настройки, которые будут использоваться при добавлении пользователей. Содержимое файла можно увидеть в листинге 4.1.Листинг 4.1.
18.9. Несколько дополнительных замечаний
18.9. Несколько дополнительных замечаний 18.9.1 Снова о предосторожностях В начале этой главы было уже сказано, что одновременное обращение к диску двух разных операционных систем может привести к неприятностям. Но об этом придется напомнить еще раз в связи с только что
Несколько слов в заключение
Несколько слов в заключение Прочитав эту книгу, вам наверняка захочется узнать больше о выбранном вами дистрибутиве - Fedora8. Поэтому здесь мы поговорим об источниках информации по Linux.Linux - это отлично документированная система. В составе любого дистрибутива есть довольно
Еще несколько слов о языке
Еще несколько слов о языке Перед тем как закончить наш разговор о коммуникации, неплохо было бы затронуть тему грамматических ошибок. Проблемы с правописанием встречаются в Сети довольно часто и вызывают у посетителей не самые лучшие
Распараллеливание на несколько процессоров
Распараллеливание на несколько процессоров Многие разработчики представляют себе понятие распараллеливания по разному поэтому надо внести ясность, что имеется в виду под этим термином в случае InterBase 7. Прежде всего уточним, что речь идет о выполнении SQL-запросов,
Несколько полезных замечаний
Несколько полезных замечаний При создании входного файла для схемы, которую вы хотите исследовать, всегда начинайте с полного эскиза схемы. Разметьте узлы, используя для этого маркировку, отличающуюся по цвету от остального текста, например красные или голубые чернила.
10.10. Несколько производителей, несколько потребителей
10.10. Несколько производителей, несколько потребителей Следующее изменение, которое мы внесем в нашу пpoгрaммy, будет заключаться в добавлении возможности одновременной работы нескольких потребителей вместе с несколькими производителями. Есть ли смысл в наличии
10.11. Несколько буферов
10.11. Несколько буферов Во многих программах, обрабатывающих какие-либо данные, можно встретить цикл видаwhile ((n = read(fdin, buff, BUFFSIZE)) > 0) { /* обработка данных */ write(fdout, buff, n);}Например, программы, обрабатывающие текстовые файлы, считывают строку из входного файла, выполняют с ней
Multiple (Несколько)
Multiple (Несколько) Программа AutoCAD выполняет полное сканирование экрана каждый раз, когда происходит выделение объекта. Режим Multiple (Несколько) позволяет выделить несколько объектов без задержки, и при нажатии клавиши Enter все точки будут выбраны за одно сканирование
3.14.9. Еще несколько образцов
3.14.9. Еще несколько образцов Завершим наш список несколькими выражениями из категории «разное». Как обычно, почти все эти задачи можно решить несколькими способами.Пусть нужно распознать двузначный почтовый код американского штата. Проще всего, конечно, взять выражение
Как объединить несколько книг
Как объединить несколько книг 1. Откройте два окна Fiction Book Designer два раза (скажем, окно 1 и окно 2).2. Загрузите книгу в окно 1, выберите весь ее текст (Ctrl+A) и скопируйте его в буфер обмена (Ctrl+Ins или Ctrl+C).3. В окне 2 кликните на то место, куда Вы хотите поместить текст книги и нажмите
Как объединить несколько файлов
Как объединить несколько файлов Нажмите «Tools» -› «Join Books».Эта опция позволяет объединять множественные файлы в одну книгу. В настоящее время объединять можно только два типа файлов: txt и
Подход третий: Несколько product owner’ов - несколько backlog’ов
Подход третий: Несколько product owner’ов - несколько backlog’ов Похоже на второй вариант, по отдельному product backlog на команду, только ещё и с отдельным product owner’ом на каждую команду. Мы не пробовали так делать, и, скорее всего, пробовать не будем.Если два product backlog’а касаются одного и
§ 1.3 Несколько слов о XML
§ 1.3 Несколько слов о XML Расширяемый язык разметки — eXtensible Markup Language, был создан для хранения структурированных данных в текстовом формате. Теоретически файлы XML должны легко читаться, как программным обеспечением, так и человеком.С использованием технологии XML можно