запретить маскирование для элемента xsl:value-of или xsl:text, который используется для получения строкового значения к комментарию, инструкции обработки или узлу атрибута. Ошибкой будет также преобразование фрагмента конечного дерева в число или строку, если в этом фрагменте содержится текстовый узел, для которого было запрещено маскирование. В обоих случаях XSLT процессор может фиксировать ошибку. Если он этого не делает, то должен обработать ошибку сам, игнорируя атрибут disable-output-escaping.

Атрибут disable-output-escaping можно использовать и для метода вывода html , и для метода вывода xml. Метод вывода text игнорирует атрибут disable-output-escaping, поскольку при выводе не делает какого-либо маскирования.

XSLT процессор сможет запретить маскирование только если он контролирует, как будет представлено конечное дерево. А так может быть не всегда. Например, вместо показа конечное дерево может быть использовано как исходное дерево для другой XSLT трансформации. Маскирование при выводе XSLT процессор поддерживать не обязан. Если xsl:value-of или xsl:text указывают, что маскирование при выводе должно быть запрещено, а XSLT процессор такого режима не поддерживает, то процессор может фиксировать ошибку. Если же он этого не делает, то должен обработать ошибку сам, не отменяя маскирование при выводе.

Если маскирование запрещено для символа, который невозможно представить в той кодировке, которую для вывода использует XSLT процессор, то процессор может фиксировать ошибку. Если он этого не делает, то должен обработать ошибку сам, отменив запрет на маскирование при выводе.

Поскольку запрет на маскирование при выводе может работать не на всех XSLT процессорах и может создавать XML документы, которые будут некорректны, то этот режим должен использоваться только тогда, когда нет других альтернатив.

17 Соответствие спецификации

XSLT процессор, соответствующий спецификации, должен уметь использовать стиль для преобразования исходного дерева в конечное дерево так, как было описано в данном документе. Соответствующий спецификации XSLT процессор не обязан уметь представить результат в виде XML или в каком-либо ином формате.

Замечание:Разработчикам xslt процессоров настоятельно рекомендуется обеспечить возможность проверить, что их процессор работает согласно требованиям спецификации. Для этого необходимо разрешить вывод конечного дерева в виде XML или предоставить доступ к конечному дереву через стандартный API, такой как DOM или SAX.

XSLT процессор, соответствующий спецификации, должен фиксировать все ошибки, за исключением тех, о которых в данном документе специально оговорено, что XSLT процессор их может не фиксировать. XSLT процессор, соответствующий спецификации, может, но не обязан обрабатывать все ошибки, которые он фиксирует.

XSLT процессор, соответствующий спецификации, может накладывать ограничения на ресурсы, потребляемые при обработке стиля.

18 Нотация

Спецификации каждого определенного в XSLT типа элементов предшествует описание его синтаксиса в форме модели для элементов указанного типа. Нотация к описанию синтаксиса имеет следующее значение:

Атрибут является обязательным тогда и только тогда, когда его название выделено жирным шрифтом.

Строка, которая указана вместо значения атрибута, указывает допустимые значения атрибута. Если строка окружена фигурными скобками, значение атрибута обрабатывается как шаблон значения атрибута , строка же, находящаяся в фигурных скобках, указывает допустимые значения, которые можеь иметь результат обработки шаблона значения атрибута. Альтернативные значения отделены друг от друга символом | . Строка, заключенная в кавычки, дает значение, соответствующее этой строке. Имя, не заключенное в кавычки и набранное наклонным шрифтом, задает определенный тип значения.

Если элемент может быть не пустым, то этот элемент содержит комментарий, описывающий разрешенное содержимое. Разрешенное содержимое задается точно так же, как декларация типа элемента в XML. Запись template означает, что можно использовать любое сочетание текстовых узлов, фиксированных конечных элементов, элементов расширения и XSLT элементов из категории instruction. Запись top-level-elements означает, что можно использовать любое сочетание XSLT элементов из категории top-level- element.

Элементу предшествуют комментарии, указывающие, принадлежит ли он категории instruction, категории top-level-element или обеим. Категория элемента влияниет лишь на то, можно ли его использовать в содержимом элементов, допускающих template или top-level-elements.

a Ссылки

a.1 Нормативные ссылки

XML

World Wide Web Consortium. Extensible Markup Language (XML) 1.0. Рекомендации W3C. См. http://www.w3.org/TR/1998/REC-xml-19980210

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату