How to display XML attributes in HTML using XSLT?

XML attributes can be thought of as HTML element attributes, but in the case of XML, attributes and their values may be defined.

Create an XML document.

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="books06.xsl"?>
<books>
   <book ISBN="0321173481" author="Michael R. Sweet" />
   <book ISBN="0849371643" author="Gerald Farin" />
   <book ISBN="1558606696" author="David Rogers" />
   <book ISBN="1568810849" author="Gerald Farin" />
</books>


Create an XSL stylesheet.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8"/>
<xsl:template match="/">
<html>
<head><title>Books</title>
</head>
<body>
<table width="100%" border="1">
  <THEAD>
	<TR>
	   <TD width="50%"><B>ISBN</B></TD>
 	   <TD width="50%"><B>Author</B></TD>
	</TR>
  </THEAD> 
  <TBODY>
	<xsl:for-each select="books/book">
	<TR>	
	   <TD width="50%"><xsl:value-of select="@ISBN" /></TD>  	
	   <TD width="50%"><xsl:value-of select="@author" /></TD>
	</TR>
	</xsl:for-each>
  </TBODY>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>


Attributes are referred to in the same way as elements are, but the attribute's name is prefixed by a @ symbol.

<xsl:template match="/">


The example looks for the root element <books>. The tranformation starts from there.

<xsl:for-each select="books/book">


A row is created for each <book> element found inside the root of <books>.

<xsl:value-of select="@ISBN" /> <xsl:value-of select="@author" />


The ISBN and author attributes' is taken from XML and displayed in a table.

Back to XML FAQ
 

Other Views

corner

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.