Книга: Технология XSLT

Включение преобразования в документ

Включение преобразования в документ

Корневой элемент преобразования xsl:stylesheet может быть включен в преобразуемый документ со всеми дочерними элементами верхнего уровня и так далее. Для того чтобы использовать это преобразование, псевдоатрибут href инструкции по обработке xml-stylesheet должен указывать на идентификатор элемента xsl:stylesheet, определенный в его атрибуте id.

Пример

Листинг 4.20. Входящий документ

<?xml version="1.0"?>
<?xml-stylesheet type="text/xml" href="#transform"?>
<page>
 <title>Main page</title>
 <content>Main content</content>
 <xsl:stylesheet
 
  version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
   <body title="{page/title}">
    <xsl:text><xsl:value-of select="page/content"/></xsl:text>
   </body>
  </xsl:template>
  <xsl:template match="xsl:stylesheet"/>
 </xsl:stylesheet>
</page>

Листинг 4.21. Выходящий документ

<body title="Main page">
 Main content
</body>

Поскольку элемент xsl:stylesheet включен в преобразуемый документ, он также подвергнется преобразованию. Для того чтобы избежать этого, в преобразование включается шаблонное правило, которое указывает, что элементы xsl:stylesheet следует игнорировать:

<xsl:template match="xsl:stylesheet"/>

К сожалению, приходится констатировать тот факт, что описанную возможность (хотя она и включена в спецификацию языка XSLT) поддерживают очень немногие процессоры и поэтому пока что на нее не следует полагаться.

Оглавление книги


Генерация: 0.749. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз