WebReference.com - Excerpt from Inside XSLT, Chapter 2, Part 4 (1/4) | WebReference

WebReference.com - Excerpt from Inside XSLT, Chapter 2, Part 4 (1/4)

current pageTo page 2To page 3To page 4
[next]

Inside XSLT

Accessing Node Values

You can access the value of a node with the <xsl:value-of> element. This element has two possible attributes:

The <xsl:value-of> element is always empty.

You can use the select attribute to indicate which node you want to get the value. For example, you might want to get the value of the <NAME> node in each <PLANET> element, which is the text enclosed in that node. You can do that like this:

Listing 2.4: Using <xsl:value-of>

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

The value of a node that contains text is just that text, so here is the result of applying this stylesheet to planets.xml:

<HTML>
   <P>Mercury</P>
   <P>Venus</P>
   <P>Earth</P>
</HTML>

Disable-Output-Escaping Attribute
Chapter 3 goes into more detail on the disable-output-escaping attribute of the <xsl:value-of> element.

Suppose that you want to do something a little more advanced, such as transforming the data in planets.xml into an HTML table in the new file planets.html, as you saw in Chapter 1, and which you can see in Figure 2.1. You can do that now with <xsl:value-of>.

It's important to consider one issue here. There is no formal restriction on the order of the <MASS>, <RADIUS>, <DAY> and <DISTANCE> elements in planets.xml, but it's important that these elements be processed in a particular order to match the headings of the table. For that reason, I will use the <xsl:value-of> elements in the order that the HTML table needs them.


current pageTo page 2To page 3To page 4
[next]

Created: October 4, 2001
Revised: October 4, 2001


URL: http://webreference.com/authoring/languages/xml/insidexslt/chap2/4/