Доступ к значениям узлов

Доступ к значениям узлов

Элемент <xsl:value-of> записывает в результирующий документ строковое значение выражения; в частности, с его помощью можно возвратить значение узла, которым для элемента будет заключенный в элемент текст. Атрибуту выбора элемента <xsl:value-of> можно присвоить выражение XPath, задающее узел или набор узлов. В шаблоне, задающем элементы <PLANET>, обратиться к дочернему элементу <MASS> можно при помощи выражения XPath "child::MASS". Как мы увидим в главе 4, выражения XPath можно писать разными способами: например, вместо "child::MASS" можно просто написать "MASS". Таким образом, получить данные дочерних элементов, таких как <MASS>, <DAY> и т.д., можно следующим способом (листинг 3.1).

Листинг 3.1. Полная версия planets.xsl

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:template match="/PLANETS">

  <HTML>

   <HEAD>

    <TITLE>

     The Planets Table

    </TITLE>

   </HEAD>

   <BODY>

    <Н1>

     The Planets Table

    </Н1>

    <TABLE BORDER="2">

     <TR>

      <TD>Name</TD>

      <TD>Mass</TD>

      <TD>Radius</TD>

      <TD>Day</TD>

     </TR>

     <xsl:apply-templates/>

    </TABLE>

   </BODY>

  </HTML>

 </xsl:template>

 <xsl:template match="PLANET">

  <TR>

   <TD><xsl:value-of select="NAME"/></TD>

   <TD><xsl:value-of select="MASS"/></TD>

   <TD><xsl:value-of select="RADIUS"/></TD>

   <TD><xsl:value-of select="DAY"/></TD>

  </TR>

 </xsl:template>

</xsl:stylesheet>