Шаблоны xsl:template match

Основным элементом для оформления является 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>

Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.