Таблицы стилей XSL представляют собой набор правил, называемых шаблонами.
Каждый шаблон имеет вид
<xsl:template match=”node”>Правила</xsl:template
>
и содержит в себе правила обработки информации, содержащейся в XML-файле в элементе, начинающемся с тега, имя которого указано после атрибута match. Атрибут matchиспользуется дляустановления ассоциативной связи шаблонас элементом XML-файла. Этот же атрибут может быть использован для указания, что правила распространяются на весь XML-файл (т.е. на все его элементы). В этом случае его значение принимает следующий вид: match=”/”.
Следующая таблица стилей XSL содержит набор правил для представления на языке HTML всего XML-файла с именем cdcatalog.xml.
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<tr>
<td>.</td>
<td>.</td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Так как таблица стилей XSL сама является XML-документом, то она начинается с xml-объявления:
<?xml version="1.0" encoding="ISO-8859-1"?>.
Тэг <xsl:stylesheet> во второй и третьей строках объявляет начало таблицы стилей.
Тэг <xsl:template> в четвертой строке определяет начало шаблона, match="/" связывает этот шаблон с корневым элементом (/) XML-документа.
Остальная часть документа (за исключением последних двух строк) представляет собой правила, содержащиеся в шаблоне и предназначенные для обработки информации во всём XML-документе. Предпоследняя строка завершает шаблон, а последняя – таблицу стилей.
Результат применения таблицы стилей будет выглядеть следующим образом:
My CD Collection
Title |
Artist |
. |
. |
Результат этого примера несколько отвлеченный, т.к. для вывода на экран не была использована информация из XML-документа cdcatalog.xml.
В следующем разделе будет показано как использовать элементы типа <xsl:value-of> для выбора информации из XML-документа.
Элементы типа <xsl:value-of> извлекают содержимое из элемента XML-документа, указывая имя элемента с помощью атрибута select. В нижеследующем примере извлеченная информация используется для формирования HTML-файла, предназначенного для просмотра в программе-броузере.
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <tr> <td><xsl:value-of select="catalog/cd/title"/></td> <td><xsl:value-of select="catalog/cd/artist"/></td> </tr> </table> </body> </html> </xsl:template> </xsl:stylesheet> |
Примечание: значение атрибута select представляет собой XPath-выражение. Оно формируется аналогично выражению для представления пути в файловой системе, где знак прямого слэша (/) означает начало имени подкаталога.
Title |
Artist |
Empire Burlesque |
Bob Dylan |
Результат этого примера также несколько отвлеченный, т.к. из всей информации, хранящейся в файле cdcatalog.xml, выбраны только два элемента.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.