Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
xsl.doc
Скачиваний:
93
Добавлен:
09.05.2015
Размер:
3.45 Mб
Скачать

Листинг 10.8. XslDemo06.Xsl (html, txt)

<?xml version="1.0"?>

<!-- File name: XslDemo06.xml -->

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

<INVENTORY>

<BOOK InStock="yes">

<TITLE>The Adventures of Huckleberry Finn</TITLE>

<AUTHOR Born="1835">Mark Twain</AUTHOR>

<BINDING>mass market paperback</BINDING>

<PAGES>298</PAGES>

<PRICE>$5.49</PRICE>

</BOOK>

<BOOK InStock="no">

<TITLE>Leaves of Grass</TITLE>

<AUTHOR Born="1819">Walt Whitman</AUTHOR>

<BINDING>hardcover</BINDING>

<PAGES>462</PAGES>

<PRICE>$7.75</PRICE>

</BOOK>

<BOOK InStock="yes">

<TITLE>The Marble Faun</TITLE>

<AUTHOR Born="1804">Nathaniel Hawthorne</AUTHOR>

<BINDING>trade paperback</BINDING>

<PAGES>473</PAGES>

<PRICE>$10.95</PRICE>

</BOOK>

<BOOK InStock="yes">

<TITLE>Moby-Dick</TITLE>

<AUTHOR Born="1819">Herman Melville</AUTHOR>

<BINDING>hardcover</BINDING>

<PAGES>724</PAGES>

<PRICE>$9.95</PRICE>

</BOOK>

</INVENTORY>

Листинг 10.9. XslDemo06.Xml (html, txt)

Каждый элемент BOOK в XML-документе содержит атрибут InStock, имеющий значение "yes" или "no", указывающий наличие или отсутствие книги на складе. Каждый элемент AUTHOR имеет атрибут Born, содержащий год рождения автора.

Вместо отображения значения атрибута InStock таблица стилей использует атрибут в условии фильтрации с целью избежать отображения элементовBOOK для книг, которых нет в наличии:

<xsl:for-each select="INVENTORY/BOOK[@InStock='yes']">

<!-- отображение каждого элемента BOOK -->

</xsl:for-each>

Таблица стилей отображает каждый элемент BOOK в виде HTML-таблицы, а не через список элементов SPAN, как в предыдущих примерах. Она отображает значение атрибута Born после значения элемента AUTHOR, используя XSL-элемент value-of. Следующие элементы создают ячейку таблицы для отображения этих значений:

<TD>

<xsl:value-of select="AUTHOR"/> <BR/>

(born <xsl:value-of select="AUTHOR/@Born"/>)

</TD>

На рисунке 10.7 показано как Internet Explorer 5 отображает документ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]