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.
Related XPath job interview questions
What will be located by "//@*" XPath expression?
XPath JuniorWhy would you use normalize-space() function in XPath?
XPath JuniorWhat is a parent element for node <span> in the code below?
XPath JuniorWhat XPath number operators do you know?
XPath JuniorWhat XPath boolean operators do you know?
XPath Junior