Элемент xsl:output

We use cookies. Read the Privacy and Cookie Policy

Элемент xsl:output

Синтаксис этого элемента приведен ниже:

<xsl:output

 method = "xml" | "html" | "text" | "имя"

 version = "токен"

 encoding = "строка"

 omit-xml-declaration = "yes" | "no"

 standalone = "yes" | "no"

 doctype-public = "строка"

 doctype-system = "строка"

 cdata-section-elements = "имена"

 indent = "yes" | "no"

 media-type = "строка"/>

Элемент верхнего уровня xsl:output позволяет указывать, каким образом должно быть выведено результирующее дерево.

Главным атрибутом элемента xsl:output является атрибут method, который определяет, какой метод должен использоваться для вывода документа. Значением этого атрибута может быть любое имя, но при этом техническая рекомендация XSLT определяет только три стандартных метода вывода — "xml", "html" и "text". В том случае, если процессор поддерживает нестандартный метод вывода, его реализация полностью зависит от производителя.

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

? Если корень выходящего документа имеет дочерний элемент с локальным именем "html" (в любом регистре символов), которому предшествуют только пробельные символы, методом вывода по умолчанию становится "html".

? Во всех остальных случаях методом вывода по умолчанию является "xml".

Пример

Для документа

<HTML>

 <HEAD>

  <TITLE>XSL Transformations (XSLT)</TITLE>

 </HEAD>

 <BODY>

  <H1>XSL Transformations (XSLT)<BR/>Version 1.0</H1>

 </BODY>

</HTML>

Методом вывода по умолчанию будет "html", а для документа

<BODY>

 <H1>XSL Transformations (XSLT)<BR/>Version 1.0</H1>

</BODY>

будет выбран метод вывода "xml".

Помимо главного атрибута method, элемент xsl:output имеет следующие атрибуты:

? version (версия) — определяет версию языка выходящего документа;

? indent (индентация) — определяет, должен ли процессор добавлять пробельные символы для более наглядного форматирования документа;

? encoding (кодировка) — определяет, в какой кодировке должен быть выведен документ. Значение этого атрибута не зависит от регистра символов, то есть значения encoding="utf-8" и encoding="UtF-8" будут эквивалентны. В атрибуте encoding можно использовать только печатаемые символы ASCII, то есть символы интервала от #x21 до #x7e. Значением encoding должно быть название набора символов, определенное в стандартах IANA (Internet Assigned Numbers Authority) или RFC2278. В противном случае, атрибут должен начинаться символами "x-";

? media-type — определяет тип содержимого MIME выходящего документа;

? doctype-system — определяет системный идентификатор, который должен быть использован в декларации типа документа (DTD);

? doctype-public — определяет публичный идентификатор, который должен быть использован в декларации типа документа (DTD);

? omit-xml-declaration (пропустить декларацию XML) — определяет, нужно ли включать декларацию XML в выходящий документ или нет. Значением этого атрибута должно быть либо "yes" (пропустить декларацию), либо "no" (включить декларацию в выходящий документ);

? standalone (самостоятельный документ) — определяет, должен ли процессор выводить указание на самостоятельность документа (standalone declaration). Значением этого атрибута может быть либо "yes" (выводить указание), либо "no" (не выводить указание на самостоятельность);

? cdata-section-elements — определяет список элементов, текстовое содержимое которых должно быть выведено с использованием секций CDATA.

Использование этих атрибутов зависит от того, какой из методов выбран для вывода преобразованного документа.