Элемент 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. Netscape 6 поддерживает только 'html' и 'xml'. |
version | string | доступно. Установите номер версии W3C для формата вывода. (Используется только при method="html" или method="xml"). |
encoding | string | доступно. Установите значение атрибута кодировки вывода. |
omit-xml-declaration |
|
доступно. "yes" определяет, что宣言 XML должно быть опущено в выводе (<?xml...?>). "no" определяет, что в выводе должен быть включен宣言 XML. По умолчанию 'no'. |
standalone |
|
доступно. Определяет, должен ли 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". 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>