O'Reilly logo

XSLT, 2nd Edition by Doug Tidwell

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Mathematical Operators

The mathematical operators available in XPath are pretty limited. We’ll use two stylesheets to illustrate how the operators work; the first indicates how an operator works in XSLT 1.0 and the second indicates how it works in XSLT 2.0. We’ll cover the stylesheets in detail for the first operator (the plus sign), then simply refer to those examples throughout this section.

Addition (+)

The plus sign adds two numbers.

[1.0] In an XSLT 1.0 stylesheet, the processor attempts to convert each operand to a number. The following XPath expressions all work in XPath 1.0:

<?xml version="1.0"?>
<!-- addition-1_0.xsl -->
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xsl:output method="text"/>

  <xsl:template match="/">
    <xsl:text>Tests of addition in XPath 1.0&#xA;</xsl:text>
    <xsl:text>&#xA;  9 + 3 = </xsl:text>
    <xsl:value-of select="9 + 3"/>
    <xsl:text>&#xA;  9 + 3.8 = </xsl:text>
    <xsl:value-of select="9 + 3.8"/>
    <xsl:text>&#xA;  9 + '4' = </xsl:text>
    <xsl:value-of select="9 + '4'"/>
    <xsl:text>&#xA;  9 + 'Q' = </xsl:text>
    <xsl:value-of select="9 + 'Q'"/>
    <xsl:text>&#xA;  9 + true() = </xsl:text>
    <xsl:value-of select="9 + true()"/>
    <xsl:text>&#xA;  9 + false() = </xsl:text>
    <xsl:value-of select="9 + false()"/>
  </xsl:template>
</xsl:stylesheet>

Here are the stylesheet results:

Tests of addition in XPath 1.0

  9 + 3 = 12
  9 + 3.8 = 12.8
  9 + '4' = 13
  9 + 'Q' = NaN
  9 + true() = 10
  9 + false() = 9

Notice that XSLT 1.0 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required