Click here to Skip to main content
15,886,576 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
hi all.
i m trying to transforming a XML doc into a HTML. and trying to write a XSLT file for this. may i got help in this scenario..
if xml is like:
XML
<catalog>
	<cd>
		<title>Empire Burlesque</title>
		<artist>Bob Dylan</artist>
		<country>USA</country>
		
	</cd>
</catalog>


the xslt woulb be like this:
XML
<xsl:template match="/">
  <html>
  <body>
  <h2>My CD Collection</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>Title</th>
        <th>Artist</th>
      </tr>
      <xsl:for-each select="catalog/cd">
      <tr>
        <td><xsl:value-of select="title"/></td>
        <td><xsl:value-of select="artist"/></td>
      </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>


but if xml is like this:
XML
<catalog>
	<cd>
		<title name="Empire Burlesqu"/>
		<artist name="Bob Dylan"/>
		<country name="USA"/>
		
	</cd>
</catalog>


how would be the XSLT for this.
Posted

1 solution

Try this, it should work

XML
<xsl:template match="/">
  <html>
  <body>
  <h2>My CD Collection</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>Title</th>
        <th>Artist</th>
      </tr>
      <xsl:for-each select="catalog/cd">
      <tr>
        <td><xsl:value-of select="title/@name"/></td>
        <td><xsl:value-of select="artist/@name"/></td>
        <td><xsl:value-of select="country/@name"/></td>
      </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900