Output calculated value : Math « XSLT stylesheet « XML Tutorial

Home
XML Tutorial
1.Introduction
2.Namespace
3.XML Schema
4.XPath
5.XSLT stylesheet
XML Tutorial » XSLT stylesheet » Math 
5.8.9.Output calculated value
File: Data.xml

<?xml version="1.0"?>
<catalog>
 <item id="0001">
  <maker>factory</maker>
  <description>device</description>
  <size>L</size>
  <price>120.00</price>
  <currency>USD</currency>
 </item>
</catalog>

File: Transform.xslt

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes" />
  <xsl:variable name="discount" select="document('discount.xml')" />

  <xsl:template match="catalog">
    <xsl:copy>
      <xsl:apply-templates select="item" />
    </xsl:copy>
  </xsl:template>

  <xsl:template match="item">
    <xsl:copy>
      <xsl:attribute name="id"><xsl:value-of select="@id" />
      </xsl:attribute>
      <xsl:copy-of select="maker|description|size|price" />
      <discount>
        <xsl:value-of select="$discount" />
      </discount>
      <discountPrice>
        <xsl:value-of
          select="format-number(price - (price*$discount),'###.00')" />
      </discountPrice>
      <xsl:copy-of select="currency" />
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>
Output:

<?xml version="1.0" encoding="UTF-8"?>
<catalog>
   <item id="0001">
      <maker>factory</maker>
      <description>device</description>
      <size>L</size>
      <price>120.00</price>
      <discount/>
      <discountPrice>NaN</discountPrice>
      <currency>USD</currency>
   </item>
</catalog>
5.8.Math
5.8.1.Do calculation in select: 4 + 3.2
5.8.2.Do calculation in select: 3.2 - 4
5.8.3.Do calculation in select: 4 * 3.2 (multiply)
5.8.4.Do calculation in select: 11/3.2 (div)
5.8.5.Do calculation in select: 4 + 3.2 * 11
5.8.6.Add string and integer together
5.8.7.Math calculation
5.8.8.Calculate with variable
5.8.9.Output calculated value
5.8.10.Tests of XPath multiplication in XPath 1.0
5.8.11.Tests of XPath multiplication in XPath 2.0
5.8.12.Tests of XPath subtraction in XPath 1.0
5.8.13.Tests of XPath subtraction in XPath 2.0
5.8.14.An example of the unary minus
5.8.15.An example of the unary plus
5.8.16.subtraction and multiplication uses common syntax
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.