>> English << | Français | Deutsch | Magyar | 中文 | Polski ZVON > Tutorials > XSLT Tutorial
>> Page 38 << | Prev | Next | Contents | Element Index

Addition, subtraction and multiplication uses common syntax ( XSLT stylesheet 1 ). Division syntax is less usual. Slash / is used in patterns and so keyword div is used instead ( XSLT stylesheet 2 ).Operator mod returns the remainder from a truncating division. ( XSLT stylesheet 2 )

XSLT stylesheet 1

XML Source
<source>

<number>1</number>
<number>3</number>
<number>4</number>
<number>17</number>
<number>8</number>
<number>11</number>

</source>

Output
<P>1 + 3 = 4</P>
<P>4 - 17 = -13</P>
<P>8 * 11 = 88</P>

HTML view

1 + 3 = 4

4 - 17 = -13

8 * 11 = 88

XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <P>
          <xsl:value-of select="//number[1]"/>
          <xsl:text> + </xsl:text>
          <xsl:value-of select="//number[2]"/>
          <xsl:text> = </xsl:text>
          <xsl:value-of select="//number[1] + //number[2]"/>
     </P>
     <P>
          <xsl:value-of select="//number[3]"/>
          <xsl:text> - </xsl:text>
          <xsl:value-of select="//number[4]"/>
          <xsl:text> = </xsl:text>
          <xsl:value-of select="//number[3] - //number[4]"/>
     </P>
     <P>
          <xsl:value-of select="//number[5]"/>
          <xsl:text> * </xsl:text>
          <xsl:value-of select="//number[6]"/>
          <xsl:text> = </xsl:text>
          <xsl:value-of select="//number[5] * //number[6]"/>
     </P>
</xsl:template>


</xsl:stylesheet>


XSLT stylesheet 2

XML Source
<source>

<number>1</number>
<number>3</number>
<number>4</number>
<number>17</number>
<number>8</number>
<number>11</number>

</source>

Output
<P>8 / 11 = 0.7272727272727273</P>
<P>8 mod 11 = 8</P>

HTML view

8 / 11 = 0.7272727272727273

8 mod 11 = 8

XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <P>
          <xsl:value-of select="//number[5]"/>
          <xsl:text> / </xsl:text>
          <xsl:value-of select="//number[6]"/>
          <xsl:text> = </xsl:text>
          <xsl:value-of select="//number[5] div //number[6]"/>
     </P>
     <P>
          <xsl:value-of select="//number[5]"/>
          <xsl:text> mod </xsl:text>
          <xsl:value-of select="//number[6]"/>
          <xsl:text> = </xsl:text>
          <xsl:value-of select="//number[5] mod //number[6]"/>
     </P>
</xsl:template>


</xsl:stylesheet>