Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Use value-of to get element value from different level

File: Data.xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="Transform.xslt"?> <BOOK>    <TITLE>Jack</TITLE>    <AUTHOR>       <FIRSTNAME>Jack</FIRSTNAME>       <LASTNAME>Smith</LASTNAME>    </AUTHOR>    <BINDING>hardcover</BINDING>    <PAGES>724</PAGES>    <PRICE>$9.95</PRICE> </BOOK> File: Transform.xslt <?xml version="1.0"?> <xsl:stylesheet    version="1.0"     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    <xsl:template match="/">  <!-- match the XSLT root node -->       <HTML>       <HEAD>          <TITLE>Book Description</TITLE>       </HEAD>       <BODY>       <H2>Book Description</H2>       <SPAN STYLE="font-style:italic">Author: </SPAN>       <xsl:value-of select="BOOK/AUTHOR"/><BR/>       <SPAN STYLE="font-style:italic">Title: </SPAN>       <xsl:value-of select="BOOK/TITLE"/><BR/>       <SPAN STYLE="font-style:italic">Price: </SPAN>       <xsl:value-of select="BOOK/PRICE"/><BR/>       <SPAN STYLE="font-style:italic">Binding type: </SPAN>       <xsl:value-of select="BOOK/BINDING"/><BR/>       <SPAN STYLE="font-style:italic">Number of pages: </SPAN>       <xsl:value-of select="BOOK/PAGES"/>       </BODY>       </HTML>    </xsl:template> </xsl:stylesheet> Output: <HTML>    <HEAD>       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">       <TITLE>Book Description</TITLE>    </HEAD>    <BODY>       <H2>Book Description</H2><SPAN STYLE="font-style:italic">Author: </SPAN>       Jack       Smith       <BR><SPAN STYLE="font-style:italic">Title: </SPAN>Jack<BR><SPAN STYLE="font-style:italic">Price: </SPAN>$9.95<BR><SPAN STYLE="font-style:italic">Binding type: </SPAN>hardcover<BR><SPAN STYLE="font-style:italic">Number of pages: </SPAN>724    </BODY> </HTML>