Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Use for-each loop

File: Data.xml <?xml version="1.0"?> <Objects>   <Object name="Car">     <Characteristic>A</Characteristic>     <Characteristic>B</Characteristic>     <Characteristic>C</Characteristic>     <Characteristic>D</Characteristic>   </Object>   <Object name="Orange">     <Characteristic>1</Characteristic>     <Characteristic>2</Characteristic>     <Characteristic>3</Characteristic>     <Characteristic>4</Characteristic>   </Object> </Objects> File: Transform.xslt <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"   version="1.0">   <xsl:template match="/">     <html>       <head>         <title>title</title>       </head>       <body>         <h3>           Characteristics of           <xsl:value-of select="Objects/Object/@name" />         </h3>         <xsl:apply-templates select="/Objects/Object" />       </body>     </html>   </xsl:template>   <xsl:template match="Object">     <ul>       <xsl:for-each select="Characteristic">         <li>           <xsl:value-of select="." />         </li>       </xsl:for-each>     </ul>   </xsl:template> </xsl:stylesheet> Output: <html>    <head>       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">       <title>title</title>    </head>    <body>       <h3>                    Characteristics of                    Car       </h3>       <ul>          <li>A</li>          <li>B</li>          <li>C</li>          <li>D</li>       </ul>       <ul>          <li>1</li>          <li>2</li>          <li>3</li>          <li>4</li>       </ul>    </body> </html>