<ROOT>

   <xsl:apply-templates/>

  </ROOT>

 </xsl:template>

 <xsl:template match='a'>

  <A/>

 </xsl:template>

 <xsl:template match='b'>

  <B/>

 </xsl:template>

</xsl:stylesheet>

Совместное использование преобразований и XML-документов

Ассоциация преобразования с XML-документом

Тем, кому приходилось работать со стилями в HTML-документах, пожалуй будет знакома конструкция вида <LINK REL='stylesheet'>, которая закрепляет за документом определенный стиль. Включив такую конструкцию, автор явным образом указывает, как следует отображать данный документ.

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

Для того чтобы закрепить XSLT-преобразование за XML-документом, в последнем должна быть использована инструкция по обработке xml-stylesheet, которая имеет следующий вид:

<?xml-stylesheet

 href='URI'

 type='тип'

 title='название'

 media='тип носителя'

 charset='кодировка'

 alternate='yes' | 'no'?>

Заметим, что xml-stylesheet может закреплять за XML-документами не только преобразования. Основным назначением инструкции xml-stylesheet является ассоциация с документом фиксированного стиля (англ. stylesheet — стиль, стилевая таблица). С этой точки зрения преобразования являются не более, чем частным случаем стилевых таблиц.

Инструкция xml-stylesheet содержит шесть псевдоатрибутов (приставка псевдо- поясняет, что на самом деле инструкции по обработке не имеют атрибутов), два из которых, href и type, являются обязательными. Использование псевдоатрибутов xml-stylesheet поясняет табл. 4.2.

Таблица 4.2. Псевдоатрибуты инструкции по обработке xml-stylesheet

Псевдоатрибут Описание
href Указывает местоположение стиля, закрепляемого за документом. В случае преобразований, href указывает местоположение преобразования, которое нужно применять к этому документу. В псевдоатрибуте href может быть также указан уникальный идентификатор преобразования, если оно включено в сам документ (см. раздел 'Включение преобразования в документ').
type Указывает тип стиля, закрепляемого за документом. В нашем случае, поскольку мы ассоциируем с документом XSLT-преобразование, псевдоатрибут type должен иметь значение 'text/xsl'
title Задает название закрепляемого стиля. Название не имеет особого значения при обработке — оно просто поясняет назначение стиля
media Указывает тип носителя или устройства, для которого предназначен результирующий документ
charset Определяет кодировку, в которой создан стиль. Если стиль является XSLT- преобразованием, значение псевдоатрибута charset в расчет не принимается, поскольку кодировка преобразований явно или неявно определена в них самих
alternate Указывает, является ли данный стиль основным ('no') или альтернативным ('yes'). Значением этого атрибута по умолчанию является 'no'
Примечание

Что касается псевдоатрибута type, то на самом деле нет стандарта, который заставлял бы использовать значение 'text/xsl'. Рабочая группа XSL Консорциума W3 до сих пор обсуждает, какой именно тип должен быть присвоен XSLT. Поскольку XSLT есть XML-язык, формально следовало бы использовать 'application/xml', однако с легкой подачи Microsoft все

Вы читаете Технология XSLT
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

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