Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Use for-each loop to output list items

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>