Основным элементом для оформления является xsl:template match.
xsl:template match является основным для оформления XML дерева и вызывается каждый раз при совпадении имени узла XML.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!-- Шаблон для корневого узла --> <xsl:template match="/"> <!--Обработка данного узла --> </xsl:template> </xsl:stylesheet>
Рассмотрим простейший XML документ:
<document> <title>Заголовок 1</title> <structure id="1"> <value>aaa</value> </structure> <structure id="2"> <value>bbb</value> </structure> </document>
Теперь напишем простой XSL-шаблон для форматированного отображения XML данных:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/document"> <html> <head> <title><xsl:value-of select="title"/></title> </head> <body> <!-- Выбираем узлы structure --> <xsl:apply-templates select="structure" /> </body> </html> </xsl:template> <!-- Шаблон для отображения узлов /document/structure --> <xsl:template match="structure"> <p>Значение: <xsl:value-of disable-output-escaping="yes" select="value"/></p> </xsl:template> </xsl:stylesheet>
В результате получится HTML-документ:
<html> <head> <title>Заголовок 1</title> </head> <body> <p>Значение: aaa</p> <p>Значение: bbb</p> </body> </html>