Основы XML




Использование нескольких шаблонов


Другой способ отображения повторяющихся XML-элементов состоит в создании отдельного шаблона для каждого элемента с последующим вызовом этого шаблона с использованием XSL-элемента apply-templates. Пример использования подобной методики приведен в XSL-таблице стилей, представленной в Листинге 10.5. Эта таблица стилей предназначена для связывания с XML-документом из Листинга 10.4, XslDemo.xml; установить эту связь вы можете путем модификации инструкции xml-stylesheet в документе следующим образом:

<?xml-stylesheet type="text/xsl" href="XslDemo03.xsl"?>

<?xml version="1.0"?>

<!-- Имя файла: XslDemo03.xsl -->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <H2>Book Inventory</H2> <xsl:apply-templates select="INVENTORY/BOOK" /> </xsl:template>

<xsl:template match="BOOK"> <SPAN STYLE="font-style:italic">Title: </SPAN> <xsl:value-of select="TITLE"/><BR/> <SPAN STYLE="font-style:italic">Author: </SPAN> <xsl:value-of select="AUTHOR"/><BR/> <SPAN STYLE="font-style:italic">Binding type: </SPAN> <xsl:value-of select="BINDING"/><BR/> <SPAN STYLE="font-style:italic">Number of pages: </SPAN> <xsl:value-of select="PAGES"/><BR/> <SPAN STYLE="font-style:italic">Price: </SPAN> <xsl:value-of select="PRICE"/><P/> </xsl:template> </xsl:stylesheet>

Листинг 10.5. XslDemo03.xsl (html, txt)

Рассматриваемая в примере таблица стилей содержит два шаблона. Один шаблон содержит инструкции для отображения всего документа (путем установки match="/", указывающей на корневую часть документа). Все XSL-таблицы стилей требуют наличия такого шаблона. Другой шаблон содержит инструкции для отображения элемента BOOK (шаблон с установкой match="BOOK"). Сначала браузер обрабатывает шаблон, соответствующий корневой части элемента:




Содержание  Назад  Вперед