Параметры преобразования документа в текст

В ряде методов можно задать хеш Параметры_преобразования_в_текст.

Они идентичны атрибутам элемента
<xsl:output … />.
Исключением являются атрибуты
doctype-public и doctype-system, которые так задать нельзя.
Пока также является исключением
cdata-section-elements.

По умолчанию текст создается в кодировке
$request:charset, однако в XML заголовке или в элементе meta для HTML-метода Parser указывает кодировку $response:charset. Такое поведение можно изменить, явно указав кодировку в <xsl:output … /> или соответствующем параметре преобразования.   [3.1.2]

При создании объекта класса
file можно задать параметр media-type, при задании нового тела ответа заголовок ответа content-type получит значение этого параметра.

Пример
# выдаст документ в HTML-представлении без отступов и xml-декларации
^document.
string[
   $.method[html]
   $.indent[no]

   $.omit-xml-declaration[yes]
   $.encoding[windows-1251]
#   $.charset[windows-1251]   
   [3.4.2] опция не может быть использована совместно с опцией $.encoding[]
]

Выдача XHTML
Если необходимо выдать XHTML, следует использовать такие атрибуты элемента <xsl:stylesheet … />:

<xsl:stylesheet version="1.0"
   xmlns="http://www.w3.org/1999/xhtml"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>

Обратите внимание на указание
xmlns без префикса - так необходимо делать, чтобы все создаваемые в шаблоне элементы без префикса попадали в пространство имен xhtml. Необходимо задавать xmlns без префикса в каждом .xsl файле, этот параметр не распространяется на включаемые файлы.

А также необходимо задать такие атрибуты
<xsl:output … />:
<xsl:output 
   doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
   doctype-system="DTD/xhtml1-strict.dtd"
/>

Внимание: не задавайте атрибут method
. XHTML это разновидность метода xml, включающаяся при использовании следующих doctype:
   -//W3C//DTD XHTML 1.0 Strict//EN
   -//W3C//DTD XHTML 1.0 Frameset//EN
   -//W3C//DTD XHTML 1.0 Transitional//EN


In order to add comments you must register.
Copyright © 1997–2017 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 26.06.2012