Встречаем 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>