Преобразование XSLT

Исследовательский пример: как использовать XSLT для преобразования XML в XHTML.

Мы будем объяснять детали этого примера в следующем разделе.

Правильное объявление стиля

Документ должен быть объявлен корневым элементом XSL-шаблона как <xsl:stylesheet> или <xsl:transform>.

Комментарий: <xsl:stylesheet> и <xsl:transform> полны идентичны и могут быть использованы!

Согласно стандарту XSLT W3C, правильным способом объявления XSL-шаблона является:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Или:

<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Чтобы получить доступ к элементам, атрибутам и свойствам XSLT,我们必须 объявить命名орию XSLT в начале документа.

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" указывает на официальную命名орию XSLT W3C. Если вы используете эту命名орию, вы должны включить атрибут version="1.0".

Начнем с исходного XML-документа

Теперь мы хотим преобразовать следующий документ XML ("cdcatalog.xml") в XHTML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
.
.
.
</catalog>

Просмотр файлов XML в Internet Explorer и Firefox:

Откройте файл XML (обычно это делается по клику на ссылку) - документ XML будет отображаться в виде цветного кода с показом корневых элементов и их подэлементов. Нажмите на плюс или минус слева от элемента, чтобы открыть или скрыть структуру элемента. Если вы хотите увидеть исходный файл XML (без плюсов и минусов), выберите "Просмотр исходного кода страницы" в меню браузера.

Просмотр файлов XML в Netscape 6:

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

Просмотрите XML-файл в Opera 7:

Откройте XML-файл, затем щелкните правой кнопкой мыши в XML-файле и выберите "Сценарий"/"Просмотреть исходный код". XML-документ будет отображаться в виде纯 текста.

Просмотрите "cdcatalog.xml".

Создайте XSL-шаблон

Затем создайте XSL-шаблон с преобразовательной моделью ("cdcatalog.xsl"):

<?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>Моя коллекция компакт-дисков</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
      <th align="left">Title</th>
      <th align="left">Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

Просмотрите "cdcatalog.xsl"

Ссылка на XSL-шаблон к XML-документу

Добавить ссылку на XSL-шаблон к XML-документу ("cdcatalog.xml"):

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
.
.
.
</catalog>

Если ваш браузер совместим с XSLT, он без проблем преобразует ваш XML Преобразовать в XHTML.

Просмотр результатов.

Мы объясним детали примера в следующем разделе.