XSLT | страница 63



Помните, что XML — это метод вывода по умолчанию, если только ваш входной документ не содержит тег или . Тем не менее, даже если вы выполняете преобразование одного XML-документа в другой, зачастую удобно использовать элемент > — для того, чтобы, например, задать кодировку символов (по умолчанию это обычно UTF-8, восьмибитовое подмножество Unicode) или выравнивание выходного документа (это описывается в главе 3).

РАБОТА С ФРАГМЕНТАМИ XML

Можно работать не только с документами XML целиком, но и с их фрагментами. В этом случае следует установить атрибут omit-xml-declaration в «yes» — для того, чтобы опустить объявление XML в начале дерева вывода, как обсуждается в главе 6.

Когда вы используете метод вывода XML, дерево вывода представляет собой хорошо сформированный XML (однако он не обязан быть допустимым). Не обязательно оно должно быть хорошо сформированным XML-документом, это может быть общая разобранная внешняя сущность XML. Содержимое вывода может включать символьные данные, разделы CDATA, ссылки на сущности, инструкции обработки, комментарии и элементы. Вывод должен также удовлетворять объявлению пространств имен XML.

Метод вывода: текст

Метод текстового вывода предназначен не только для создания простого текста: он применяется для любого основанного на тексте формата, не являющегося XML или HTML. Например, с его помощью можно создавать документы в формате RTF (Rich Text Format). В этом формате для задания форматирования документов используются встроенные текстовые коды — их можно поместить в документы самостоятельно при помощи метода текстового вывода.

В листинге 2.6 приведен пример таблицы стилей (которую мы увидим в главе 6), преобразующей >planets.xml в >planets.rtf.

Листинг 2.6. Таблица стилей RTF

>

>

> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

{\rtf1\ansi\deff0{\fonttbl {\\fcharset0 Courier New:}}

>  \viewkind4\uc1\pard\langl033\b\ The Planets Table\par\b0

>  Name\tab Mass\tab Rad.\tab Day\par

>  \par

> }


>  \tab

>  \tab

>  \tab

>  \tab

>  \par

>

Результирующий документ RTF, planets.rtf, изображен на рис. 2.3 в Microsoft Word 2000. Обратите внимание на то, что я установил метод вывода в текст в элементе