NAME
AxKit::XSP::Currency - Currency formatting and conversion taglib
SYNOPSIS
Add this taglib to AxKit in your http.conf or .htaccess:
AxAddXSPTaglib AxKit::XSP::Currency
Add the namespace to your XSP file and use the tags:
<xsp:page
language="Perl"
xmlns:xsp="http://apache.org/xsp/core/v1"
xmlns:currency="http://today.icantfocus.com/CPAN/AxKit/XSP/Currency"
>
<currency:format code="USD" options="FMT_STANDARD">19.5</currency:format>
<currency:format>
<currency:code>USD</currency:code>
<currency:options>FMT_HTML</currency:options>
<currency:price>10.95</currenct:price>
</currency:format>
<price><currency:symbol/>10.92</price>
DESCRIPTION
This tag library provides an interface to format and convert currency values within XSP pages.
CHANGES
As of version 0.10, the defauls have changed. If no option
are specified for symbol
, the default is now SYM_UTF
instead of SYM_HTML
. If no options
are specified for format
, FMT_SYMBOL
is used instead of FMT_HTML
.
TAG HIERARCHY
<currency:format code="USD|CAD|..." options="FMT_STANDARD|FMT_COMMON|..." price="10.95">
<currency:code></currency:code>
<currency:options></currency:options>
<currency:price>10.95</currency:price>
<convert:price>
<currency:convert from="USD|CAD|JPY|..." price="10.95" to="CAD|JPY|...">
<currency:from></currency:from>
<currency:price</currency:price>
<currency:to></currency:to>
</currency:convert>
</convert:price>
</currency:format>
<currency:symbol code="USD|CAD|..." options="SYM_HTML|SYM_UTF">
<currency:code></currency:code>
<currency:options></currency:options>
</currency:symbol>
<currency:convert from="USD|CAD|JPY|..." price="10.95" to="CAD|JPY|...">
<currency:from></currency:from>
<currency:price</currency:price>
<currency:to></currency:to>
</currency:convert>
TAG REFERENCE
<currency:format>
Given a price, usually in decimal form, format returns a formatted price using the various options in Locale::Currency::Format
.
<currency:format>
<currency:price>10.9</currency:price>
</currency:format> # prints &#x0024;10.50
The format
tag has three available attributes to control the output:
- code
-
This is the 3 letter currency code used to specify the currency in use. The
code
attribute can also be specified using a child tag instead:<currency:format> <currency:code>USD</currency:code> </currency:format>
USD
is used as the default if no currency code is specified. SeeLocale::Currency::Format
for all of the available currency codes. - options
-
This is a string containing the formatting options to be used to specify the desired output format. The
options
attribute can also be specified using a child tag instead:<currency:format> <currency:options>FMT_STANDARD | FMT_NOZEROS</currency:options> </currency:format>
FMT_SYMBOL
is used as the default if no options are specified. SeeLocale::Currency::Format
for all of the available format options. - price
-
This is the price to be formatted. While it can be passed as an attribute, the more common usage will be as a child tag:
<currency:format> <currency:price>19.95</currency:price> </currency:format>
You can also next a
convert
tag inside ofprice
to format the results of a currency conversion:<convert:price> <currency:convert from="USD|CAD|JPY|..." price="10.95" to="CAD|JPY|..."> <currency:from></currency:from> <currency:price</currency:price> <currency:to></currency:to> </currency:convert> </convert:price>
<currency:symbol>
Returns the monetary symbol for the specified currency code.
<currency:symbol code="USD"/> # prints $
The symbol
tag has two available attributes to control the output:
- code
-
This is the 3 letter currency code used to specify the currency in use. The
code
attribute can also be specified using a child tag instead:<currency:symbol> <currency:code>USD</currency:code> </currency:symbol>
USD
is used as the default if no currency code is specified. SeeLocale::Currency::Format
for all of the available currency codes. - options
-
This is a string containing the formatting options to be used to specify the desired output format. The
options
attribute can also be specified using a child tag instead:<currency:symbol code="USD"> <currency:options>SYM_HTML|SYM_UTF</currency:options> </currency:symbol>
SYM_UTF
is used as the default if no options are specified. SeeLocale::Currency::Format
for all of the available format options.
<currency:convert>
Converts a price from one currency to another using Finance::Currency::Convert::WebserviceX
.
<currency:convert from="USD|CAD|JPY|..." price="10.95" to="CAD|JPY|...">
<currency:from></currency:from>
<currency:price</currency:price>
<currency:to></currency:to>
</currency:convert>
The convert
tag has three available attributes to control the output:
- from
-
This is the 3 letter currency code used to specify the currency in use. The
from
attribute can also be specified using a child tag instead:<currency:convert> <currency:from>USD</currency:from> </currency:convert>
USD
is used as the default if no currency code is specified. SeeLocale::Currency
for all of the available currency codes. - price
-
This is the price to be formatted. While it can be passed as an attribute, the more common usage will be as a child tag:
<currency:convert> <currency:price>19.95</currency:price> </currency:convert>
- to
-
This is the 3 letter currency code used to specify the currency in use. The
to
attribute can also be specified using a child tag instead:<currency:convert> <currency:to>USD</currency:to> </currency:convert>
See
Locale::Currency
for all of the available currency codes.
SEE ALSO
Locale::Currency::Format, Locale::Currency
AUTHOR
Christopher H. Laco
CPAN ID: CLACO
claco@chrislaco.com
http://today.icantfocus.com/blog/