XML Tutorial/XSLT stylesheet/round

Материал из Web эксперт
Версия от 18:22, 25 мая 2010; (обсуждение)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

ceilng(), floor() and round() transform floating point numbers into integers

File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<data>
    <number>6</number>
    <number>3.8</number>
    <number>1.234</number>
    <number>-6</number>
    <number>-3.8</number>
    <number>-1.234</number>
</data>
File: Transform.xslt
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
      version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
      <TABLE border="1">
        <TR>
          <td>number</TH>
          <td>floor</TH>
          <td>ceiling</TH>
          <td>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>
Output:
<?xml version="1.0" encoding="UTF-8"?><TABLE border="1"><TR><td>number</TH><td>floor</TH><td>ceiling</TH><td>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>