File: Data.xml
<book>
<chapter>
<title>A</title>
<para>para1</para>
<para>para2</para>
</chapter>
<chapter>
<title>B</title>
<para>line 2</para>
<para>line 3</para>
</chapter>
<afterword>
<para>line 4</para>
</afterword>
<appendix>
<title>The Author</title>
<para>line 5</para>
<para>line 6</para>
</appendix>
</book>
File: Transform.xslt
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="html" />
<xsl:template match="para">
<h1>Unaccounted for para element</h1>
<h2>Ancestors</h2>
<xsl:for-each select="ancestor::*">
<xsl:value-of select="name()" />
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
<h2>Content</h2>
<xsl:apply-templates />
</xsl:template>
<xsl:template match="book">
<html>
<body>
<xsl:apply-templates />
</body>
</html>
</xsl:template>
<xsl:template match="title">
<h1>
<xsl:apply-templates />
</h1>
</xsl:template>
<xsl:template match="chapter/para">
<paragraph>
<font face="times">
<xsl:apply-templates />
</font>
</paragraph>
</xsl:template>
<xsl:template match="appendix/para">
<paragraph>
<font face="arial">
<xsl:apply-templates />
</font>
</paragraph>
</xsl:template>
</xsl:stylesheet>
|