<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns='http://www.w3.org/TR/xhtml1/strict'>
<xsl:strip-space elements='doc chapter section'/>
<xsl:output method='xml' indent='yes' encoding='iso-8859-1' />
<xsl:template match='doc'>
<html>
<head>
<title>
<xsl:value-of select='title'/>
</title>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match='doc/title'>
<h1> <xsl:apply-templates/> </h1>
</xsl:template>
<xsl:template match='chapter/title'>
<h2> <xsl:apply-templates/> </h2>
</xsl:template>
<xsl:template match='section/title'>
<h3> <xsl:apply-templates/> </h3>
</xsl:template>
<xsl:template match='para'>
<p> <xsl:apply-templates/> </p>
</xsl:template>
<xsl:template match='note'>
<p class='note'>
<b>NOTE: </b> <xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match='emph'>
<em> <xsl:apply-templates/> </em>
</xsl:template>
</xsl:stylesheet>
Со следующим входным документом
<!DOCTYPE doc SYSTEM «doc.dtd»>
<doc>
<title>Document Title</title>
<chapter>
<title>Chapter Title</title>
<section>
<title>Section Title</title>
<para>This is a test.</para>
<note>This is a note.</note>
</section>
<section>
<title>Another Section Title</title>
<para>This is <emph>another</emph> test.</para>
<note>This is another note.</note>
</section>
</chapter>
</doc>
стиль должен дать следующий результат
<?xml version='1.0' encoding='iso-8859-1'?>
<html xmlns='http://www.w3.org/TR/xhtml1/strict'> <head>
<title>Document Title</title>
</head>
<body>
<h1>Document Title</h1>
<h2>Chapter Title</h2>
<h3>Section Title</h3>
<p>This is a test.</p>
<p class='note'> <b>NOTE: </b>This is a note.</p>
<h3>Another Section Title</h3>
<p>This is <em>another</em> test.</p>
<p class='note'> <b>NOTE: </b>This is another note.</p>
</body>
</html>
d.2 Пример данных
Для неких данных, представленных в формате XML, данный пример показывает преобразование с помощью трех различных стилей XSLT чтобы получить три различных представления этих данных в форматах HTML, SVG и VRML.
Входные данные:
<sales>
<division id='North'>
<revenue>10</revenue>
<growth>9</growth>
<bonus>7</bonus>