В ряде методов можно задать хеш Параметры_преобразования_в_текст.
Они идентичны атрибутам элемента <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