Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Define a variable and then use it in for loop

File: Data.xml  <?xml version="1.0"?> <programme>    <opera>       <title>A</title>       <composer>Mozart</composer>       <date>1787</date>    </opera>    <composer name="Mozart">       <fullname>Mozart</fullname>       <born>1756</born>       <died>1791</died>    </composer> </programme> File: Transform.xslt <html xmlns:xsl="http://www.w3.org/1999/XSL/Transform"   xsl:version="1.0">   <body>     <center>       <h1>Programme</h1>       <xsl:for-each select="/programme/composer">         <h2>           <xsl:value-of             select="concat(fullname, ' (', born, '-', died, ')')" />         </h2>         <xsl:variable name="c" select="." />         <xsl:for-each           select="/programme/opera[composer=$c/@name]">           <p>             <xsl:value-of select="title" />           </p>         </xsl:for-each>       </xsl:for-each>     </center>   </body> </html> Output: <html>    <body>       <center>          <h1>Programme</h1>          <h2>Mozart (1756-1791)</h2>          <p>A</p>       </center>    </body> </html>