Performing Arithmetic Operations

In queries, a number represents a floating-point number. A number can have any double-precision 64-bit format IEEE 754 value. This includes

  • A special not-a-number (NaN) value
  • Positive and negative infinity
  • Positive and negative zero

The numeric operators convert their operands to numbers as if by calling the number() function. See Converting an Object to a Number.

You can use the following arithmetic operators in queries:

  • + performs addition
  • - performs subtraction

XML allows hyphens ( -) in names. Consequently, the subtraction operator ( -) typically needs to be preceded by white space. For example, foo-bar evaluates to a node set that contains the child elements named foo-bar. However, foo - bar evaluates to the difference between the result of converting the string value of the first foo child element to a number and the result of converting the string value of the first bar child to a number.

  • * performs multiplication
  • mod returns the remainder from a truncating division. For example:
    • 5 mod 2 returns 1.
    • 5 mod -2 returns 1.
    • -5 mod 2 returns -1.
    • -5 mod -2 returns -1.

The mod operator is the same as the % operator in Java and ECMAScript. But it does not perform the same operation as the IEEE remainder operation, which returns the remainder from a rounding division.

  • div performs floating-point division according to IEEE 754.

Using the Stylus Studio XML Grid View

This free onlince video tutorial shows how to use the Stylus Studio XML Grid View.

Generate XSD

Stylus Studio® can generate an industry standard W3C XSD (or DTD) by correctly inferring an XML data model from an XML instance document.

Learn XSLT and XQuery Profiling

Stylus Studio's Profiler can help you evaluate the performance of your XQuery and XSLT. Automatically generated, customizable, easy-to-read HTML reports provide insight into performance bottlenecks.

XML Reports

Build beautiful XML reports from Relational, XML and Legacy Data. You XML report can be rendered in PDF or HTML using XSLT, XQuery or XSL:FO.

Stylus Most Wanted

 
Free Stylus Studio XML Training:
W3C Member