Основы XML




Глава 3 - часть 3


Если вы опустите атрибут select для XSL-элемента value-of, элемент будет осуществлять вывод текстового содержимого плюс текстовое содержимое всех дочерних элементов в текущий элемент. (В нашем примере, поскольку текущим является корневой элемент, пропуск атрибута select приведет к выводу всех символьных данных в XML-документ.)

Целью представленного в рассматриваемом примере шаблона элементов является отображение текста названия для каждого из дочерних XML-элементов в документе (AUTHOR, TITLE, PRICE, BINDING и PAGES) плюс текстового содержимого каждого элемента. Обратите внимание, что порядок элементов value-of в шаблоне определяет порядок, в котором браузер отображает эти элементы. Таким образом, даже из этой простой таблицы стилей вы можете понять, что XSL-таблица стилей является гораздо более гибкой, чем CSS, которая всегда отображает элементы в том порядке, в котором они следуют в документе.

Итак, как вы могли заметить, XSL-таблица стилей сообщает браузеру, как отобразить XML-документ путем избирательного преобразования XML-элементов в блок HTML-разметки, который воспринимается и отображается браузером аналогично разметке, содержащейся на HTML-странице. Заметим, однако, что вам не нужно включать в XSL-шаблон элементы, представляющие элементы HTML или BODY, которые являются стандартными составными частями HTML-страницы, поскольку браузер сам эффективно их формирует.

На рисунке 10.2 показано как браузер генерирует первую часть блока HTML-разметки для документа и таблицы стилей из Листингов 10.1 и 10.2.


Рис. 10.2. 

XML-документ

<AUTHOR> <FIRSTNAME>Herman</FIRSTNAME <LASTNAME>Melville</LASTNAME> </AUTHOR>

XSL-таблица стилей

<H2>Book Description</H2> <SPAN STYLE="font-style:italic">Author: </SPAN> <xsl:value-of select="BOOK/AUTHOR"/><BR/>

Отображаемый HTML

<H2>Book Description</H2> <SPAN STYLE="font-style:italic">Author: </SPAN> Hermann Melville




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