Технология Microsoft ADO.NET



           

XSL и XSLT - часть 4


/p>

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

<xsl:for-each select="TABLE/TOUR">

Далее, внутри for-each задается описание текущего элемента:

<xsl:for-each select="TABLE/TOUR"> <BR/> <SPAN STYLE="font-style:italic">Код тура: </SPAN> <xsl:value-of select="IDTOUR"/><BR/> ... </xsl:for-each>

В результате выводятся данные из всех элементов TOUR, найденных в документе, независимо от того, сколько этих элементов содержит документ.

В программном обеспечении к курсу вы найдете файлы XMLTour2.xml и XSLTour2.xsl в папке SomeElement (Code\Glava5\XSL\SomeElement).

Другой способ отображения повторяющихся XML-элементов состоит в создании отдельного шаблона для каждого элемента с последующим вызовом этого шаблона. Пример использования подобной методики приведен в таблице 10.9.

Таблица 10.9. XSL-таблица с двумя шаблонами и несколькими элементами. Фрагменты XSL-таблицы, одинаковые с таблицей XSLTour2.xsl, выделены фоновым цветом.

XML-документ, XMLTour3.xmlXSL-таблица, XSLTour3.xsl

<?xml version="1.0" encoding="utf-8" ?>

<!-- Название файла XMLTour.xml --> <?xml-stylesheet type= "text/xsl" href="XSLTour3.xsl"?>

<TABLE> <TOUR> <IDTOUR>1</IDTOUR> <NAME>Кипр</NAME> <PRICE>25 000,00р. </PRICE> <INFORMATION>В стоимость двух взрослых путевок входит цена одной детской (до 7лет)</INFORMATION> </TOUR> <TOUR> <IDTOUR>2</IDTOUR> <NAME>Греция</NAME> <PRICE>32 000,00р. </PRICE> <INFORMATION>В августе и сентябре действуют специальные скидки</INFORMATION> </TOUR> <TOUR> <IDTOUR>3</IDTOUR> <NAME>Таиланд</NAME> <PRICE>30 000,00р.</PRICE> <INFORMATION>Не включая стоимость авиабилета</INFORMATION> </TOUR> <TOUR> <IDTOUR>4</IDTOUR> <NAME>Италия</NAME> <PRICE>26 000,00р.</PRICE> <INFORMATION>Завтрак в отеле включен в стоимость путевки</INFORMATION> </TOUR> <TOUR> <IDTOUR>5</IDTOUR> <NAME>Франция</NAME> <PRICE>27 000,00р.</PRICE> <INFORMATION>Дополнительные экскурсии не входят в стоимость путевки</INFORMATION> </TOUR> </TABLE>

<?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="/"> <H3>Таблица "Туры"</H3> <xsl:apply-templates select="TABLE/TOUR"/>

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

<P> <SPAN STYLE= "font-style:italic">Код тура: </SPAN> <xsl:value-of select= "IDTOUR"/><BR/> <SPAN STYLE= "font-style:italic">Название:</SPAN> <xsl:value-of select = "NAME"/><BR/> <SPAN STYLE= "font-style:italic"> Цена: </SPAN> <xsl:value-of select= "PRICE"/><BR/> <SPAN STYLE= "font-style:italic">Информация:</SPAN> <xsl:value-of select= "INFORMATION"/><BR/> </P>

</xsl:template> </xsl:stylesheet>

<


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