Книга: XSLT

Числа XPath

Числа XPath

В XPath числа хранятся в формате чисел с плавающей точкой двойной точности. В соответствии с формальным определением, числа XPath должны храниться в формате 64-разрядных чисел с плавающей точкой двойной точности IEEE 754, и все числа хранятся как числа с плавающей точкой двойной точности.

В XPath можно выполнять следующие операции над числами, как мы уже видели в главе 4 при обсуждении предикатов XPath:

• + сложение;

• - вычитание;

 * умножение;

• div деление (символ /, соответствующий делению в других языках, в XML и XPath уже занят);

• mod возвращает значение деления по модулю двух чисел (остаток после деления первого числа на второе).

Например, элемент <xsl:value-of select="15+75"/> вставит в выходной документ строку «90». В следующем примере выбираются все планеты, чей день (измеренный в днях Земли), умноженный на расстояние планеты от Солнца (измеренное в миллионах миль), больше, чем 60 000:

<xsl:template match="PLANETS">
 <HTML>
  <BODY>
   <xsl:apply-templates select="PLANET[DAY * MASS > 60000]"/>
  </BODY>
 </HTML>
</xsl:template>

XPath также поддерживает следующие функции работы с числами:

• ceiling(). Возвращает наименьшее целое, большее, чем переданное функции число;

• floor(). Возвращает наибольшее целое, меньшее, чем переданное функции число;

• round(). Округляет переданное число до ближайшего целого;

• sum(). Возвращает сумму переданных функции чисел.

Например, среднее расстояние от Солнца (в миллионах миль) планет в planets.xml можно найти таким способом:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
 xmlns.xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="xml"/>
 <xsl:template match="PLANETS">
  <HTML>
   <BODY>
    The average planetary distance from the Sun is:
    <xsl:value-of select="sum(child::PLANET/child:DISTANCE) div count(child::PLANET)"/>
   </BODY>
  </HTML>
 </xsl:template>
</xsl:stylesheet>

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


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