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

attribute method

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

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

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

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

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

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

Пример

Пример 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>