Элемент 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. Это значение атрибута PUBLIC в объявлении DOCTYPE в выводе. |
doctype-system | string | Опционально. Определяет системный идентификатор, который используется в DTD. Это значение атрибута SYSTEM в объявлении DOCTYPE в выводе. |
cdata-section-elements | namelist | Опционально. Список элементов, разделенных пробелами, текстовое содержимое которых должно быть выведено в качестве части CDATA. |
indent |
|
Опционально. Указывает, следует ли добавлять пробельные символы при выводе результата дерева; значение должно быть "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>