Элемент XSLT <xsl:output>

Определение и использование

Элемент <xsl:output> определяет формат выводного документа.

Комментарий:<xsl:output> является顶层 элементом (top-level element), он должен быть подэлементом <xsl:stylesheet> или <xsl:transform>.

Грамматика

<xsl:output
method="xml|html|text|name"
version="string"
encoding="string"
omit-xml-declaration="yes|no"
standalone="yes|no"
doctype-public="string"
doctype-system="string"
cdata-section-elements="namelist"
indent="yes|no"
media-type="string"/>

Атрибут

Атрибут Значение Описание
method
  • xml
  • html
  • text
  • name
Выборочно. Определите формат вывода. По умолчанию это XML. Netscape 6 поддерживает только "html" и "xml".
version string Выборочно. Установите номер версии W3C для формата вывода. (Используется только при method="html" или method="xml").
encoding string Опционально. Устанавливает значение атрибута кодирования в выводе.
omit-xml-declaration
  • yes
  • no

Опционально.

"yes" указывает на то, что в выводе следует опустить объявление XML (<?xml...?>).

"no" указывает на то, что в выводе должно содержаться объявление XML. По умолчанию это "no".

standalone
    • yes
    • no
Опционально. Определяет, должен ли процессор XSLT выводить независимое объявление документа; значение должно быть "yes" или "no". По умолчанию это "no". Netscape 6 не поддерживает это свойство.
doctype-public string Опционально. Определяет общественный идентификатор, который используется в DTD. Это значение атрибута PUBLIC в объявлении DOCTYPE в выводе.
doctype-system string Опционально. Определяет системный идентификатор, который используется в DTD. Это значение атрибута SYSTEM в объявлении DOCTYPE в выводе.
cdata-section-elements namelist Опционально. Список элементов, разделенных пробелами, текстовое содержимое которых должно быть выведено в качестве части CDATA.
indent
  • yes
  • no
Опционально. Указывает, следует ли добавлять пробельные символы при выводе результата дерева; значение должно быть "yes" или "no". Netscape 6 не поддерживает это свойство.
media-type string Опционально. Определяет MIME-тип вывода (тип媒体 данных). По умолчанию это "text/xml". Netscape 6 не поддерживает это свойство.

Свойство method

Идентификатор используется для обозначения общего метода вывода результата дерева. Если отсутствует префикс, то это метод, указанный в данном документе, должен быть "xml", "html", "text" или одним из неограниченных имен NCName. Если есть префикс, то он разворачивается и обозначает метод вывода.

Выбор значения по умолчанию для свойства method показан следующим образом. Если любое из следующих условий истинно, по умолчанию используется метод вывода "html":

Корневой узел результата содержит элементы подуровня.

Расширенное имя первого элемента подуровня корневого узла результата (т.е. элемент документа) содержит локальную часть "html" (в любом сочетании регистров) и пустой URI пространства имен.

Любые текстовые узлы перед первым элементом подуровня корневого узла результата содержат только пробельные символы.

В противном случае, по умолчанию используется метод вывода "xml". Если элемент <xsl:output> отсутствует или элемент <xsl:output> не определил значение свойства method, следует использовать метод вывода по умолчанию.

Пример

Пример 1

В данном примере, результатом является документ XML, версия 1.0. Способ кодирования символов установлен в "ISO-8859-1", результат будет отступлен, чтобы улучшить читаемость:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>
...
...
</xsl:stylesheet>

Пример 2

В этом примере, вывод является документом HTML, версией 4.0. Формат кодировки установлено "ISO-8859-1", вывод будет отступлен, чтобы улучшить читаемость:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="4.0" encoding="iso-8859-1" indent="yes"/>
...
...
</xsl:stylesheet>