What XPath number functions do you know?

Experience Level: Junior
Tags: XPath

Answer

XPath provides a number of functions that can be used to manipulate numeric values. Some of the commonly used number functions are:

  • floor() - returns the largest integer that is less than or equal to the given number. For example, floor(3.8) returns 3.
  • ceiling() - returns the smallest integer that is greater than or equal to the given number. For example, ceiling(3.2) returns 4.
  • round() - returns the nearest integer to the given number. For example, round(3.5) returns 4.
  • sum() - returns the sum of all the numbers in the selected nodes. For example, sum(//price) returns the sum of all the price elements in the XML document.
  • count() - returns the number of nodes selected by the XPath expression. For example, count(//book) returns the number of book elements in the XML document.

Here is an example of using the sum() function in an XPath expression to calculate the total price of all the books in an XML document:

<!-- XML document -->
<books>
  <book>
    <title>The Great Gatsby</title>
    <author>F. Scott Fitzgerald</author>
    <price>10.99</price>
  </book>
  <book>
    <title>To Kill a Mockingbird</title>
    <author>Harper Lee</author>
    <price>12.50</price>
  </book>
</books>

<!-- XPath expression -->
<xsl:value-of select="sum(//price)" />

<!-- Output -->
23.49

In this example, the sum() function is used to calculate the total price of all the books in the XML document. The XPath expression selects all the price elements in the document, and the sum() function calculates the sum of their values.

XPath
XPath

Are you learning XPath ? Try our test we designed to help you progress faster.

Test yourself