Шрифт:
<TD><xsl:apply-templates select="MASS"/></TD>
<TD><xsl:apply-templates select="RADIUS"/></TD>
<TD><xsl:apply-templates select="DAY"/></TD>
</TR>
</xsl:template>
<xsl:template match="MASS">
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</xsl:template>
<xsl:template match="RADIUS">
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</xsl:template>
<xsl:template match="DAY">
<xsl:value-of select="floor(.)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</xsl:template>
</xsl:stylesheet>
А вот результирующий документ:
<HTML>
<HEAD>
<TITLE>
The Planets Table
</TITLE>
</HEAD>
<BODY>
<H1>
The Planets Table
</H1>
<TABLE BORDER="2">
<TR>
<TD>Name</TD>
<TD>Mass</TD>
<TD>Radius</TD>
<TD>Day</TD>
</TR>
<TR>
<TD>Mercury</TD>
<TD>.0553 (Earth = 1)</TD>
<TD>1516 miles</TD>
<TD>58 days</TD>
</TR>
<TR>
<TD>Venus</TD>
<TD>.815 (Earth = 1)</TD>
<TD>3716 miles</TD>
<TD>116 days</TD>
</TR>
<TR>
<TD>Earth</TD>
<TD>1 (Earth = 1)</TD>
<TD>2107 miles</TD>
<TD>1 days</TD>
</TR>
</TABLE>
</BODY>
</HTML>
number
Функция
number
приводит свой аргумент к числу. Функция применяется следующим образом: number number(object?)
В этом примере я передаю
number
строку: number("456.7")
Это выражение возвращает число 456.7. Если вы попытаетесь преобразовать что-то, что
number
не сможет перевести в число, функция вернет значение XPath NaN
(Not a Number, не число). NaN
— корректное значение, которое можно проверять в выражениях Xpath. round
Функция
round
округляет переданное ей значение. Функция применяется следующим образом: number round(number)
Например,
round(3.1415926535)
возвращает 3, round(4.5)
возвращает 5 и round(-1.5)
возвращает -1. sum
Функция
sum
суммирует численные значения набора узлов и возвращает результат. Функция применяется следующим образом: number sum(node-set)
Взгляните на следующий пример из главы 4, который находит средние массы планет в
planets.xml
: <?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>