Представление данных в формате XML

Страницы работы

Содержание работы

Таблицы стилей 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, родительскими элементами для которых являются элементы с именами cd и catalog, можно увидеть здесь:

My CD Collection

Title

Artist

Empire Burlesque

Bob Dylan

Результат этого примера также несколько отвлеченный, т.к. из всей информации, хранящейся в файле cdcatalog.xml, выбраны только два элемента.

Похожие материалы

Информация о работе