
- •Лекция 4-07
- •Тема 5.3. Языки xslt и xsl
- •Тема 5.3. Языки xslTиXsl
- •5.3.1. Связывание документовXmLс таблицами стилей
- •5.3.2. Язык xsLи его компоненты
- •5.3.3. Преобразование документа с помощьюXslt
- •5.3.3.1. Технология преобразования
- •5.3.3.2. Процессоры xslt
- •5.3.4. Структура документаXslt
- •5.3.4.1. Пространство именXslt
- •5.3.4.2. Корневые элементы и элементы верхнего уровня документаXslt
- •5.3.4.3. Условное включение элемента
- •5.3.4.4. Модульная структура преобразованийXslt
- •5.3.4.4.1. Включение внешних файлов
- •5.3.4.4.2. Импорт внешних файлов
- •5.3.4.4.3. Использование сущностей
- •5.3.4.4.4. Импорт схем
- •5.3.5. Совместное использование преобразований и документовXml
- •5.3.6. Управление выводом вXslt
- •5.3.6.1. Элементxsl:output
- •5.3.6.2. Метод вывода "xml"
- •5.3.6.3. Метод вывода "xhtml"
- •5.3.6.4. Метод вывода "html"
- •5.3.6.5. Метод вывода "text"
- •5.3.7. Правила шаблона вXslt
- •5.3.7.1. Образцы и шаблоны
- •5.3.7.2. Объявлениешаблона
- •5.3.7.3. Вызов неименованных правил шаблона
- •5.3.7.4. Упрощенные преобразования
- •5.3.8. Создание узлов элементов и атрибутов вXslt
- •5.3.8.1. Элементxsl:element
- •5.3.8.2. Элементxsl:attribute
- •5.3.8.3. Элементxsl:attribute-set
5.3.6.3. Метод вывода "xhtml"
Метод вывода "xhtml" используется для того, чтобы выводить документы в Web-браузере в соответствии со спецификациейXHTML.
Атрибуты version, encoding, indent, cdata-section-elements, omit-xml-declaration, standalone, doctype-system, doctype-public, undeclare-prefixes, normalization-form, media-type, byte-order-mark и use-character-maps действуют также, как и для метода "xml".
Атрибут escape-uri-attributes
Этот атрибут определяет, выводить ли атрибуты с URI в выходном документе ("no") или нет ("yes") (по умолчанию значение этого атрибута равно "yes");
Атрибут include-content-type
Этот атрибут включает в документ XHTML в элемент head(если этот элемент задан) первым дочерним элементом элементmeta, который определяет кодировку, используемую в Web-странице (по умолчанию или заданную в атрибутеencoding).
5.3.6.4. Метод вывода "html"
Метод вывода "html"используется для того, чтобы выводить документы в Web-браузере.
Одно из основных различий HTMLи XML состоит в том, что в XML пустые элементы имеют формат<имя/>, в то время как вHTMLтот же элемент был бы выведен, как<имя>. Метод вывода"html"учитывает эти различия и выводит теги пустых элементовHTMLбез косой черты после имени. В соответствии со спецификацией языкаHTML4.01, пустыми элементами являютсяarea,base,basefont,br,col,frame,hr,img,input,isindex,link,metaиparam.
Документы, которые преобразуются в HTML, могут также иметь сценарии, определенные внутри элементаscriptили стили, заданные внутри элементаstyle. В случае если внутри этих элементов оказываются символы, считающиеся вXMLспециальными, например, "<" или "&", процессор не должен заменять их символьными или встроенными сущностями.
Пример вывода сценария при преобразовании:
Предположим, что в преобразуемом документе элемент scriptопределен с использованием специальных символов, которые заменены сущностями:
<script>if (a > b) swap(a, b)</script>
или с использованием секций символьных данных:
<script><![CDATA[ if (a>b) swap(a, b) ]]></script>.
При использовании метода вывода "html"или"xhtml" оба варианта будут выведены, как
<script>if (a>b) swap(a, b)</script>.
В соответствии со спецификацией, некоторые атрибуты в HTMLмогут и не иметь значений (например, атрибутselectedэлементаoption). Для того, чтобы получить в выходящем документе<option selected>, следует в преобразовании указывать
<option selected="selected">,
то есть присваивать булевому атрибуту значение, равное собственному имени.
Атрибуты encoding, indent, normalization-form, byte-order-mark и use-character-maps действуют так же, как и для метода "xml". Атрибуты escape-uri-attributes и include-content-type действуют так же, как и для метода "xhtml".
Атрибут version
Атрибут versionэлементаxsl:outputв методе"html"обозначает версию языкаHTML, которая должна использоваться в выходном документе. По умолчанию значением этого атрибута является "4.0" (последней версией языка является версия 4.01).
Атрибуты doctype-system и doctype-public
Декларация типа документа с внешними системными или общедоступными идентификаторами может быть использована в HTMLточно так же, как в XML. Поскольку в объявлении типа документа после<!DOCTYPEдолжно стоять имя корневого элемента, при методе вывода"html"этим именем будет "HTML" или "html" в зависимости от регистра символов имени корневого элемента документа.
Атрибут media-type
Для HTML-документов значением media-typeпо умолчанию будет"text/html".