File: Data.xml <?xml version="1.0" encoding="utf-8"?> <!-- tutorial.xml --> <tutorial> <section> <title>Java</title> <panel> <title>Introduction</title> <!-- ... --> </panel> <panel> <title>Swing</title> <!-- ... --> </panel> <panel> <title>GUI</title> <!-- ... --> </panel> <panel> <title>2D animation</title> <!-- ... --> </panel> </section> </tutorial> File: Transform.xslt <?xml version="1.0" encoding="utf-8"?> <!-- tutorial.xsl --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="tutorial"> <xsl:for-each select="section"> <h1> <xsl:text>Section </xsl:text> <xsl:value-of select="position()"/> <xsl:text>. </xsl:text> <xsl:value-of select="title"/> </h1> <ul> <xsl:for-each select="panel"> <li> <xsl:value-of select="position()"/> <xsl:text>. </xsl:text> <xsl:value-of select="title"/> </li> </xsl:for-each> </ul> </xsl:for-each> </xsl:template> </xsl:stylesheet> Output: <h1>Section 1. Java</h1> <ul> <li>1. Introduction</li> <li>2. Swing</li> <li>3. GUI</li> <li>4. 2D animation</li> </ul>