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



           

XSL и XSLT - часть 3


Значение атрибута match носит название образца (pattern). Образец в данном примере ("/") представляет корневой элемент всего XML-документа. Этот шаблон, таким образом, включает в себя инструкции для отображения всего XML-документа. Шаблон содержит два вида элементов - HTML и XSL. К HTML-элементам относится заголовок <H3>Таблица "Туры"</H3> и описание названия записи <SPAN STYLE="font-style:italic">Код тура: </SPAN>. Это обычные HTML-элементы, единственное, что нужно делать при работе с ними - добавлять закрывающийся тег для всех элементов. Элементы XSL и отвечают за вывод содержимого XML-документа на web-страницу, - например, здесь выводится содержимое дочернего элемента IDTOUR, который принадлежит родительскому элементу TOUR:

<xsl:value-of select="TOUR/IDTOUR"/>

Порядок выводимых элементов определяется именно расположением XSL-элементов, например, если поменять строки, описывающие IDTOUR и NAME, то соответствующим образом изменится web-страница (рис. 10.17 ):

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

 Теперь сначала выводится название тура, а затем код

Рис. 10.17.  Теперь сначала выводится название тура, а затем код

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

Рассмотрим теперь вывод переменного числа дочерних элементов, входящих в корневой элемент XML-документа. В таблице 10.8 приводится описание этой структуры.

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

XML-документ, XMLTour2.xmlXSL-таблица, XSLTour2.xsl
<?xml version="1.0" encoding="utf-8" ?>

<!-- Название файла XMLTour.xml --> <?xml-stylesheet type="text/xsl" href="XSLTour2.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:for-each select="TABLE/TOUR"> <BR/>

<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/> </xsl:for-each> </xsl:template> </xsl:stylesheet>

Вид в браузере Internet Explorer
<


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