| |
5. 14. 1. format number after calculation |
|
File: Data.xml
<?xml version="1.0"?>
<catalog>
<item id="SC-0001">
<maker>A</maker>
<description>B</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:output doctype-system="catalog.dtd" />
<xsl:variable name="discount">0.70</xsl:variable>
<xsl:variable name="discountPrice"
select="format-number(catalog/item/price - (catalog/item/price) * $discount, '###.00')" />
<xsl:template match="catalog">
<xsl:copy>
<xsl:apply-templates select="item" />
</xsl:copy>
</xsl:template>
<xsl:template match="item">
<xsl:copy>
<xsl:copy-of select="@id" />
<xsl:copy-of select="maker|description|size|price" />
<discount>
<xsl:value-of select="$discount" />
</discount>
<discountPrice>
<xsl:value-of select="$discountPrice" />
</discountPrice>
<xsl:copy-of select="currency" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog
SYSTEM "catalog.dtd">
<catalog>
<item id="SC-0001">
<maker>A</maker>
<description>B</description>
<size>L</size>
<price>120.00</price>
<discount>0.70</discount>
<discountPrice>36.00</discountPrice>
<currency>USD</currency>
</item>
</catalog>
|
|
5. 14. number format | | 5. 14. 1. | format number after calculation | | | | 5. 14. 2. | select=format-number(catalog/item/price * 0.60, ###.00) | | | | 5. 14. 3. | format-number(999999999.9999, '#.###,##') | | | | 5. 14. 4. | format-number(123456.9999, '#,###.##', 'us_default') : 123,457 | | | | 5. 14. 5. | format-number(number(1) div 0, '#.#') | | | | 5. 14. 6. | format-number(number(1) div 0, '#.#', 'other_options') | | | | 5. 14. 7. | format-number(number('blue') * number('orange'), '#') | | | | 5. 14. 8. | format-number(number('blue') * number('orange'), '#', 'other_options') | | | | 5. 14. 9. | format-number(42, '#!','hash_mark') | | | | 5. 14. 10. | select=format-number($totalSales, ##,###) | | | | 5. 14. 11. | format-number(1528.3, '#/###:00', 'f1') | | | | 5. 14. 12. | format-number(1 div 0, '###,###.00', 'f2') | | | | 5. 14. 13. | format-number(blue div orange, '#.##', 'f2') | | | | 5. 14. 14. | formatting of multilevel numbers | | |
|