Getting the Value of Nodes with xsl:value-of

Getting the Value of Nodes with xsl:value-of

In this example, I'll extract the name of each planet and insert that name into the output document. To get the name of each planet, I'll use the <xsl:value-of> element in a template targeted at the <PLANET> element. I'll select the <NAME> element with the select attribute, like this:

Listing ch13_07.xsl
 <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">     <xsl:template match="PLANETS">         <HTML>             <xsl:apply-templates/>         </HTML>     </xsl:template>     <xsl:template match="PLANET">  <xsl:value-of select="NAME"/>  </xsl:template> </xsl:stylesheet> 

Using select like this, you can select nodes. The select attribute is much like the match attribute of the <xsl:template> element, except that the select attribute is more powerful: You can specify the node or nodes to select using the full XPath specification, as we'll see in this chapter. XPath lets you select a node or a set of nodes in an XML document. The select attribute is an attribute of the <xsl:apply-templates> , <xsl:value-of> , <xsl:for-each> , and <xsl: sort > elements, all of which we'll also see in this chapter.

Applying the previous stylesheet, the <xsl:value-of select="NAME"/> element directs the XSLT processor to insert the name of each planet into the output document. That document looks like this:

 <HTML>    Mercury   Venus   Earth </HTML> 


Real World XML
Real World XML (2nd Edition)
ISBN: 0735712867
EAN: 2147483647
Year: 2005
Pages: 440
Authors: Steve Holzner

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net