Главная -> XML&... -> XSLT в примерах 
>> Страница 40 << | Назад | Вперед | Содержание | Указатель

Функции ceilng(), floor() и round() преобразуют числа с плавающей запятой в целые определенным способом.

Преобразование 1

Исходный XML
<source>

<number>6</number>
<number>3.8</number>
<number>1.234</number>
<number>-6</number>
<number>-3.8</number>
<number>-1.234</number>

</source>

Результат
<TABLE border="1">
  <TR>
     <TH>number</TH>
     <TH>floor</TH>
     <TH>ceiling</TH>
     <TH>round</TH>
  </TR>
  <TR>
     <TD>6</TD>
     <TD>6</TD>
     <TD>6</TD>
     <TD>6</TD>
  </TR>
  <TR>
     <TD>3.8</TD>
     <TD>3</TD>
     <TD>4</TD>
     <TD>4</TD>
  </TR>
  <TR>
     <TD>1.234</TD>
     <TD>1</TD>
     <TD>2</TD>
     <TD>1</TD>
  </TR>
  <TR>
     <TD>-6</TD>
     <TD>-6</TD>
     <TD>-6</TD>
     <TD>-6</TD>
  </TR>
  <TR>
     <TD>-3.8</TD>
     <TD>-4</TD>
     <TD>-3</TD>
     <TD>-4</TD>
  </TR>
  <TR>
     <TD>-1.234</TD>
     <TD>-2</TD>
     <TD>-1</TD>
     <TD>-1</TD>
  </TR>
</TABLE>

Представление HTML
number floor ceiling round
6 6 6 6
3.8 3 4 4
1.234 1 2 1
-6 -6 -6 -6
-3.8 -4 -3 -4
-1.234 -2 -1 -1
Преобразование XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <TABLE border="1">
          <TR>
               <TH>number</TH>
               <TH>floor</TH>
               <TH>ceiling</TH>
               <TH>round</TH>
          </TR>
          <xsl:for-each select="//number">
               <TR>
                    <TD>
                         <xsl:value-of select="."/>
                    </TD>
                    <TD>
                         <xsl:value-of select="floor(.)"/>
                    </TD>
                    <TD>
                         <xsl:value-of select="ceiling(.)"/>
                    </TD>
                    <TD>
                         <xsl:value-of select="round(.)"/>
                    </TD>
               </TR>
          </xsl:for-each>
     </TABLE>
</xsl:template>


</xsl:stylesheet>

Raleigh.ru Copyright © 2002