АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Отображение переменного числа элементов

Читайте также:
  1. B) Числа
  2. O добавление новых элементов, согласующихся с существующими
  3. Rego Elementum (Путь Элементов)
  4. V1: Теория электрических и магнитных цепей переменного тока
  5. Алгоритм, использующий разложение числа на простые множители
  6. Алфавит Maple-языка и его синтаксис. Основные объекты (определение, ввод, действия с ними). Числа. Обыкновенные дроби.
  7. Анимация элементов Web-страниц
  8. Атомные веса природных элементов. Изотопный состав элементов. Дефект массы.
  9. Атомные и ионные радиусы химических элементов
  10. Безопасность элементов конструкции электропривода
  11. Брячислав
  12. В) для замены элементов на однотипные (стержень на стержень , пластинка на оболочку и. т. д)

В примере, рассмотренном в предыдущем разделе (см. Листинг 10.2), XML-документ содержал только один элемент BOOK. В случае, если документ содержит несколько элементов BOOK, методика, с которой вы познакомились в предыдущем разделе, способна отобразить только один из элементов. Возьмем, для примера, XML-документ, содержащий следующий элемент Документ:

<INVENTORY>

<BOOK>

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

<AUTHOR>

<FIRSTNAME>Mark</FIRSTNAME>

<LASTNAME>Twain</LASTNAME>

</AUTHOR>

<BINDING>mass market paperback</BINDING>

<PAGES>298</PAGES>

<PRICE>$5.49</PRICE>

</BOOK>

<BOOK>

<TITLE>The Adventures of Tom Sawyer</TITLE>

<AUTHOR>

<FIRSTNAME>Mark</FIRSTNAME>

<LASTNAME>Twain</LASTNAME>

</AUTHOR>

<BINDING>mass market paperback</BINDING>

<PAGES>205</PAGES>

<PRICE>$4.75</PRICE>

</BOOK>

<BOOK>

<TITLE>The Ambassadors</TITLE>

<AUTHOR>

<FIRSTNAME>Henry</FIRSTNAME>

<LASTNAME>James</LASTNAME>

</AUTHOR>

<BINDING>mass market paperback</BINDING>

<PAGES>305</PAGES>

<PRICE>$5.95</PRICE>

</BOOK>

</INVENTORY>

Предположим, что таблица стилей, используемая для отображения этого документа, содержит следующий шаблон:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<H2>Book Description</H2>

<SPAN STYLE="font-style:italic">Author: </SPAN>

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

<SPAN STYLE="font-style:italic">Title: </SPAN>

<xsl:value-of select="INVENTORY/BOOK/TITLE"/><BR/>

<SPAN STYLE="font-style:italic">Price: </SPAN>

<xsl:value-of select="INVENTORY/BOOK/PRICE"/><BR/>

<SPAN STYLE="font-style:italic">Binding type: </SPAN>

<xsl:value-of select="INVENTORY/BOOK/BINDING"/><BR/>

<SPAN STYLE="font-style:italic">Number of pages: </SPAN>

<xsl:value-of select="INVENTORY/BOOK/PAGES"/>

</xsl:template>

</xsl:stylesheet>

Этот шаблон использует методику, описанную в предыдущем разделе. Обратите внимание, что образец присваиваемых каждому атрибуту selectначинается с указания элемента Документ, в данном случае INVENTORY (например, "INVENTORY/BOOK/AUTHOR").

Каждый образец, однако, соответствует трем различным элементам. Например, "INVENTORY/BOOK/AUTHOR" соответствует элементу AUTHOR для всех трех элементов BOOK. В подобной ситуации браузер использует только первый из соответствующих элементов. Таким образом, таблица стилей отобразит содержимое только первого элемента BOOK, как показано на рисунке 10.3.


Рис. 10.3.

Чтобы отобразить все отвечающие образцу элементы, следует использовать XSL-элемент for-each, который вызывает повторный вывод для каждого из содержащихся в XML-файле элементов. XSL-таблица стилей, представленная в Листинге 10.3, демонстрирует данную методику. Эта таблица стилей связана с XML-документом, содержащимся в Листинге 10.4.

<?xml version="1.0"?>

 

<!-- File name: XslDemo02.xsl -->

 

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<H2>Book Inventory</H2>

<xsl:for-each select="INVENTORY/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:for-each>

</xsl:template>

</xsl:stylesheet>


1 | 2 | 3 | 4 | 5 | 6 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)