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

Листинг 10.4. XslDemo.xml (html, txt)

Читайте также:
  1. Листинг 10.3. XslDemo02.xsl (html, txt)
  2. Листинг 10.5. XslDemo03.xsl (html, txt)
  3. Листинг 10.9. XslDemo06.xml (html, txt)
  4. Листинг SQL-запросов с результатами их выполнения
  5. Листинг Unit2(процедуры)
  6. Листинг Unit4(процедуры)
  7. Листинг Unit5(процедуры)
  8. Листинг Unit9(процедуры)
  9. ЛИСТИНГИ (СПИСКИ)

Шаблон в таблице стилей из Листинга 10.3 содержит следующий элемент for-each:

<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>

Элемент for-each выполняет две основные задачи:

  • осуществляет вывод блока элементов, содержащихся внутри элемента for-each, повторяя его для каждого XML-элемента в документе, отвечающего образцу, присвоенному атрибуту select элемента for-each. В данном примере цикл выполняется по одному разу для каждого элемента BOOK, найденного в элементе Документ с именем INVENTORY. Образец, присваиваемый атрибуту select элемента for-each, работает точно так же, как образец, присваиваемый атрибуту select элемента value-of;
  • внутри элемента for-each задает текущий элемент, устанавливаемый атрибутом select элемента for-each (/INVENTORY/BOOK в нашем примере указывает на элемент BOOK внутри элемента INVENTORY, входящего в корневой элемент документа) следующим образом:

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

· <xsl:template match="/">

· <!-- Здесь текущим является корневой "элемент"

· документа, "/". -->

· <xsl:for-each select="INVENTORY/BOOK">

· <!-- Здесь текущим является элемент /INVENTORY/BOOK. -->

· </xsl:for-each>

· </xsl:template>

</xsl:stylesheet>

Аналогично, внутри элемента for-each каждый дочерний элемент может быть выбран путем задания образца, содержащего только имя элемента, например:

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

В результате выводятся данные из всех элементов BOOK, найденных в документе, независимо от того, сколько этих элементов содержит документ. На рисунке 10.4 показано как выглядит результат в Internet Explorer 5. (В окне отображены только первые три элемента BOOK; чтобы отобразить остальные, необходимо осуществить прокрутку вниз.)


Рис. 10.4.


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

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



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