Книга: XSLT

floor()

floor()

Функция floor — парная к функции ceiling. Она возвращает наибольшее целое, которое все еще меньше переданного ей числа. Другими словами, функция возвращает предыдущее целое. Функция применяется следующим образом:

number floor(number)

В этом примере я при помощи floor преобразую длительность дней планет в целые числа:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="/PLANETS">
  <HTML>
   .
   .
   .
  </HTML>
 </xsl:template>
 <xsl:template match="PLANET">
  <TR>
   <TD><xsl:value-of select="NAME"/></TD>
   <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>

Оглавление книги

Оглавление статьи/книги

Генерация: 1.226. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз