Последние учебники веб-разработки
 

XSLT - Трансформация


Пример исследования: Как преобразовать XML в XHTML с помощью XSLT?

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


Лист Декларация Правильный стиль

Корневой элемент , который объявляет документ быть XSL стилей является <xsl:stylesheet> или <xsl:transform> .

Note: <xsl:stylesheet> и <xsl:transform> полностью синонимами и любой из них может быть использован!

Правильный способ объявить лист XSL-стиль в соответствии с рекомендацией консорциума W3C XSLT является:

<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» указывает на официальное пространство имен W3C XSLT. Если вы используете это пространство имен, вы должны также включать в себя версию атрибута = «1.0».


Начните с документом Raw XML

Мы хотим , чтобы transform следующий XML - документ ("cdcatalog.xml") в XHTML:

<?xml version="1.0" encoding="UTF-8"?>
<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>

Viewing XML Files in IE, Chrome, Firefox, Safari, and Opera: Откройте файл XML (нажмите на ссылку ниже) - документ XML будет отображаться с цветовой кодировкой корня и дочерних элементов (except in Safari) . Часто есть плюс (+) или минус (-) слева от элементов , которые могут быть нажимали , чтобы развернуть или свернуть структуру элемента. Совет: Для просмотра необработанного источника XML, щелкните правой кнопкой мыши в файле XML и выберите «View Source»!

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


Создание XSL таблицы стилей

Затем вы создаете XSL Style Sheet ("cdcatalog.xsl") с помощью шаблона преобразования:

<?xml version="1.0" encoding="UTF-8"?>

<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>
    <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="UTF-8"?>
<?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 будет хорошо transform ваш XML в XHTML.

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

Детали приведенного выше примера будет рассказано в следующих главах.