Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППТС-2 / Лабы / Lab4-03.doc
Скачиваний:
12
Добавлен:
12.05.2015
Размер:
596.99 Кб
Скачать

3.3.6. Создание узлов документа, комментариев, инструкций по обработке и пространства имен в xslt

3.3.6.1. Элемент xsl:document

Новый узел документа создается с помощью следующей инструкции:

<xsl:document

type="имя"

validation="strict" | "lax" | "preserve" | "strip"

>

<!--

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

-->

</xsl:document>

Атрибут typeзадает проверку создаваемого узла документа на соответствие типу, заданному в значении атрибута и определенному в схеме документа.

Атрибут validationопределяет действия по проверке действительности создаваемого атрибута. Значения "preserve" и "strip" не требуют проверки узлов документа, причем в первом случае копируемые в новый документ узлы элементов и атрибутов сохраняют свой тип, а во втором – элементы получают типxs:untyped, а атрибуты – типxs:untypedAtomic. Если же задано значение "strict" или "lax", то в случае, если наследниками узла документа не является один узел элемента, а также, возможно, узлы комментариев и инструкций по обработке, выдается сообщение об ошибке. Затем выполняется проверка дочернего узла элемента в документе. Если проверяемый узел не соответствует своей схеме, также выдается сообщение об ошибке.

Атрибуты typeиvalidationявляются взаимоисключающими, т.е. в элементе может быть задан только один из этих атрибутов.

3.3.6.2. Элементxsl:result-document

Элемент-инструкция xsl:result-documentиспользуется для создания конечной результирующей иерархической структуры и имеет следующий синтаксис:

<xsl:result-document

format="имя"

href="URI"

type="имя-типа"

validation="strict" | "lax" | "preserve" | "strip"

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

byte-order-mark="yes" | "no"

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

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

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

encoding="строка"

escape-uri-attributes="yes" | "no"

include-content-type="yes" | "no"

indent="yes" | "no"

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

normalization-form="NFC" | "NFD" | "NFKC" | "NFKD" |

"fully-normalized" | "none" | "имя"

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

standalone="yes" | "no" | "omit"

undeclare-prefixes="yes" | "no"

use-character-maps ="имена"

output-version="строка"

>

<!--

Содержимое: конструктор-последовательности

-->

</xsl:result-document>

Все атрибуты элемента result-documentявляются необязательными.

Атрибуты typeиvalidationдействуют так же, как в элементеxsl:element.

Атрибуты byte-order-mark, cdata-section-elements, doctype-public, doctype-system, encoding, escape-uri-attributes, include-content-type, indent, media-type, normalization-form, omit-xml-declaration, standalone, undeclare-prefixes и use-character-maps действуют так же, как в элементе xsl:output. За исключением атрибутаuse-character-maps, все эти атрибуты могут иметь вычисляемые значения.

Атрибут output-versionдействует так же, как и атрибутversionэлементаxsl:output.

Атрибут formatзадает имя, к которому добавляется префикс пространства имен (если он есть) в области видимости элементаresult-document. Расширенное значение имени должно соответствовать одному из имен в именованных элементахxsl:output. В этом случае формирование выходного документа будет выполняться под управлением именованного определения выводаxsl:outputс заданным именем. Если атрибутformatне задан, формирование выходного документа будет выполняться под управлением неименованного определения выводаxsl:output.

Атрибут hrefзадает базовыйURI узла документа в корне конечной результирующей иерархической структуры.

Соседние файлы в папке Лабы