Emacs для начинающих

       

Встречаем XSLT


Прежде всего следует указать, что наш документ использует стилистику XML и импортировать пространство имен XML:

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

...

</xsl:stylesheet>

Далее, основным элементом, который мы будем использовать, является xsl:template match. Этот элемент вызывается всякий раз, когда имя xml-узла совпадает со значением атрибута xsl:template match:

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

<xsl:template match="/"> <!-- оператор '/' взят из XPath и ассоциируется с корневым элементом --> <!-- выполнить какие либо действия с вложенными узлами --> </xsl:template>

</xsl:stylesheet>

Внутри элемента xsl:template match следует указать вложенные узлы элементом: xsl:value-of select. Давайте для начала создадим xml-документ, содержащий некоторую информацию:

<!-- hello.xml -->

<hello> <text>Hello World!</text> </hello>

Так должно выглядеть xslt-преобразование, которое вынимает узел text из корневого элемента (hello):

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

<xsl:template match="/"> <html> <head> <title> <xsl:value-of select="//text"/> </title> <!-- в данном случае '//text' это: 'hello/text', но, поскольку я ленив сам по себе, я делаю это проще, используя выражение XPath --> </head>

<body> <p> Содержимое узла <b>text</b> корневого элемента: <b><xsl:value-of select="//text"/></b> </p> </body> </html> </xsl:template>

</xsl:stylesheet>

В результате получится следующий HTML-документ:

<!-- hello.html -->

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Hello World! </title> </head> <body> <p> Содержимое узла <b>text</b> корневого элемента: <b>Hello World!</b> </p> </body> </html>



Содержание раздела