Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Create list in transformation

File: Data.xml  <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="Transform.xslt" ?> <neighbours>   <planet name="Venus">     <description>     description     </description>     <diameter> 12104 km (7505 miles)</diameter>     <moons> 0</moons>     <meanTemp> 482C (900F)</meanTemp>     <oneDay> 243.01 earth days</oneDay>     <oneYear> 224.7 earth days</oneYear>   </planet> </neighbours> File: Transform.xslt <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   <xsl:output method="html" version="4.0" indent="yes"/>   <xsl:template match="/">     <xsl:apply-templates/>   </xsl:template>   <xsl:template match="text()"/>   <xsl:template match="neighbours">     <html>       <head>         <title>A simple HTML page</title>       </head>       <body>         <h1>Our neighbours</h1>         <xsl:apply-templates/>         <hr/>         2006.     </body>     </html>   </xsl:template>   <xsl:template match="planet">     <img width="100" height="100">       <xsl:attribute name="src"><xsl:value-of select="@name"/>.jpg       </xsl:attribute>     </img>     <h2>       <xsl:value-of select="@name"/>     </h2>     <xsl:value-of select="description/text()"/>     <ul>       <xsl:apply-templates/>     </ul>   </xsl:template>   <xsl:template match="diameter">     <li>       <strong>Diameter: </strong>       <xsl:value-of select="text()"/>     </li>   </xsl:template>   <xsl:template match="moons">     <li>       <strong>Moons: </strong>       <xsl:value-of select="text()"/>     </li>   </xsl:template>   <xsl:template match="meanTemp">     <li>       <strong>Mean temperature: </strong>       <xsl:value-of select="text()"/>     </li>   </xsl:template>   <xsl:template match="oneDay">     <li>       <strong>Length of one day: </strong>       <xsl:value-of select="text()"/>     </li>   </xsl:template>   <xsl:template match="oneYear">     <li>       <strong>Length of one year: </strong>       <xsl:value-of select="text()"/>     </li>   </xsl:template> </xsl:stylesheet> Output: <html>    <head>       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">       <title>A simple HTML page</title></head>    <body>       <h1>Our neighbours</h1><img width="100" height="100" src="Venus.jpg%0A      "><h2>Venus</h2>       description              <ul>          <li><strong>Diameter: </strong> 12104 km (7505 miles)          </li>          <li><strong>Moons: </strong> 0          </li>          <li><strong>Mean temperature: </strong> 482C (900F)          </li>          <li><strong>Length of one day: </strong> 243.01 earth days          </li>          <li><strong>Length of one year: </strong> 224.7 earth days          </li>       </ul>       <hr>       2006.           </body> </html>