gnucash maint: Multiple changes pushed
Geert Janssens
gjanssens at code.gnucash.org
Sat Jan 31 01:50:02 EST 2015
Updated via https://github.com/Gnucash/gnucash/commit/48b30271 (commit)
via https://github.com/Gnucash/gnucash/commit/87520cdd (commit)
from https://github.com/Gnucash/gnucash/commit/7581436e (commit)
commit 48b30271e0427dde058a475849869454fcf4e851
Author: Geert Janssens <janssens-geert at telenet.be>
Date: Fri Jan 30 11:49:41 2015 +0100
Rewrite gnc-test-env in perl
This eliminates another guile dependency in the build chain
Conflicts:
src/backend/dbi/test/Makefile.am
diff --git a/configure.ac b/configure.ac
index 444d7fa..015fc89 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1575,7 +1575,6 @@ AC_CONFIG_FILES(
dnl # init-commands go here
)
# A few files need extra actions at creation time
-AC_CONFIG_FILES([src/gnc-test-env], [chmod u+x src/gnc-test-env])
AC_CONFIG_FILES([src/bin/overrides/gnucash-make-guids], [chmod u+x src/bin/overrides/gnucash-make-guids])
LDFLAGS="${LDFLAGS} ${NOUNDEF}"
AC_OUTPUT
diff --git a/src/Makefile.am b/src/Makefile.am
index acc4ac5..ab000a3 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -51,8 +51,6 @@ endif
noinst_HEADERS = \
swig-runtime.h
-noinst_DATA = gnc-test-env
-
if BUILDING_FROM_SCM
swig-runtime.h:
$(SWIG) -guile -external-runtime $@
@@ -62,6 +60,6 @@ MAINTAINERCLEANFILES = swig-runtime.h
EXTRA_DIST = \
base-typemaps.i \
README.modules \
- gnc-test-env \
+ gnc-test-env.pl \
guile-mappings.h \
platform.h
diff --git a/src/app-utils/Makefile.am b/src/app-utils/Makefile.am
index a899cec..026a6e1 100644
--- a/src/app-utils/Makefile.am
+++ b/src/app-utils/Makefile.am
@@ -219,7 +219,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
diff --git a/src/app-utils/test/Makefile.am b/src/app-utils/test/Makefile.am
index 8510dff..9304048 100644
--- a/src/app-utils/test/Makefile.am
+++ b/src/app-utils/test/Makefile.am
@@ -32,7 +32,7 @@ TESTS_ENVIRONMENT = \
GUILE="${GUILE}" \
SRCDIR=${srcdir} \
GNC_BUILDDIR="${abs_top_builddir}" \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
LDADD = \
${top_builddir}/src/libqof/qof/libgnc-qof.la \
diff --git a/src/backend/dbi/test/Makefile.am b/src/backend/dbi/test/Makefile.am
index b10fa9f..8c5332c 100644
--- a/src/backend/dbi/test/Makefile.am
+++ b/src/backend/dbi/test/Makefile.am
@@ -41,7 +41,7 @@ TESTS_ENVIRONMENT = \
GNC_ACCOUNT_PATH=${top_srcdir}/accounts/C \
SRCDIR=${srcdir} \
${gnc_dbd_dir_override} \
- $(shell ${top_builddir}/src/gnc-test-env ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
EXTRA_DIST += \
test-dbi-stuff.h \
diff --git a/src/backend/sql/test/Makefile.am b/src/backend/sql/test/Makefile.am
index 4424649..c914a41 100644
--- a/src/backend/sql/test/Makefile.am
+++ b/src/backend/sql/test/Makefile.am
@@ -21,7 +21,7 @@ GNC_TEST_DEPS = \
TESTS_ENVIRONMENT = \
GNC_ACCOUNT_PATH=${top_srcdir}/accounts/C \
SRCDIR=${srcdir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = $(TESTS)
diff --git a/src/backend/xml/test/Makefile.am b/src/backend/xml/test/Makefile.am
index 0575f90..d399353 100644
--- a/src/backend/xml/test/Makefile.am
+++ b/src/backend/xml/test/Makefile.am
@@ -217,7 +217,7 @@ TESTS_ENVIRONMENT = \
GNC_TEST_FILES=test-files/xml2 \
SRCDIR=${srcdir} \
GNC_BUILDDIR="${abs_top_builddir}" \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_LTLIBRARIES = libgnc-test-file-stuff.la
diff --git a/src/bin/overrides/gnucash-build-env.in b/src/bin/overrides/gnucash-build-env.in
index cb8e769..99fdb7a 100644
--- a/src/bin/overrides/gnucash-build-env.in
+++ b/src/bin/overrides/gnucash-build-env.in
@@ -30,7 +30,7 @@ then
fi
set +x
-eval `${top_builddir}/src/gnc-test-env \
+eval `${top_srcdir}/src/gnc-test-env.pl \
--gnc-module-dir ${top_builddir}/src/engine \
--gnc-module-dir ${top_builddir}/src/backend/xml \
--gnc-module-dir ${top_builddir}/src/network-utils \
diff --git a/src/business/business-gnome/Makefile.am b/src/business/business-gnome/Makefile.am
index 4eeb61a..13dabac 100644
--- a/src/business/business-gnome/Makefile.am
+++ b/src/business/business-gnome/Makefile.am
@@ -141,7 +141,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
diff --git a/src/core-utils/Makefile.am b/src/core-utils/Makefile.am
index 144b8b9..4b7ce86 100644
--- a/src/core-utils/Makefile.am
+++ b/src/core-utils/Makefile.am
@@ -121,7 +121,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(lib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
diff --git a/src/core-utils/test/Makefile.am b/src/core-utils/test/Makefile.am
index e104597..f1f6d1b 100644
--- a/src/core-utils/test/Makefile.am
+++ b/src/core-utils/test/Makefile.am
@@ -27,7 +27,7 @@ GNC_TEST_DEPS = \
TESTS_ENVIRONMENT = \
SRCDIR=${srcdir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-gnc-uri-utils \
diff --git a/src/engine/Makefile.am b/src/engine/Makefile.am
index edccd18..fc6e819 100644
--- a/src/engine/Makefile.am
+++ b/src/engine/Makefile.am
@@ -198,7 +198,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
diff --git a/src/engine/test/Makefile.am b/src/engine/test/Makefile.am
index 2a1ce64..98d7d24 100644
--- a/src/engine/test/Makefile.am
+++ b/src/engine/test/Makefile.am
@@ -68,7 +68,7 @@ TESTS_ENVIRONMENT = \
GUILE="${GUILE}" \
SRCDIR=${srcdir} \
GNC_BUILDDIR="${abs_top_builddir}" \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-link \
diff --git a/src/gnc-module/Makefile.am b/src/gnc-module/Makefile.am
index 71f0048..def4016 100644
--- a/src/gnc-module/Makefile.am
+++ b/src/gnc-module/Makefile.am
@@ -74,7 +74,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(lib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
diff --git a/src/gnc-module/test/Makefile.am b/src/gnc-module/test/Makefile.am
index e4f2c8b..843a5d8 100644
--- a/src/gnc-module/test/Makefile.am
+++ b/src/gnc-module/test/Makefile.am
@@ -49,7 +49,7 @@ GNC_TEST_DEPS = \
TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-load-c \
diff --git a/src/gnc-test-env.in b/src/gnc-test-env.in
deleted file mode 100755
index 596dd3a..0000000
--- a/src/gnc-test-env.in
+++ /dev/null
@@ -1,139 +0,0 @@
-#!/bin/sh
-exec @GUILE@ -s $0 "$@"
-!#
-
-;; Spit out the environment variable settings needed based on
-;; arguments listing gnc-module-dirs, guile-load-dirs, and
-;; library-dirs
-
-(use-modules (srfi srfi-13) (srfi srfi-14)) ;; for string-tokenize
-;; 'debug is deprecated and unused since guile 2
-(cond-expand
- (guile-2 )
- (else
- (debug-enable 'debug)))
-(debug-enable 'backtrace)
-(read-enable 'positions)
-
-;; Are we on MS Windows here? If yes, make this a #t.
-;; (utsname:sysname (uname)) wasn't available in my guile-1.6.7 on
-;; mingw, so I don't know an automated way to do this so far.
-(define is-windows?
- (let ((ostype (getenv "OSTYPE")))
- (and ostype
- (string=? ostype "msys"))))
-
-(define args (cdr (command-line)))
-(define display-exports? #t)
-
-(define gnc-module-dirs '())
-(define guile-load-dirs '())
-(define library-dirs '())
-
-(define (usage-death)
- (display "Usage: gnc-test-env [ --no-exports ]\n")
- (display " [ (--gnc-module-dir dir | \n")
- (display " --guile-load-dir dir | \n")
- (display " --library-dir dir) ... ]\n")
- (exit 1))
-
-(define (process-args! args)
- (let loop ((rest args))
- (cond
- ((null? rest) #t)
- ((string=? "--gnc-module-dir" (car rest))
- (set! gnc-module-dirs (cons (cadr rest) gnc-module-dirs))
- (loop (cddr rest)))
- ((string=? "--guile-load-dir" (car rest))
- (set! guile-load-dirs (cons (cadr rest) guile-load-dirs))
- (loop (cddr rest)))
- ((string=? "--library-dir" (car rest))
- (set! library-dirs (cons (cadr rest) library-dirs))
- (loop (cddr rest)))
- (else (usage-death))))
- (set! gnc-module-dirs (reverse gnc-module-dirs))
- (set! guile-load-dirs (reverse guile-load-dirs)))
-
-;; The character set of everything except a directory separator as
-;; necessary for string-tokenize below
-(define char-set-path
- (char-set-adjoin
- (char-set-delete char-set:graphic #\/)
- #\ ))
-
-;; The directory separator string.
-(define dir-separator-string
- (if is-windows?
- "\\\\" ;; Needs to be quoted twice because of additional shell quoting
- "/"))
-
-;; The path separator string; only needed for GUILE_LOAD_PATH
-(define path-sep-str
- (if is-windows?
- ";"
- ":"))
-
-;; Adapt the directory separator character in the given PATH and
-;; return the result.
-(define (adapt-dirsep path)
- (string-join
- (string-tokenize path char-set-path)
- dir-separator-string))
-
-(if (and (not (null? args))
- (string=? "--no-exports" (car args)))
- (begin
- (set! display-exports? #f)
- (set! args (cdr args))))
-
-(if (null? args) (exit 0))
-
-(process-args! args)
-
-(define (get-dir-adder env-name dir-list item-suffix separator)
- (string-append env-name "=\""
- (apply string-append
- (map
- (lambda (dir)
- (string-append dir item-suffix separator))
- dir-list))
- "${" env-name "}\" "))
-
-(display
- (adapt-dirsep
- (get-dir-adder "GNC_MODULE_PATH" gnc-module-dirs "/.libs" path-sep-str)))
-
-(display
- (adapt-dirsep
- (get-dir-adder "GUILE_LOAD_PATH" guile-load-dirs "" path-sep-str)))
-
-(display
- (adapt-dirsep
- (get-dir-adder "GUILE_LOAD_COMPILED_PATH" guile-load-dirs "" path-sep-str)))
-
-(display
- (adapt-dirsep
- (get-dir-adder "LD_LIBRARY_PATH" library-dirs "/.libs" path-sep-str)))
-
-(display
- (adapt-dirsep
- (get-dir-adder "DYLD_LIBRARY_PATH" library-dirs "/.libs" path-sep-str)))
-
-(if is-windows?
- (display
- (get-dir-adder "PATH" library-dirs "/.libs" ":")))
-
-(if display-exports?
- (begin
- (display "; ")
- (display " export GNC_MODULE_PATH;")
- (display " export GUILE_LOAD_PATH;")
- (display " export GUILE_LOAD_COMPILED_PATH;")
- (display " export LD_LIBRARY_PATH;")
- (display " export DYLD_LIBRARY_PATH;")
- (if is-windows?
- (display " export PATH;"))))
-
-;; Local Variables:
-;; mode: scheme
-;; End:
diff --git a/src/gnc-test-env.pl b/src/gnc-test-env.pl
new file mode 100755
index 0000000..1440831
--- /dev/null
+++ b/src/gnc-test-env.pl
@@ -0,0 +1,61 @@
+#!/usr/bin/perl
+
+# Spit out the environment variable settings needed based on
+# arguments listing @gnc_module_dirs, @guile_load_dirs, and
+# @library_dirs
+use Getopt::Long;
+
+my $define_exports=1;
+my @gnc_module_dirs=();
+my @guile_load_dirs=();
+my @library_dirs=();
+GetOptions ("exports!" => \$define_exports, # flag
+ "gnc-module-dir=s" => \@gnc_module_dirs, # arry of strings
+ "guile-load-dir=s" => \@guile_load_dirs, # arry of strings
+ "library-dir=s" => \@library_dirs, # arry of strings
+ "verbose" => \$verbose) # flag
+or die(
+"Usage: gnc-test-env.pl [ --exports | --noexports ]\n" .
+" [ (--gnc-module-dir dir | --guile-load-dir dir | --library-dir dir) ... ]\n");
+
+if ( $^O =~ /MSWin32/ ) {
+ $path_separator=";";
+} else {
+ $path_separator=":";
+}
+
+sub print_env_var {
+ ($env_name, $dir_suffix, $separator, @dir_list) = @_;
+ return if not @dir_list;
+ my @suffixed_dir_list = map {
+ my $dir = $_ . $dir_suffix;
+ if ( $^O =~ /MSWin32/ ) {
+ $dir =~ s!/!\\\\!g; } # Backslashes need to be escaped for the environment
+ $dir;
+ } @dir_list;
+ print $env_name . '="' .
+ join($separator, @suffixed_dir_list) .
+ $separator . '${' . $env_name . '}" ';
+}
+
+print_env_var "GNC_MODULE_PATH", "/.libs", $path_separator, @gnc_module_dirs;
+print_env_var "GUILE_LOAD_PATH", "", $path_separator, @guile_load_dirs;
+print_env_var "GUILE_LOAD_COMPILED_PATH", "", $path_separator, @guile_load_dirs;
+print_env_var "LD_LIBRARY_PATH", "/.libs", $path_separator, @library_dirs;
+print_env_var "DYLD_LIBRARY_PATH", "/.libs", $path_separator, @library_dirs;
+
+if ( $^O =~ /MSWin32/ ) {
+ print_env_var "PATH", "/.libs", ":", @library_dirs;
+}
+
+if ($define_exports) {
+ print ";\n";
+ print "export GNC_MODULE_PATH;\n" if @gnc_module_dirs;
+ print "export GUILE_LOAD_PATH;\n" if @guile_load_dirs;
+ print "export GUILE_LOAD_COMPILED_PATH;\n" if @guile_load_dirs;
+ print "export LD_LIBRARY_PATH;\n" if @library_dirs;
+ print "export DYLD_LIBRARY_PATH;\n" if @library_dirs;
+ if ( $^O =~ /MSWin32/ ) {
+ print "export PATH;\n" if @library_dirs;
+ }
+}
\ No newline at end of file
diff --git a/src/gnome-utils/Makefile.am b/src/gnome-utils/Makefile.am
index b46ed7a..b0e873f 100644
--- a/src/gnome-utils/Makefile.am
+++ b/src/gnome-utils/Makefile.am
@@ -290,7 +290,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
diff --git a/src/gnome-utils/test/Makefile.am b/src/gnome-utils/test/Makefile.am
index d3383c7..02ea939 100644
--- a/src/gnome-utils/test/Makefile.am
+++ b/src/gnome-utils/test/Makefile.am
@@ -32,7 +32,7 @@ TESTS_ENVIRONMENT = \
GUILE="${GUILE}" \
SRCDIR=${srcdir} \
GNC_BUILDDIR="${abs_top_builddir}" \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-link-module test-gnc-recurrence
diff --git a/src/import-export/qif-imp/Makefile.am b/src/import-export/qif-imp/Makefile.am
index 2ea474b..242d5f4 100644
--- a/src/import-export/qif-imp/Makefile.am
+++ b/src/import-export/qif-imp/Makefile.am
@@ -125,7 +125,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/import-export
diff --git a/src/import-export/qif/test/Makefile.am b/src/import-export/qif/test/Makefile.am
index bd5e7c0..13bdda2 100644
--- a/src/import-export/qif/test/Makefile.am
+++ b/src/import-export/qif/test/Makefile.am
@@ -41,7 +41,7 @@ GNC_TEST_DEPS = --gnc-module-dir ${top_builddir}/src/core-utils \
TESTS_ENVIRONMENT = \
GNC_TEST_FILES=${srcdir}/test-files \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-link \
diff --git a/src/import-export/test/Makefile.am b/src/import-export/test/Makefile.am
index 5363e8a..420b66b 100644
--- a/src/import-export/test/Makefile.am
+++ b/src/import-export/test/Makefile.am
@@ -48,7 +48,7 @@ GNC_TEST_DEPS = --gnc-module-dir ${top_builddir}/src/engine \
TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GNC_BUILDDIR="${abs_top_builddir}" \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-link \
diff --git a/src/optional/python-bindings/tests/Makefile.am b/src/optional/python-bindings/tests/Makefile.am
index d828941..13a23f4 100644
--- a/src/optional/python-bindings/tests/Makefile.am
+++ b/src/optional/python-bindings/tests/Makefile.am
@@ -23,7 +23,7 @@ TESTS_ENVIRONMENT = \
PYTHONPATH=$$PYTHONPATH:$(top_builddir)/src/test-core/ \
PYTHONPATH=$$PYTHONPATH:$(top_srcdir)/src/test-core/ \
PYTHONPATH=$$PYTHONPATH:$(top_builddir)/src/test-core/.libs \
- $(shell $(top_builddir)/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
## We borrow guile's convention and use @-...-@ as the substitution
## brackets below, instead of the usual @... at . This prevents autoconf
diff --git a/src/register/register-core/test/Makefile.am b/src/register/register-core/test/Makefile.am
index f7e6ecf..fe485bc 100644
--- a/src/register/register-core/test/Makefile.am
+++ b/src/register/register-core/test/Makefile.am
@@ -6,7 +6,7 @@ TESTS = \
#
#TESTS_ENVIRONMENT := \
-# $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+# $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-link-module
diff --git a/src/register/register-gnome/test/Makefile.am b/src/register/register-gnome/test/Makefile.am
index 12d4b1b..b21e628 100644
--- a/src/register/register-gnome/test/Makefile.am
+++ b/src/register/register-gnome/test/Makefile.am
@@ -6,7 +6,7 @@ TESTS = \
#
#TESTS_ENVIRONMENT := \
-# $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+# $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-link-module
diff --git a/src/report/business-reports/Makefile.am b/src/report/business-reports/Makefile.am
index 8ea9dfe..225f9e5 100644
--- a/src/report/business-reports/Makefile.am
+++ b/src/report/business-reports/Makefile.am
@@ -74,7 +74,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
diff --git a/src/report/locale-specific/us/Makefile.am b/src/report/locale-specific/us/Makefile.am
index fe0e87f..187e3e5 100644
--- a/src/report/locale-specific/us/Makefile.am
+++ b/src/report/locale-specific/us/Makefile.am
@@ -81,7 +81,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
diff --git a/src/report/locale-specific/us/test/Makefile.am b/src/report/locale-specific/us/test/Makefile.am
index fd998db..712490e 100644
--- a/src/report/locale-specific/us/test/Makefile.am
+++ b/src/report/locale-specific/us/test/Makefile.am
@@ -16,7 +16,7 @@ GNC_TEST_DEPS = --gnc-module-dir ${top_builddir}/src/engine \
TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = test-link-module
diff --git a/src/report/report-gnome/Makefile.am b/src/report/report-gnome/Makefile.am
index 0e7a566..8a8e33c 100644
--- a/src/report/report-gnome/Makefile.am
+++ b/src/report/report-gnome/Makefile.am
@@ -129,7 +129,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
diff --git a/src/report/report-gnome/test/Makefile.am b/src/report/report-gnome/test/Makefile.am
index d713f76..5c03452 100644
--- a/src/report/report-gnome/test/Makefile.am
+++ b/src/report/report-gnome/test/Makefile.am
@@ -55,7 +55,7 @@ TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
GNC_BUILDDIR="${abs_top_builddir}" \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = test-link-module
diff --git a/src/report/report-system/Makefile.am b/src/report/report-system/Makefile.am
index d1539f8..c464ee0 100644
--- a/src/report/report-system/Makefile.am
+++ b/src/report/report-system/Makefile.am
@@ -134,7 +134,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
diff --git a/src/report/report-system/test/Makefile.am b/src/report/report-system/test/Makefile.am
index 1df692f..a01900e 100644
--- a/src/report/report-system/test/Makefile.am
+++ b/src/report/report-system/test/Makefile.am
@@ -59,7 +59,7 @@ TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
GNC_BUILDDIR="${abs_top_builddir}" \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = test-link-module
diff --git a/src/report/standard-reports/Makefile.am b/src/report/standard-reports/Makefile.am
index a39c2e7..917d401 100644
--- a/src/report/standard-reports/Makefile.am
+++ b/src/report/standard-reports/Makefile.am
@@ -102,7 +102,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
diff --git a/src/report/standard-reports/test/Makefile.am b/src/report/standard-reports/test/Makefile.am
index c0bbe49..6f89e4d 100644
--- a/src/report/standard-reports/test/Makefile.am
+++ b/src/report/standard-reports/test/Makefile.am
@@ -50,7 +50,7 @@ TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
GNC_BUILDDIR="${abs_top_builddir}" \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
SCM_TEST_HELPERS = \
diff --git a/src/report/stylesheets/Makefile.am b/src/report/stylesheets/Makefile.am
index c0fcf76..9ea4300 100644
--- a/src/report/stylesheets/Makefile.am
+++ b/src/report/stylesheets/Makefile.am
@@ -89,7 +89,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
diff --git a/src/report/stylesheets/test/Makefile.am b/src/report/stylesheets/test/Makefile.am
index 092b7be..3211592 100644
--- a/src/report/stylesheets/test/Makefile.am
+++ b/src/report/stylesheets/test/Makefile.am
@@ -34,6 +34,6 @@ TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
GNC_BUILDDIR="${abs_top_builddir}" \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
EXTRA_DIST = test-load-module
diff --git a/src/report/utility-reports/Makefile.am b/src/report/utility-reports/Makefile.am
index 6204ea4..15edc5d 100644
--- a/src/report/utility-reports/Makefile.am
+++ b/src/report/utility-reports/Makefile.am
@@ -74,7 +74,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
diff --git a/src/report/utility-reports/test/Makefile.am b/src/report/utility-reports/test/Makefile.am
index e4bfad4..ec5e232 100644
--- a/src/report/utility-reports/test/Makefile.am
+++ b/src/report/utility-reports/test/Makefile.am
@@ -30,6 +30,6 @@ TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
GNC_BUILDDIR="${abs_top_builddir}" \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
EXTRA_DIST = test-load-module
diff --git a/src/scm/Makefile.am b/src/scm/Makefile.am
index ea07c85..e45fd59 100644
--- a/src/scm/Makefile.am
+++ b/src/scm/Makefile.am
@@ -52,7 +52,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
diff --git a/src/tax/us/Makefile.am b/src/tax/us/Makefile.am
index 66451d5..1d1a02d 100644
--- a/src/tax/us/Makefile.am
+++ b/src/tax/us/Makefile.am
@@ -61,7 +61,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/tax
diff --git a/src/tax/us/test/Makefile.am b/src/tax/us/test/Makefile.am
index 7330674..bab6a0e 100644
--- a/src/tax/us/test/Makefile.am
+++ b/src/tax/us/test/Makefile.am
@@ -10,7 +10,7 @@ GNC_TEST_DEPS = \
TESTS_ENVIRONMENT = \
GUILE="${GUILE}" \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS=test-link-module
test_link_module_SOURCES=test-link-module.c
diff --git a/src/test-core/Makefile.am b/src/test-core/Makefile.am
index cfa7f6d..0bc589a 100644
--- a/src/test-core/Makefile.am
+++ b/src/test-core/Makefile.am
@@ -106,7 +106,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(noinst_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
- $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
+ $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
commit 87520cdde4bd85731a8f82393be90b316ffefa05
Author: Geert Janssens <janssens-geert at telenet.be>
Date: Thu Jan 29 21:07:07 2015 +0100
Switch from guile to xml to manage our iso-currencies source file
diff --git a/configure.ac b/configure.ac
index 073e8ae..444d7fa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1550,7 +1550,6 @@ AC_CONFIG_FILES(
dnl # non-makefiles
src/bin/gnucash.rc
src/app-utils/migratable-prefs.xml
- src/engine/iso-currencies-to-c
src/gnome/gnucash.desktop.in
dnl # GSettings schema files
src/business/business-gnome/gschemas/org.gnucash.dialogs.business.gschema.xml.in
diff --git a/src/engine/Makefile.am b/src/engine/Makefile.am
index 150e09a..edccd18 100644
--- a/src/engine/Makefile.am
+++ b/src/engine/Makefile.am
@@ -128,8 +128,6 @@ noinst_HEADERS = \
gnc-pricedb-p.h \
policy-p.h
-noinst_SCRIPTS = iso-currencies-to-c
-
libgncmod_engine_la_LDFLAGS = -avoid-version
if CLANG
libgncmod_engine_la_CFLAGS = -Wno-invalid-source-encoding
@@ -158,8 +156,8 @@ EXTRA_DIST = \
README.query-api \
design.txt \
extensions.txt \
- iso-4217-currencies.scm \
- iso-currencies-to-c \
+ iso-4217-currencies.xml \
+ iso-currencies-to-c.xsl \
kvp_doc.txt \
SX-book-p.h \
engine.i \
@@ -168,10 +166,8 @@ EXTRA_DIST = \
${gncscm_DATA}
if GNUCASH_SEPARATE_BUILDDIR
-#For compiling
-SCM_FILE_LINKS = iso-4217-currencies.scm
#For executing test cases
-SCM_FILE_LINKS += \
+SCM_FILE_LINKS = \
${gncscmmod_DATA} \
${gncscm_DATA}
endif
@@ -237,9 +233,9 @@ endif
endif
endif
-iso-4217-currencies.c: iso-4217-currencies.scm iso-currencies-to-c
- -chmod u+x ./iso-currencies-to-c
- ./iso-currencies-to-c "${srcdir}"
+
+iso-4217-currencies.c: iso-4217-currencies.xml iso-currencies-to-c.xsl
+ $(XSLTPROC) -o $@ $(srcdir)/iso-currencies-to-c.xsl $<
BUILT_SOURCES = iso-4217-currencies.c
diff --git a/src/engine/iso-4217-currencies.scm b/src/engine/iso-4217-currencies.scm
deleted file mode 100644
index 616a9e0..0000000
--- a/src/engine/iso-4217-currencies.scm
+++ /dev/null
@@ -1,253 +0,0 @@
-;; currency descriptions for ISO4217 currencies.
-;;
-;; This file is not currently used at runtime. It's used to generate
-;; the contents of iso-4217-currencies.c.
-;;
-;; You can find Currency Information from the following sites:
-;; http://www.evertype.com/standards/iso4217/iso4217-en.html
-;; http://www.xe.com/iso4217.htm
-;; http://www.thefinancials.com/vortex/CurrencyFormats.html
-;; But currently used was
-;; http://en.wikipedia.org/wiki/ISO4217 and relatives and the official at
-;; http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/currency_codes/currency_codes_list-1.htm
-;;
-;; Learned from some bugs (543061, 564450), please keep in mind:
-;; If there are no coins for subunits, subunits might still be in use on the paper
-;;
-;; Format:
-;; (fullname, unitname*, partname*, namespace, mnemonic, exchange-code, parts-per-unit*, smallest-fraction, local-symbol)
-;; planed extensions: replace-date, by-ISO, frozen-rate [x old : 1 new]
-;;
-;; where * means currently unused;
-;; fullname should be the same as in /usr/share/xml/iso-codes/iso_4217.xml from package iso-codes
-;; exchange-code is stored in ISIN/CUSIP;
-;; see iso-currencies-to-c for details and recent changes.
-;; Sort order by ISO codes for simpler maintainance
-;;
-( "Andorran Franc" "franc" "centime" "ISO4217" "ADF" "950" 100 100 "â£" ) ;; 2002-01-01 "FRF" 1 ;; = 1/1 French Franc replaced by EUR
-( "Andorran Peseta" "peseta" "centimo" "ISO4217" "ADP" "724" 100 100 "â§" ) ;; 2002-01-01 "ESP" 1 ;; = 1/1 Spanish Peseta replaced by EUR
-( "UAE Dirham" "dirham" "fil" "ISO4217" "AED" "784" 100 100 "Dhs" ) ;; There is also an arabic symbol for "Dhs"
-( "Afghani" "afghani" "pul" "ISO4217" "AFA" "004" 100 100 "" ) ;; through 2003-01-02 "AFN" 1000
-( "Afghani" "afghani" "pul" "ISO4217" "AFN" "971" 1 1 "" )
-( "Lek" "lek" "qindarka" "ISO4217" "ALL" "008" 100 100 "" )
-( "Armenian Dram" "dram" "Luma" "ISO4217" "AMD" "051" 100 100 "Õ¤Ö." )
-( "Netherlands Antillian Guilder" "guilder" "cent" "ISO4217" "ANG" "532" 100 100 "NAÆ" ) ;; through 2010-10 ???
-( "Kwanza" "kwanza" "cêntimos" "ISO4217" "AOA" "973" 100 100 "Kz" )
-( "Angola New Kwanza" "new kwanza" "lwei" "ISO4217" "AON" "024" 100 100 "" ) ;; 1995-07-01 "AOR" 1000
-( "Angola Kwanza Reajustado" "reajustado kwanza" "centimos" "ISO4217" "AOR" "982" 100 100 "" ) ;; 2000-02-01 "AOA" 1000000
-( "Argentine Austral" "austral" "centavo" "ISO4217" "ARA" "XXX" 100 100 "" ) ;; 1992-01-01 "ARS" 10000
-( "Argentine Peso" "peso" "centavo" "ISO4217" "ARS" "032" 100 100 "" )
-( "Austrian Schilling" "shilling" "groschen" "ISO4217" "ATS" "040" 100 100 "öS" ) ;; 2002-01-01 "EUR" 13.7603
-( "Australian Dollar" "dollar" "cent" "ISO4217" "AUD" "036" 100 100 "$" )
-( "Aruban Guilder" "florin" "cent" "ISO4217" "AWG" "533" 100 100 "Afl." ) ;; ""
-( "Azerbaijanian Manat" "manat" "qÉpik" "ISO4217" "AZM" "031" 100 100 "" ) ;; 2006-01-01 "AZN" 5000
-( "Azerbaijanian Manat" "manat" "qÉpik" "ISO4217" "AZN" "944" 100 100 "m" ) ;; "m" should be a 90° rotated ⬠sign, but currently not encoded in Unicode
-( "Bosnia and Herzegovina Dinar" "B.H. dinar" "para" "ISO4217" "BAD" "070" 100 100 "" ) ;; 1998-06-22 "BAM" 100 ;; there was a revaluation 1994-08: 10000:1
-( "Convertible Marks" "B.H. mark" "fening" "ISO4217" "BAM" "977" 100 100 "KM" )
-( "Barbados Dollar" "dollar" "cent" "ISO4217" "BBD" "052" 100 100 "Bds$" )
-( "Taka" "taka" "paisa" "ISO4217" "BDT" "050" 100 100 "à§³" )
-( "Belgian Franc" "franc" "centime" "ISO4217" "BEF" "056" 100 100 "fr." ) ;; 2002-01-01 "EUR" 40.3399
-( "Bulgarian Lev A/99" "lev" "stotinki" "ISO4217" "BGL" "100" 100 100 "" ) ;; 1999-07-05 "BGN" 1000
-( "Bulgarian Lev" "lev" "stotinki" "ISO4217" "BGN" "975" 100 100 "лв" ) ;; scheduled replacement: 2012-01-01 "EUR" 1.95583 (=DEM)
-( "Bahraini Dinar" "dinar" "fil" "ISO4217" "BHD" "048" 1000 1000 "BD" ) ;; ar:.د.ب
-( "Burundi Franc" "franc" "centime" "ISO4217" "BIF" "108" 100 100 "FBu" )
-( "Bermudian Dollar" "dollar" "cent" "ISO4217" "BMD" "060" 100 100 "BD$" )
-( "Brunei Dollar" "dollar" "sen" "ISO4217" "BND" "096" 100 100 "B$" )
-( "Boliviano" "boliviano" "centavo" "ISO4217" "BOB" "068" 100 100 "Bs." )
-( "Mvdol" "mvdol" "centavo" "ISO4217" "BOV" "984" 100 100 "" ) ;; Mantenimiento de Valor respecto al Dólar
-( "Brazilian Cruzeiro" "cruzeiro" "centavo" "ISO4217" "BRE" "076" 100 100 "" ) ;; 1993-08-01 "BRR" 1000
-( "Brazilian Real" "real" "centavo" "ISO4217" "BRL" "986" 100 100 "R$" )
-( "Brazilian Cruzeiro Real" "cruzeiro" "centavo" "ISO4217" "BRR" "987" 100 100 "" ) ;; 1994-07-01 "BRL" 2750
-( "Bahamian Dollar" "dollar" "cent" "ISO4217" "BSD" "044" 100 100 "B$" )
-( "Ngultrum" "ngultrum" "chetrum" "ISO4217" "BTN" "064" 100 100 "Nu." )
-( "Pula" "pula" "thebe" "ISO4217" "BWP" "072" 100 100 "P" )
-( "Belarussian Rouble" "ruble" "kapeyka" "ISO4217" "BYB" "" 100 1 "" ) ;; 2000-01-01 "BYR" 1000
-( "Belarussian Ruble" "ruble" "ruble" "ISO4217" "BYR" "974" 1 100 "Br" )
-( "Belize Dollar" "dollar" "cent" "ISO4217" "BZD" "084" 100 100 "BZ$" )
-( "Canadian Dollar" "dollar" "cent" "ISO4217" "CAD" "124" 100 100 "C$" )
-( "Franc Congolais" "franc" "centime" "ISO4217" "CDF" "976" 100 100 "FC" )
-( "WIR Euro" "euro" "cent" "ISO4217" "CHE" "974" 100 100 "" ) ;; complementary currency by WIR Wirtschaftsring-Genossenschaft
-( "Swiss Franc" "franc" "centime" "ISO4217" "CHF" "756" 100 100 "SFr." )
-( "WIR Franc" "franc" "centime" "ISO4217" "CHW" "948" 100 100 "" ) ;; complementary currency by WIR Wirtschaftsring-Genossenschaft
-( "Unidades de fomento" "UF" "" "ISO4217" "CLF" "990" 10000 10000 "" ) ;; international secured loans; decimals not defined but required for conversion as of 2011-03-18 1 CLF = 21,560.19 CLP
-( "Chilean Peso" "peso" "centavo" "ISO4217" "CLP" "152" 100 1 "$" ) ;; "$" should have 2 strokes
-( "Yuan Renminbi" "renminbi" "fen" "ISO4217" "CNY" "156" 100 100 "å
" )
-( "Colombian Peso" "peso" "centavo" "ISO4217" "COP" "170" 100 100 "$" )
-( "Unidad de Valor Real" "UVR" "???" "ISO4217" "COU" "970" 100 100 "" ) ;;
-( "Costa Rican Colon" "colon" "centimo" "ISO4217" "CRC" "188" 100 100 "â¡" )
-( "Cuban Peso" "peso" "centavo" "ISO4217" "CUP" "192" 100 100 "$MN" )
-( "Cuban Convertible Peso" "peso" "centavo" "ISO4217" "CUC" "931" 100 100 "CUC$" )
-( "Cape Verde Escudo" "escudo" "centavo" "ISO4217" "CVE" "132" 100 100 "Esc" )
-( "Cyprus Pound" "pound" "pence" "ISO4217" "CYP" "196" 100 100 "£" ) ;; 2008-01-01 "EUR" 0.585274
-( "Czech Koruna" "koruna" "haleru" "ISO4217" "CZK" "203" 100 100 "KÄ" )
-( "Deutsche Mark" "deutschemark" "pfennig" "ISO4217" "DEM" "280" 100 100 "DM" ) ;; 2002-01-01 "EUR" 1.95583
-( "Djibouti Franc" "franc" "centime" "ISO4217" "DJF" "262" 100 1 "Fdj" )
-( "Danish Krone" "krone" "øre" "ISO4217" "DKK" "208" 100 100 "kr" )
-( "Dominican Peso" "peso" "centavo" "ISO4217" "DOP" "214" 100 100 "RD$" )
-( "Algerian Dinar" "dinar" "santeem" "ISO4217" "DZD" "012" 100 100 "DA" ) ;; ar.: دج
-( "Ecuador Sucre" "sucre" "centavo" "ISO4217" "ECS" "218" 100 100 "S/." ) ;; 2000-09-15 "USD" 25000
-( "Kroon" "kroon" "sent" "ISO4217" "EEK" "233" 100 100 "kr" ) ;; 2011-01-01 "EUR" 15.6466
-( "Egyptian Pound" "pound" "qirsh" "ISO4217" "EGP" "818" 100 100 "£E" ) ;; ar.:ج.Ù
maleem=0.001 £E for accounting?
-( "Nakfa" "nakfa" "cent" "ISO4217" "ERN" "232" 100 100 "Nfa" )
-( "Spanish Peseta" "peseta" "centimo" "ISO4217" "ESP" "724" 100 100 "â§" ) ;; 2002-01-01 "EUR" 166.386
-( "Ethiopian Birr" "birr" "santim" "ISO4217" "ETB" "230" 100 100 "Br" )
-( "Euro" "euro" "euro-cent" "ISO4217" "EUR" "978" 100 100 "â¬" )
-( "Finnish Markka" "markka" "penni" "ISO4217" "FIM" "246" 100 100 "mk" ) ;; 2002-01-01 "EUR" 5.94573
-( "Fiji Dollar" "dollar" "cent" "ISO4217" "FJD" "242" 100 100 "FJ$" )
-( "Falkland Islands Pound" "pound" "pence" "ISO4217" "FKP" "238" 100 100 "FK£" )
-( "French Franc" "franc" "centime" "ISO4217" "FRF" "250" 100 100 "â£" ) ;; 2002-01-01 "EUR" 6.55957
-( "Pound Sterling" "pound" "pence" "ISO4217" "GBP" "826" 100 100 "£" )
-( "Lari" "lari" "tetri" "ISO4217" "GEL" "981" 100 100 "" )
-( "Cedi" "cedi" "pesewa" "ISO4217" "GHC" "288" 100 100 "" ) ;; 2007-07-01 "GHS" 10000
-( "Ghana Cedi" "cedi" "pesewa" "ISO4217" "GHS" "936" 100 100 "GHâµ" )
-( "Gibraltar Pound" "pound" "pence" "ISO4217" "GIP" "292" 100 100 "£" )
-( "Dalasi" "dalasi" "butut" "ISO4217" "GMD" "270" 100 100 "D" )
-( "Guinea Franc" "franc" "centime" "ISO4217" "GNF" "324" 100 100 "FG" )
-( "Greek Drachma" "drachma" "lepta" "ISO4217" "GRD" "200" 100 100 "ÎÏ." ) ;; 2002-01-01 "EUR" 340.750
-( "Quetzal" "quetzal" "centavo" "ISO4217" "GTQ" "320" 100 100 "Q" )
-( "Guinea-Bissau Peso" "peso" "centavo" "ISO4217" "GWP" "624" 100 100"" ) ;; 1997-01-01 "XOF" 65
-( "Guyana Dollar" "dollar" "cent" "ISO4217" "GYD" "328" 100 100 "G$" )
-( "Hong Kong Dollar" "dollar" "cent" "ISO4217" "HKD" "344" 100 100 "HK$" )
-( "Lempira" "lempira" "centavo" "ISO4217" "HNL" "340" 100 100 "L" )
-( "Croatian Kuna" "kuna" "lipa" "ISO4217" "HRK" "191" 100 100 "kn" )
-( "Gourde" "gourde" "centime" "ISO4217" "HTG" "332" 100 100 "G" )
-( "Forint" "forint" "fillér" "ISO4217" "HUF" "348" 1 100 "Ft" )
-( "Rupiah" "rupiah" "sen" "ISO4217" "IDR" "360" 1 100 "Rp" )
-( "Irish Pound" "punt" "pingin" "ISO4217" "IEP" "372" 100 100 "£" ) ;; 2002-01-01 "EUR" 0.787564
-( "New Israeli Sheqel" "new shekel" "agora" "ISO4217" "ILS" "376" 100 100 "âª" )
-( "Indian Rupee" "rupee" "paisa" "ISO4217" "INR" "356" 100 100 "â¹" )
-( "Iraqi Dinar" "dinar" "fil" "ISO4217" "IQD" "368" 1000 1000 "ع.د" )
-( "Iranian Rial" "rial" "dinar" "ISO4217" "IRR" "364" 1 1 "﷼﷼" )
-( "Iceland Krona" "krona" "aur" "ISO4217" "ISK" "352" 1 100 "kr" )
-( "Italian Lira" "lira" "lira" "ISO4217" "ITL" "380" 1 1 "â¤" ) ;; 2002-01-01 "EUR" 1936.27
-( "Jamaican Dollar" "dollar" "cent" "ISO4217" "JMD" "388" 100 100 "J$" )
-( "Jordanian Dinar" "dinar" "fil" "ISO4217" "JOD" "400" 1000 1000 "JD" )
-( "Yen" "yen" "sen" "ISO4217" "JPY" "392" 100 1 "Â¥" )
-( "Kenyan Shilling" "shilling" "cent" "ISO4217" "KES" "404" 100 100 "Ksh" )
-( "Som" "som" "tyiyn" "ISO4217" "KGS" "417" 100 100 "" )
-( "Riel" "riel" "sen" "ISO4217" "KHR" "116" 100 100 "" )
-( "Comoro Franc" "franc" "centime" "ISO4217" "KMF" "174" 100 1 "FC" )
-( "North Korean Won" "won" "chon" "ISO4217" "KPW" "408" 100 100 "â©" )
-( "Won" "won" "chon" "ISO4217" "KRW" "410" 1 100 "â©" )
-( "Kuwaiti Dinar" "dinar" "fils" "ISO4217" "KWD" "414" 1000 1000 "د.Ù" )
-( "Cayman Islands Dollar" "dollar" "cent" "ISO4217" "KYD" "136" 100 100 "CI$" )
-( "Tenge" "tenge" "tiyn" "ISO4217" "KZT" "398" 100 100 "â¸" )
-( "Kip" "kip" "att" "ISO4217" "LAK" "418" 100 100 "â" )
-( "Lebanese Pound" "pound" "piastre" "ISO4217" "LBP" "422" 100 100 "Ù.Ù" )
-( "Sri Lanka Rupee" "rupee" "cent" "ISO4217" "LKR" "144" 100 100 "â¨" )
-( "Liberian Dollar" "dollar" "cent" "ISO4217" "LRD" "430" 100 100 "L$" )
-( "Loti" "loti" "sente" "ISO4217" "LSL" "426" 100 100 "M" )
-( "Lithuanian Litas" "litas" "centas" "ISO4217" "LTL" "440" 100 100 "Lt" )
-( "Luxembourg Franc" "frang" "centime" "ISO4217" "LUF" "442" 100 100 "Flux" ) ;; 2002-01-01 "EUR" 40.3399
-( "Latvian Lats" "lats" "santīms" "ISO4217" "LVL" "428" 100 100 "Ls" ) ;; Valid from 2. may 2009. till 31. december 2013, now "EUR" 0.702804
-( "Libyan Dinar" "dinar" "dirham" "ISO4217" "LYD" "434" 1000 1000 "Ù.د" )
-( "Moroccan Dirham" "dirham" "centime" "ISO4217" "MAD" "504" 100 100 "د.Ù
" )
-( "Moldovan Leu" "leu" "ban" "ISO4217" "MDL" "498" 100 100 "" )
-( "Malagasy Ariary" "ariary" "iraimbilanja" "ISO4217" "MGA" "969" 5 5 "" )
-( "Malagasy Franc" "franc" "centime" "ISO4217" "MGF" "450" 500 500 "" ) ;; 2003-07-31 "MGA" 5
-( "Denar" "denar" "deni" "ISO4217" "MKD" "807" 100 100 "ден" )
-( "Mali Franc" "franc" "centime" "ISO4217" "MLF" "466" 100 100 "" ) ;; 1984-07-01 "XOF" 2
-( "Kyat" "kyat" "pya" "ISO4217" "MMK" "104" 100 100 "K" )
-( "Tugrik" "tugrik" "mongo" "ISO4217" "MNT" "496" 100 100 "â®" )
-( "Pataca" "pataca" "avo" "ISO4217" "MOP" "446" 100 100 "MOP$" )
-( "Ouguiya" "ouguiya" "khoum" "ISO4217" "MRO" "478" 5 5 "UM" )
-( "Maltese Lira" "lira" "cent" "ISO4217" "MTL" "470" 100 100 "Lm" ) ;; 2008-01-01 "EUR" 0.4293
-( "Mauritius Rupee" "rupee" "cent" "ISO4217" "MUR" "480" 100 100 "R" )
-( "Rufiyaa" "rufiyaa" "laari" "ISO4217" "MVR" "462" 100 100 ".Þ" )
-( "Kwacha" "kwacha" "tambala" "ISO4217" "MWK" "454" 100 100 "MK" )
-( "Mexican Peso" "peso" "centavo" "ISO4217" "MXN" "484" 100 100 "Mex$" ) ;;since Jan 1993 (1000 MXP = 1 MXN)
-( "Mexican Unidad de Inversion (UDI)" "UDI" "centavo" "ISO4217" "MXV" "979" 100 100 "" ) ;;fund index based; used for credits, not subject to inflation
-( "Malaysian Ringgit" "ringgit" "sen" "ISO4217" "MYR" "458" 100 100 "RM" )
-( "Mozambique Metical" "metical" "centavo" "ISO4217" "MZM" "508" 100 100 "" ) ;; 2006-07-01 "MZN" 1000
-( "Metical" "metical" "centavo" "ISO4217" "MZN" "943" 100 100 "MTn" )
-( "Namibia Dollar" "dollar" "cent" "ISO4217" "NAD" "516" 100 100 "N$" )
-( "Naira" "naira" "kobo" "ISO4217" "NGN" "566" 100 100 "â¦" )
-( "Nicaraguan Cordoba" "cordoba" "centavo" "ISO4217" "NIC" "558" 100 100 "" ) ;; 1990-10-13 "NIO" 5000000
-( "Cordoba Oro" "cordoba" "centavo" "ISO4217" "NIO" "558" 100 100 "C$" )
-( "Netherlands Guilder" "guilder" "cent" "ISO4217" "NLG" "528" 100 100 "" ) ;; 2002-01-01 "EUR" 2.20371
-( "Norwegian Krone" "krone" "ore" "ISO4217" "NOK" "578" 100 100 "kr" )
-( "Nepalese Rupee" "rupee" "paise" "ISO4217" "NPR" "524" 100 100 "â¨" )
-( "New Zealand Dollar" "dollar" "cent" "ISO4217" "NZD" "554" 100 100 "NZ$" )
-( "Rial Omani" "rial" "baisa" "ISO4217" "OMR" "512" 1000 1000 "ر.ع." )
-( "Balboa" "balboa" "centésimo" "ISO4217" "PAB" "590" 100 100 "฿" )
-( "Nuevo Sol" "nuevo sol" "centimo" "ISO4217" "PEN" "604" 100 100 "S/." )
-( "Kina" "kina" "toea" "ISO4217" "PGK" "598" 100 100 "K" )
-( "Philippine Peso" "peso" "centavo" "ISO4217" "PHP" "608" 100 100 "â±" )
-( "Pakistan Rupee" "rupee" "paisa" "ISO4217" "PKR" "586" 100 100 "Rs" )
-( "Zloty" "zloty" "grosz" "ISO4217" "PLN" "985" 100 100 "zÅ" )
-( "Portuguese Escudo" "escudo" "centavo" "ISO4217" "PTE" "620" 100 100 "$" ) ;; 2002-01-01 "EUR" 200.482
-( "Guarani" "guarani" "centimo" "ISO4217" "PYG" "600" 100 100 "â²" ) ;; scheduled revaluation 2011
-( "Qatari Rial" "rial" "dirham" "ISO4217" "QAR" "634" 100 100 "ر.Ù" )
-( "Romanian Old Leu" "leu" "ban" "ISO4217" "ROL" "642" 100 100 "" ) ;; 2005-07-01 "RON" 10000
-( "New Leu" "leu" "ban" "ISO4217" "RON" "946" 100 100 "" ) ;; scheduled 2012..14: EUR
-( "Serbian Dinar" "dinar" "para" "ISO4217" "RSD" "941" 100 100 "" )
-( "Russian Rouble" "rouble" "kopek" "ISO4217" "RUB" "643" 100 100 "ÑÑб" ) ;; RUR: 1998-01-1 "RUB" 1000; see bug #393185
-( "Rwanda Franc" "franc" "centime" "ISO4217" "RWF" "646" 100 100 "RF" )
-( "Saudi Riyal" "riyal" "halala" "ISO4217" "SAR" "682" 100 100 "ر.س" )
-( "Solomon Islands Dollar" "dollar" "cent" "ISO4217" "SBD" "090" 100 100 "SI$" )
-( "Seychelles Rupee" "rupee" "cent" "ISO4217" "SCR" "690" 100 100 "SR" )
-( "Sudanese Dinar" "dinar" "piastre" "ISO4217" "SDD" "736" 100 100 "" ) ;; 2007-07-01 "SDG" 100, reunite with South
-( "Sudanese Pound" "pound" "qirsh" "ISO4217" "SDG" "938" 100 100 "" )
-( "Sudanese Pound" "pound" "piastre" "ISO4217" "SDP" "736" 100 100 "" ) ;; 1992-01-01 "SDD" 10, but only in the North
-( "Swedish Krona" "krona" "ore" "ISO4217" "SEK" "752" 100 100 "kr" )
-( "Singapore Dollar" "dollar" "cent" "ISO4217" "SGD" "702" 100 100 "S$" )
-( "Saint Helena Pound" "pound" "penny" "ISO4217" "SHP" "654" 100 100 "£" )
-( "Slovenian Tolar" "tolar" "stotin" "ISO4217" "SIT" "705" 100 100 "" ) ;; 2007-01-01 "EUR" 239.640
-( "Slovak Koruna" "koruna" "halier" "ISO4217" "SKK" "703" 100 100 "" ) ;; 2009-01-01 "EUR" 30.126
-( "Leone" "leone" "cent" "ISO4217" "SLL" "694" 100 100 "Le" )
-( "Somali Shilling" "shilling" "centisimi" "ISO4217" "SOS" "706" 100 100 "SoSh" )
-( "Surinam Dollar" "dollar" "cent" "ISO4217" "SRD" "968" 100 100 "$" )
-( "Suriname Guilder" "guilder" "cent" "ISO4217" "SRG" "740" 100 100 "" ) ;; 2004-01-01 "SRD" 1000
-( "Dobra" "dobra" "centimo" "ISO4217" "STD" "678" 100 100 "Db" )
-( "El Salvador Colon" "colon" "centavo" "ISO4217" "SVC" "222" 100 100 "" ) ;; 2001-01-01 "USD" 8.75
-( "Syrian Pound" "pound" "qirsh" "ISO4217" "SYP" "760" 100 100 "" )
-( "Lilangeni" "lilangeni" "cent" "ISO4217" "SZL" "748" 100 100 "L" )
-( "Baht" "baht" "satang" "ISO4217" "THB" "764" 100 100 "฿" )
-( "Tajik Rouble" "ruble" "ruble" "ISO4217" "TJR" "762" 1 1 "" ) ;; 2002-11-01 "TJS" 1000
-( "Somoni" "somoni" "diram" "ISO4217" "TJS" "972" 100 100 "" )
-( "Manat" "manat" "tenga" "ISO4217" "TMM" "795" 100 100 "" ) ;; 2009-01-01 "TMT" 5000
-( "Manat" "manat" "teÅÅe" "ISO4217" "TMT" "934" 100 100 "m" )
-( "Tunisian Dinar" "dinar" "milim" "ISO4217" "TND" "788" 1000 1000 "د.ت" )
-( "Pa'anga" "Pa'anga" "seniti" "ISO4217" "TOP" "776" 100 100 "T$" )
-( "Turkish Lira" "lira" "kuruÅ" "ISO4217" "TRY" "949" 100 100 "â¤" )
-( "Trinidad and Tobago Dollar" "dollar" "cent" "ISO4217" "TTD" "780" 100 100 "TT$" )
-( "New Taiwan Dollar" "dollar" "cent" "ISO4217" "TWD" "901" 100 100 "NT$" )
-( "Tanzanian Shilling" "shilling" "senti" "ISO4217" "TZS" "834" 100 100 "/" )
-( "Hryvnia" "hryvnia" "kopiyka" "ISO4217" "UAH" "980" 100 100 "â´" )
-( "Uganda Shilling" "shilling" "cent" "ISO4217" "UGX" "800" 100 100 "USh" )
-( "US Dollar" "dollar" "cent" "ISO4217" "USD" "840" 100 100 "$" )
-( "US Dollar (Next day)" "dollar" "cent" "ISO4217" "USN" "997" 100 100 "$n" ) ;; funds code
-( "US Dollar (Same day)" "dollar" "cent" "ISO4217" "USS" "998" 100 100 "$s" ) ;; funds code
-( "Uruguay Peso en Unidades Indexadas" "UI" "centesimo" "ISO4217" "UYI" "940" 100 100 "UI" )
-( "Peso Uruguayo" "peso" "centesimo" "ISO4217" "UYU" "858" 100 100 "$U" )
-( "Uzbekistan Sum" "soâm" "tiyin" "ISO4217" "UZS" "860" 100 100 "som" )
-( "Venezuela BolÃvar" "bolivar" "centimo" "ISO4217" "VEB" "862" 100 100 "" ) ;; 2008-01-01 "VEF" 1000
-( "Bolivar Fuerte" "bolivar" "centimo" "ISO4217" "VEF" "937" 100 100 "Bs." )
-( "Dong" "Äá»ng" "xu" "ISO4217" "VND" "704" 100 100 "â«" )
-( "Vatu" "vatu" "centime" "ISO4217" "VUV" "548" 1 1 "Vt" )
-( "Tala" "tala" "sene" "ISO4217" "WST" "882" 100 100 "WS$" )
-( "Yemeni Rial" "riyal" "fils" "ISO4217" "YER" "886" 100 100 "Rl" )
-( "Yugoslavian Dinar" "dinar" "para" "ISO4217" "YUM" "890" 100 100 "" ) ;; 2003 replaced by RSD 1
-( "Rand" "rand" "cent" "ISO4217" "ZAR" "710" 100 100 "R" )
-( "Kwacha (old)" "kwacha" "ngwee" "ISO4217" "ZMK" "894" 100 100 "ZK" ) ;; replaced by ZMW from 2013-01-01 onwards
-( "Zambian Kwacha" "kwacha" "ngwee" "ISO4217" "ZMW" "967" 100 100 "ZK" ) ;; replaced ZMK from 2013-01-01 onwards
-( "Zimbabwe Dollar" "dollar" "cent" "ISO4217" "ZWD" "716" 100 100 "" ) ;; 2006-08-01 "ZWN" 1000, 2008-08-01 "ZWR" 10000000000, 2009-02-01 "ZWD" 1000000000000
-( "Zimbabwe Dollar" "dollar" "cent" "ISO4217" "ZWL" "716" 100 100 "Z.$" ) ;; 2009-04 suspended for at least 1 year
-
-;; multinational
-( "CFA Franc BEAC" "franc" "centime" "ISO4217" "XAF" "950" 1 100 "" ) ;; Banque des Ãtats de l'Afrique Centrale
-;; XB* should be replaced by EUR, if I am right
-( "East Caribbean Dollar" "dollar" "cent" "ISO4217" "XCD" "951" 100 100 "EC$" ) ;; Organisation of Eastern Caribbean States
-( "SDR" "SDR" "SDR" "ISO4217" "XDR" "960" 1 1 "" ) ;; International Monetary Funds Special Drawing Rights
-( "Gold-Franc" "franc" "centime" "ISO4217" "XFO" "nil" 1 100 "" ) ;; Bank for International Settlements
-( "UIC-Franc" "franc" "centime" "ISO4217" "XFU" "nil" 1 100 "" ) ;; Union Internationale des Chemins de fer
-( "CFA Franc BCEAO" "franc" "centime" "ISO4217" "XOF" "952" 1 100 "" ) ;; Banque Centrale des Ãtats de l'Afrique de l'Ouest
-( "CFP Franc" "franc" "centime" "ISO4217" "XPF" "953" 1 100 "" ) ;; Communauté Financière du Pacifique
-( "Code for testing purposes" "TEST" "test" "ISO4217" "XTS" "963" 1 1000000 "" ) ;; Code reserved for testing purposes
-( "No currency" "" "" "ISO4217" "XXX" "999" 1 1000000 "" )
-
-;; precious metals
-( "Silver" "ounce" "ounce" "ISO4217" "XAG" "961" 1 1000000 "" )
-( "Gold" "ounce" "ounce" "ISO4217" "XAU" "959" 1 1000000 "" )
-( "Palladium" "ounce" "ounce" "ISO4217" "XPD" "964" 1 1000000 "" )
-( "Platinum" "ounce" "ounce" "ISO4217" "XPT" "962" 1 1000000 "" )
diff --git a/src/engine/iso-4217-currencies.xml b/src/engine/iso-4217-currencies.xml
new file mode 100644
index 0000000..9a9a263
--- /dev/null
+++ b/src/engine/iso-4217-currencies.xml
@@ -0,0 +1,3009 @@
+<!-- currency descriptions for ISO4217 currencies.
+
+ This file is not currently used at runtime. It's used to generate
+ the contents of iso-4217-currencies.c.
+
+ You can find Currency Information from the following sites:
+ http://www.evertype.com/standards/iso4217/iso4217-en.html
+ http://www.xe.com/iso4217.htm
+ http://www.thefinancials.com/vortex/CurrencyFormats.html
+ But currently used was
+ http://en.wikipedia.org/wiki/ISO4217 and relatives and the official at
+ http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/currency_codes/currency_codes_list-1.htm
+
+ Learned from some bugs (543061, 564450), please keep in mind:
+ If there are no coins for subunits, subunits might still be in use on the paper
+
+ Format:
+ <currency
+ isocode
+ fullname
+ unitname*
+ partname*
+ namespace
+ exchange-code
+ parts-per-unit*
+ smallest-fraction
+ local-symbol
+ />
+ planned extensions: replace-date, by-ISO, frozen-rate [x old : 1 new]
+
+ where * means currently unused;
+ fullname should be the same as in /usr/share/xml/iso-codes/iso_4217.xml from package iso-codes
+ exchange-code is stored in ISIN/CUSIP;
+ see iso-currencies-to-c for details and recent changes.
+ Sort order by ISO codes for simpler maintainance
+-->
+
+
+<currencylist>
+<!-- "ADF" - "Andorran Franc"
+ 2002-01-01 "FRF" 1 ;; = 1/1 French Franc replaced by EUR
+-->
+<currency
+ isocode="ADF"
+ fullname="Andorran Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="950"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â£"
+/>
+<!-- "ADP" - "Andorran Peseta"
+ 2002-01-01 "ESP" 1 ;; = 1/1 Spanish Peseta replaced by EUR
+-->
+<currency
+ isocode="ADP"
+ fullname="Andorran Peseta"
+ unitname="peseta"
+ partname="centimo"
+ namespace="ISO4217"
+ exchange-code="724"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â§"
+/>
+<!-- "AED" - "UAE Dirham"
+ There is also an arabic symbol for "Dhs"
+-->
+<currency
+ isocode="AED"
+ fullname="UAE Dirham"
+ unitname="dirham"
+ partname="fil"
+ namespace="ISO4217"
+ exchange-code="784"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Dhs"
+/>
+<!-- "AFA" - "Afghani"
+ through 2003-01-02 "AFN" 1000
+-->
+<currency
+ isocode="AFA"
+ fullname="Afghani"
+ unitname="afghani"
+ partname="pul"
+ namespace="ISO4217"
+ exchange-code="004"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "AFN" - "Afghani"
+-->
+<currency
+ isocode="AFN"
+ fullname="Afghani"
+ unitname="afghani"
+ partname="pul"
+ namespace="ISO4217"
+ exchange-code="971"
+ parts-per-unit="1"
+ smallest-fraction="1"
+ local-symbol=""
+/>
+<!-- "ALL" - "Lek"
+-->
+<currency
+ isocode="ALL"
+ fullname="Lek"
+ unitname="lek"
+ partname="qindarka"
+ namespace="ISO4217"
+ exchange-code="008"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "AMD" - "Armenian Dram"
+-->
+<currency
+ isocode="AMD"
+ fullname="Armenian Dram"
+ unitname="dram"
+ partname="Luma"
+ namespace="ISO4217"
+ exchange-code="051"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Õ¤Ö."
+/>
+<!-- "ANG" - "Netherlands Antillian Guilder"
+ through 2010-10 ???
+-->
+<currency
+ isocode="ANG"
+ fullname="Netherlands Antillian Guilder"
+ unitname="guilder"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="532"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="NAÆ"
+/>
+<!-- "AOA" - "Kwanza"
+-->
+<currency
+ isocode="AOA"
+ fullname="Kwanza"
+ unitname="kwanza"
+ partname="cêntimos"
+ namespace="ISO4217"
+ exchange-code="973"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Kz"
+/>
+<!-- "AON" - "Angola New Kwanza"
+ 1995-07-01 "AOR" 1000
+-->
+<currency
+ isocode="AON"
+ fullname="Angola New Kwanza"
+ unitname="new kwanza"
+ partname="lwei"
+ namespace="ISO4217"
+ exchange-code="024"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "AOR" - "Angola Kwanza Reajustado"
+ 2000-02-01 "AOA" 1000000
+-->
+<currency
+ isocode="AOR"
+ fullname="Angola Kwanza Reajustado"
+ unitname="reajustado kwanza"
+ partname="centimos"
+ namespace="ISO4217"
+ exchange-code="982"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "ARA" - "Argentine Austral"
+ 1992-01-01 "ARS" 10000
+-->
+<currency
+ isocode="ARA"
+ fullname="Argentine Austral"
+ unitname="austral"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="XXX"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "ARS" - "Argentine Peso"
+-->
+<currency
+ isocode="ARS"
+ fullname="Argentine Peso"
+ unitname="peso"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="032"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "ATS" - "Austrian Schilling"
+ 2002-01-01 "EUR" 13.7603
+-->
+<currency
+ isocode="ATS"
+ fullname="Austrian Schilling"
+ unitname="shilling"
+ partname="groschen"
+ namespace="ISO4217"
+ exchange-code="040"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="öS"
+/>
+<!-- "AUD" - "Australian Dollar"
+-->
+<currency
+ isocode="AUD"
+ fullname="Australian Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="036"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="$"
+/>
+<!-- "AWG" - "Aruban Guilder"
+ ""
+-->
+<currency
+ isocode="AWG"
+ fullname="Aruban Guilder"
+ unitname="florin"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="533"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Afl."
+/>
+<!-- "AZM" - "Azerbaijanian Manat"
+ 2006-01-01 "AZN" 5000
+-->
+<currency
+ isocode="AZM"
+ fullname="Azerbaijanian Manat"
+ unitname="manat"
+ partname="qÉpik"
+ namespace="ISO4217"
+ exchange-code="031"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "AZN" - "Azerbaijanian Manat"
+ "m" should be a 90° rotated ⬠sign, but currently not encoded in Unicode
+-->
+<currency
+ isocode="AZN"
+ fullname="Azerbaijanian Manat"
+ unitname="manat"
+ partname="qÉpik"
+ namespace="ISO4217"
+ exchange-code="944"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="m"
+/>
+<!-- "BAD" - "Bosnia and Herzegovina Dinar"
+ 1998-06-22 "BAM" 100 ;; there was a revaluation 1994-08: 10000:1
+-->
+<currency
+ isocode="BAD"
+ fullname="Bosnia and Herzegovina Dinar"
+ unitname="B.H. dinar"
+ partname="para"
+ namespace="ISO4217"
+ exchange-code="070"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "BAM" - "Convertible Marks"
+-->
+<currency
+ isocode="BAM"
+ fullname="Convertible Marks"
+ unitname="B.H. mark"
+ partname="fening"
+ namespace="ISO4217"
+ exchange-code="977"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="KM"
+/>
+<!-- "BBD" - "Barbados Dollar"
+-->
+<currency
+ isocode="BBD"
+ fullname="Barbados Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="052"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Bds$"
+/>
+<!-- "BDT" - "Taka"
+-->
+<currency
+ isocode="BDT"
+ fullname="Taka"
+ unitname="taka"
+ partname="paisa"
+ namespace="ISO4217"
+ exchange-code="050"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="à§³"
+/>
+<!-- "BEF" - "Belgian Franc"
+ 2002-01-01 "EUR" 40.3399
+-->
+<currency
+ isocode="BEF"
+ fullname="Belgian Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="056"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="fr."
+/>
+<!-- "BGL" - "Bulgarian Lev A/99"
+ 1999-07-05 "BGN" 1000
+-->
+<currency
+ isocode="BGL"
+ fullname="Bulgarian Lev A/99"
+ unitname="lev"
+ partname="stotinki"
+ namespace="ISO4217"
+ exchange-code="100"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "BGN" - "Bulgarian Lev"
+ scheduled replacement: 2012-01-01 "EUR" 1.95583 (=DEM)
+-->
+<currency
+ isocode="BGN"
+ fullname="Bulgarian Lev"
+ unitname="lev"
+ partname="stotinki"
+ namespace="ISO4217"
+ exchange-code="975"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="лв"
+/>
+<!-- "BHD" - "Bahraini Dinar"
+ ar:.د.ب
+-->
+<currency
+ isocode="BHD"
+ fullname="Bahraini Dinar"
+ unitname="dinar"
+ partname="fil"
+ namespace="ISO4217"
+ exchange-code="048"
+ parts-per-unit="1000"
+ smallest-fraction="1000"
+ local-symbol="BD"
+/>
+<!-- "BIF" - "Burundi Franc"
+-->
+<currency
+ isocode="BIF"
+ fullname="Burundi Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="108"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="FBu"
+/>
+<!-- "BMD" - "Bermudian Dollar"
+-->
+<currency
+ isocode="BMD"
+ fullname="Bermudian Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="060"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="BD$"
+/>
+<!-- "BND" - "Brunei Dollar"
+-->
+<currency
+ isocode="BND"
+ fullname="Brunei Dollar"
+ unitname="dollar"
+ partname="sen"
+ namespace="ISO4217"
+ exchange-code="096"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="B$"
+/>
+<!-- "BOB" - "Boliviano"
+-->
+<currency
+ isocode="BOB"
+ fullname="Boliviano"
+ unitname="boliviano"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="068"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Bs."
+/>
+<!-- "BOV" - "Mvdol"
+ Mantenimiento de Valor respecto al Dólar
+-->
+<currency
+ isocode="BOV"
+ fullname="Mvdol"
+ unitname="mvdol"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="984"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "BRE" - "Brazilian Cruzeiro"
+ 1993-08-01 "BRR" 1000
+-->
+<currency
+ isocode="BRE"
+ fullname="Brazilian Cruzeiro"
+ unitname="cruzeiro"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="076"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "BRL" - "Brazilian Real"
+-->
+<currency
+ isocode="BRL"
+ fullname="Brazilian Real"
+ unitname="real"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="986"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="R$"
+/>
+<!-- "BRR" - "Brazilian Cruzeiro Real"
+ 1994-07-01 "BRL" 2750
+-->
+<currency
+ isocode="BRR"
+ fullname="Brazilian Cruzeiro Real"
+ unitname="cruzeiro"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="987"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "BSD" - "Bahamian Dollar"
+-->
+<currency
+ isocode="BSD"
+ fullname="Bahamian Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="044"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="B$"
+/>
+<!-- "BTN" - "Ngultrum"
+-->
+<currency
+ isocode="BTN"
+ fullname="Ngultrum"
+ unitname="ngultrum"
+ partname="chetrum"
+ namespace="ISO4217"
+ exchange-code="064"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Nu."
+/>
+<!-- "BWP" - "Pula"
+-->
+<currency
+ isocode="BWP"
+ fullname="Pula"
+ unitname="pula"
+ partname="thebe"
+ namespace="ISO4217"
+ exchange-code="072"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="P"
+/>
+<!-- "BYB" - "Belarussian Rouble"
+ 2000-01-01 "BYR" 1000
+-->
+<currency
+ isocode="BYB"
+ fullname="Belarussian Rouble"
+ unitname="ruble"
+ partname="kapeyka"
+ namespace="ISO4217"
+ exchange-code=""
+ parts-per-unit="100"
+ smallest-fraction="1"
+ local-symbol=""
+/>
+<!-- "BYR" - "Belarussian Ruble"
+-->
+<currency
+ isocode="BYR"
+ fullname="Belarussian Ruble"
+ unitname="ruble"
+ partname="ruble"
+ namespace="ISO4217"
+ exchange-code="974"
+ parts-per-unit="1"
+ smallest-fraction="100"
+ local-symbol="Br"
+/>
+<!-- "BZD" - "Belize Dollar"
+-->
+<currency
+ isocode="BZD"
+ fullname="Belize Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="084"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="BZ$"
+/>
+<!-- "CAD" - "Canadian Dollar"
+-->
+<currency
+ isocode="CAD"
+ fullname="Canadian Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="124"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="C$"
+/>
+<!-- "CDF" - "Franc Congolais"
+-->
+<currency
+ isocode="CDF"
+ fullname="Franc Congolais"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="976"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="FC"
+/>
+<!-- "CHE" - "WIR Euro"
+ complementary currency by WIR Wirtschaftsring-Genossenschaft
+-->
+<currency
+ isocode="CHE"
+ fullname="WIR Euro"
+ unitname="euro"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="974"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "CHF" - "Swiss Franc"
+-->
+<currency
+ isocode="CHF"
+ fullname="Swiss Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="756"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="SFr."
+/>
+<!-- "CHW" - "WIR Franc"
+ complementary currency by WIR Wirtschaftsring-Genossenschaft
+-->
+<currency
+ isocode="CHW"
+ fullname="WIR Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="948"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "CLF" - "Unidades de fomento"
+ international secured loans; decimals not defined but required for conversion as of 2011-03-18 1 CLF = 21,560.19 CLP
+-->
+<currency
+ isocode="CLF"
+ fullname="Unidades de fomento"
+ unitname="UF"
+ partname=""
+ namespace="ISO4217"
+ exchange-code="990"
+ parts-per-unit="10000"
+ smallest-fraction="10000"
+ local-symbol=""
+/>
+<!-- "CLP" - "Chilean Peso"
+ "$" should have 2 strokes
+-->
+<currency
+ isocode="CLP"
+ fullname="Chilean Peso"
+ unitname="peso"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="152"
+ parts-per-unit="100"
+ smallest-fraction="1"
+ local-symbol="$"
+/>
+<!-- "CNY" - "Yuan Renminbi"
+-->
+<currency
+ isocode="CNY"
+ fullname="Yuan Renminbi"
+ unitname="renminbi"
+ partname="fen"
+ namespace="ISO4217"
+ exchange-code="156"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="å
"
+/>
+<!-- "COP" - "Colombian Peso"
+-->
+<currency
+ isocode="COP"
+ fullname="Colombian Peso"
+ unitname="peso"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="170"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="$"
+/>
+<!-- "COU" - "Unidad de Valor Real"
+-->
+<currency
+ isocode="COU"
+ fullname="Unidad de Valor Real"
+ unitname="UVR"
+ partname="???"
+ namespace="ISO4217"
+ exchange-code="970"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "CRC" - "Costa Rican Colon"
+-->
+<currency
+ isocode="CRC"
+ fullname="Costa Rican Colon"
+ unitname="colon"
+ partname="centimo"
+ namespace="ISO4217"
+ exchange-code="188"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â¡"
+/>
+<!-- "CUP" - "Cuban Peso"
+-->
+<currency
+ isocode="CUP"
+ fullname="Cuban Peso"
+ unitname="peso"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="192"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="$MN"
+/>
+<!-- "CUC" - "Cuban Convertible Peso"
+-->
+<currency
+ isocode="CUC"
+ fullname="Cuban Convertible Peso"
+ unitname="peso"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="931"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="CUC$"
+/>
+<!-- "CVE" - "Cape Verde Escudo"
+-->
+<currency
+ isocode="CVE"
+ fullname="Cape Verde Escudo"
+ unitname="escudo"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="132"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Esc"
+/>
+<!-- "CYP" - "Cyprus Pound"
+ 2008-01-01 "EUR" 0.585274
+-->
+<currency
+ isocode="CYP"
+ fullname="Cyprus Pound"
+ unitname="pound"
+ partname="pence"
+ namespace="ISO4217"
+ exchange-code="196"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="£"
+/>
+<!-- "CZK" - "Czech Koruna"
+-->
+<currency
+ isocode="CZK"
+ fullname="Czech Koruna"
+ unitname="koruna"
+ partname="haleru"
+ namespace="ISO4217"
+ exchange-code="203"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="KÄ"
+/>
+<!-- "DEM" - "Deutsche Mark"
+ 2002-01-01 "EUR" 1.95583
+-->
+<currency
+ isocode="DEM"
+ fullname="Deutsche Mark"
+ unitname="deutschemark"
+ partname="pfennig"
+ namespace="ISO4217"
+ exchange-code="280"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="DM"
+/>
+<!-- "DJF" - "Djibouti Franc"
+-->
+<currency
+ isocode="DJF"
+ fullname="Djibouti Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="262"
+ parts-per-unit="100"
+ smallest-fraction="1"
+ local-symbol="Fdj"
+/>
+<!-- "DKK" - "Danish Krone"
+-->
+<currency
+ isocode="DKK"
+ fullname="Danish Krone"
+ unitname="krone"
+ partname="øre"
+ namespace="ISO4217"
+ exchange-code="208"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="kr"
+/>
+<!-- "DOP" - "Dominican Peso"
+-->
+<currency
+ isocode="DOP"
+ fullname="Dominican Peso"
+ unitname="peso"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="214"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="RD$"
+/>
+<!-- "DZD" - "Algerian Dinar"
+ ar.: دج
+-->
+<currency
+ isocode="DZD"
+ fullname="Algerian Dinar"
+ unitname="dinar"
+ partname="santeem"
+ namespace="ISO4217"
+ exchange-code="012"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="DA"
+/>
+<!-- "ECS" - "Ecuador Sucre"
+ 2000-09-15 "USD" 25000
+-->
+<currency
+ isocode="ECS"
+ fullname="Ecuador Sucre"
+ unitname="sucre"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="218"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="S/."
+/>
+<!-- "EEK" - "Kroon"
+ 2011-01-01 "EUR" 15.6466
+-->
+<currency
+ isocode="EEK"
+ fullname="Kroon"
+ unitname="kroon"
+ partname="sent"
+ namespace="ISO4217"
+ exchange-code="233"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="kr"
+/>
+<!-- "EGP" - "Egyptian Pound"
+ ar.:ج.Ù
maleem=0.001 £E for accounting?
+-->
+<currency
+ isocode="EGP"
+ fullname="Egyptian Pound"
+ unitname="pound"
+ partname="qirsh"
+ namespace="ISO4217"
+ exchange-code="818"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="£E"
+/>
+<!-- "ERN" - "Nakfa"
+-->
+<currency
+ isocode="ERN"
+ fullname="Nakfa"
+ unitname="nakfa"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="232"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Nfa"
+/>
+<!-- "ESP" - "Spanish Peseta"
+ 2002-01-01 "EUR" 166.386
+-->
+<currency
+ isocode="ESP"
+ fullname="Spanish Peseta"
+ unitname="peseta"
+ partname="centimo"
+ namespace="ISO4217"
+ exchange-code="724"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â§"
+/>
+<!-- "ETB" - "Ethiopian Birr"
+-->
+<currency
+ isocode="ETB"
+ fullname="Ethiopian Birr"
+ unitname="birr"
+ partname="santim"
+ namespace="ISO4217"
+ exchange-code="230"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Br"
+/>
+<!-- "EUR" - "Euro"
+-->
+<currency
+ isocode="EUR"
+ fullname="Euro"
+ unitname="euro"
+ partname="euro-cent"
+ namespace="ISO4217"
+ exchange-code="978"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â¬"
+/>
+<!-- "FIM" - "Finnish Markka"
+ 2002-01-01 "EUR" 5.94573
+-->
+<currency
+ isocode="FIM"
+ fullname="Finnish Markka"
+ unitname="markka"
+ partname="penni"
+ namespace="ISO4217"
+ exchange-code="246"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="mk"
+/>
+<!-- "FJD" - "Fiji Dollar"
+-->
+<currency
+ isocode="FJD"
+ fullname="Fiji Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="242"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="FJ$"
+/>
+<!-- "FKP" - "Falkland Islands Pound"
+-->
+<currency
+ isocode="FKP"
+ fullname="Falkland Islands Pound"
+ unitname="pound"
+ partname="pence"
+ namespace="ISO4217"
+ exchange-code="238"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="FK£"
+/>
+<!-- "FRF" - "French Franc"
+ 2002-01-01 "EUR" 6.55957
+-->
+<currency
+ isocode="FRF"
+ fullname="French Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="250"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â£"
+/>
+<!-- "GBP" - "Pound Sterling"
+-->
+<currency
+ isocode="GBP"
+ fullname="Pound Sterling"
+ unitname="pound"
+ partname="pence"
+ namespace="ISO4217"
+ exchange-code="826"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="£"
+/>
+<!-- "GEL" - "Lari"
+-->
+<currency
+ isocode="GEL"
+ fullname="Lari"
+ unitname="lari"
+ partname="tetri"
+ namespace="ISO4217"
+ exchange-code="981"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "GHC" - "Cedi"
+ 2007-07-01 "GHS" 10000
+-->
+<currency
+ isocode="GHC"
+ fullname="Cedi"
+ unitname="cedi"
+ partname="pesewa"
+ namespace="ISO4217"
+ exchange-code="288"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "GHS" - "Ghana Cedi"
+-->
+<currency
+ isocode="GHS"
+ fullname="Ghana Cedi"
+ unitname="cedi"
+ partname="pesewa"
+ namespace="ISO4217"
+ exchange-code="936"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="GHâµ"
+/>
+<!-- "GIP" - "Gibraltar Pound"
+-->
+<currency
+ isocode="GIP"
+ fullname="Gibraltar Pound"
+ unitname="pound"
+ partname="pence"
+ namespace="ISO4217"
+ exchange-code="292"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="£"
+/>
+<!-- "GMD" - "Dalasi"
+-->
+<currency
+ isocode="GMD"
+ fullname="Dalasi"
+ unitname="dalasi"
+ partname="butut"
+ namespace="ISO4217"
+ exchange-code="270"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="D"
+/>
+<!-- "GNF" - "Guinea Franc"
+-->
+<currency
+ isocode="GNF"
+ fullname="Guinea Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="324"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="FG"
+/>
+<!-- "GRD" - "Greek Drachma"
+ 2002-01-01 "EUR" 340.750
+-->
+<currency
+ isocode="GRD"
+ fullname="Greek Drachma"
+ unitname="drachma"
+ partname="lepta"
+ namespace="ISO4217"
+ exchange-code="200"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="ÎÏ."
+/>
+<!-- "GTQ" - "Quetzal"
+-->
+<currency
+ isocode="GTQ"
+ fullname="Quetzal"
+ unitname="quetzal"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="320"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Q"
+/>
+<!-- "GWP" - "Guinea-Bissau Peso"
+ 1997-01-01 "XOF" 65
+-->
+<currency
+ isocode="GWP"
+ fullname="Guinea-Bissau Peso"
+ unitname="peso"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="624"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "GYD" - "Guyana Dollar"
+-->
+<currency
+ isocode="GYD"
+ fullname="Guyana Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="328"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="G$"
+/>
+<!-- "HKD" - "Hong Kong Dollar"
+-->
+<currency
+ isocode="HKD"
+ fullname="Hong Kong Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="344"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="HK$"
+/>
+<!-- "HNL" - "Lempira"
+-->
+<currency
+ isocode="HNL"
+ fullname="Lempira"
+ unitname="lempira"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="340"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="L"
+/>
+<!-- "HRK" - "Croatian Kuna"
+-->
+<currency
+ isocode="HRK"
+ fullname="Croatian Kuna"
+ unitname="kuna"
+ partname="lipa"
+ namespace="ISO4217"
+ exchange-code="191"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="kn"
+/>
+<!-- "HTG" - "Gourde"
+-->
+<currency
+ isocode="HTG"
+ fullname="Gourde"
+ unitname="gourde"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="332"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="G"
+/>
+<!-- "HUF" - "Forint"
+-->
+<currency
+ isocode="HUF"
+ fullname="Forint"
+ unitname="forint"
+ partname="fillér"
+ namespace="ISO4217"
+ exchange-code="348"
+ parts-per-unit="1"
+ smallest-fraction="100"
+ local-symbol="Ft"
+/>
+<!-- "IDR" - "Rupiah"
+-->
+<currency
+ isocode="IDR"
+ fullname="Rupiah"
+ unitname="rupiah"
+ partname="sen"
+ namespace="ISO4217"
+ exchange-code="360"
+ parts-per-unit="1"
+ smallest-fraction="100"
+ local-symbol="Rp"
+/>
+<!-- "IEP" - "Irish Pound"
+ 2002-01-01 "EUR" 0.787564
+-->
+<currency
+ isocode="IEP"
+ fullname="Irish Pound"
+ unitname="punt"
+ partname="pingin"
+ namespace="ISO4217"
+ exchange-code="372"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="£"
+/>
+<!-- "ILS" - "New Israeli Sheqel"
+-->
+<currency
+ isocode="ILS"
+ fullname="New Israeli Sheqel"
+ unitname="new shekel"
+ partname="agora"
+ namespace="ISO4217"
+ exchange-code="376"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="âª"
+/>
+<!-- "INR" - "Indian Rupee"
+-->
+<currency
+ isocode="INR"
+ fullname="Indian Rupee"
+ unitname="rupee"
+ partname="paisa"
+ namespace="ISO4217"
+ exchange-code="356"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â¹"
+/>
+<!-- "IQD" - "Iraqi Dinar"
+-->
+<currency
+ isocode="IQD"
+ fullname="Iraqi Dinar"
+ unitname="dinar"
+ partname="fil"
+ namespace="ISO4217"
+ exchange-code="368"
+ parts-per-unit="1000"
+ smallest-fraction="1000"
+ local-symbol="ع.د"
+/>
+<!-- "IRR" - "Iranian Rial"
+-->
+<currency
+ isocode="IRR"
+ fullname="Iranian Rial"
+ unitname="rial"
+ partname="dinar"
+ namespace="ISO4217"
+ exchange-code="364"
+ parts-per-unit="1"
+ smallest-fraction="1"
+ local-symbol="﷼﷼"
+/>
+<!-- "ISK" - "Iceland Krona"
+-->
+<currency
+ isocode="ISK"
+ fullname="Iceland Krona"
+ unitname="krona"
+ partname="aur"
+ namespace="ISO4217"
+ exchange-code="352"
+ parts-per-unit="1"
+ smallest-fraction="100"
+ local-symbol="kr"
+/>
+<!-- "ITL" - "Italian Lira"
+ 2002-01-01 "EUR" 1936.27
+-->
+<currency
+ isocode="ITL"
+ fullname="Italian Lira"
+ unitname="lira"
+ partname="lira"
+ namespace="ISO4217"
+ exchange-code="380"
+ parts-per-unit="1"
+ smallest-fraction="1"
+ local-symbol="â¤"
+/>
+<!-- "JMD" - "Jamaican Dollar"
+-->
+<currency
+ isocode="JMD"
+ fullname="Jamaican Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="388"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="J$"
+/>
+<!-- "JOD" - "Jordanian Dinar"
+-->
+<currency
+ isocode="JOD"
+ fullname="Jordanian Dinar"
+ unitname="dinar"
+ partname="fil"
+ namespace="ISO4217"
+ exchange-code="400"
+ parts-per-unit="1000"
+ smallest-fraction="1000"
+ local-symbol="JD"
+/>
+<!-- "JPY" - "Yen"
+-->
+<currency
+ isocode="JPY"
+ fullname="Yen"
+ unitname="yen"
+ partname="sen"
+ namespace="ISO4217"
+ exchange-code="392"
+ parts-per-unit="100"
+ smallest-fraction="1"
+ local-symbol="Â¥"
+/>
+<!-- "KES" - "Kenyan Shilling"
+-->
+<currency
+ isocode="KES"
+ fullname="Kenyan Shilling"
+ unitname="shilling"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="404"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Ksh"
+/>
+<!-- "KGS" - "Som"
+-->
+<currency
+ isocode="KGS"
+ fullname="Som"
+ unitname="som"
+ partname="tyiyn"
+ namespace="ISO4217"
+ exchange-code="417"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "KHR" - "Riel"
+-->
+<currency
+ isocode="KHR"
+ fullname="Riel"
+ unitname="riel"
+ partname="sen"
+ namespace="ISO4217"
+ exchange-code="116"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "KMF" - "Comoro Franc"
+-->
+<currency
+ isocode="KMF"
+ fullname="Comoro Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="174"
+ parts-per-unit="100"
+ smallest-fraction="1"
+ local-symbol="FC"
+/>
+<!-- "KPW" - "North Korean Won"
+-->
+<currency
+ isocode="KPW"
+ fullname="North Korean Won"
+ unitname="won"
+ partname="chon"
+ namespace="ISO4217"
+ exchange-code="408"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â©"
+/>
+<!-- "KRW" - "Won"
+-->
+<currency
+ isocode="KRW"
+ fullname="Won"
+ unitname="won"
+ partname="chon"
+ namespace="ISO4217"
+ exchange-code="410"
+ parts-per-unit="1"
+ smallest-fraction="100"
+ local-symbol="â©"
+/>
+<!-- "KWD" - "Kuwaiti Dinar"
+-->
+<currency
+ isocode="KWD"
+ fullname="Kuwaiti Dinar"
+ unitname="dinar"
+ partname="fils"
+ namespace="ISO4217"
+ exchange-code="414"
+ parts-per-unit="1000"
+ smallest-fraction="1000"
+ local-symbol="د.Ù"
+/>
+<!-- "KYD" - "Cayman Islands Dollar"
+-->
+<currency
+ isocode="KYD"
+ fullname="Cayman Islands Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="136"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="CI$"
+/>
+<!-- "KZT" - "Tenge"
+-->
+<currency
+ isocode="KZT"
+ fullname="Tenge"
+ unitname="tenge"
+ partname="tiyn"
+ namespace="ISO4217"
+ exchange-code="398"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â¸"
+/>
+<!-- "LAK" - "Kip"
+-->
+<currency
+ isocode="LAK"
+ fullname="Kip"
+ unitname="kip"
+ partname="att"
+ namespace="ISO4217"
+ exchange-code="418"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â"
+/>
+<!-- "LBP" - "Lebanese Pound"
+-->
+<currency
+ isocode="LBP"
+ fullname="Lebanese Pound"
+ unitname="pound"
+ partname="piastre"
+ namespace="ISO4217"
+ exchange-code="422"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Ù.Ù"
+/>
+<!-- "LKR" - "Sri Lanka Rupee"
+-->
+<currency
+ isocode="LKR"
+ fullname="Sri Lanka Rupee"
+ unitname="rupee"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="144"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â¨"
+/>
+<!-- "LRD" - "Liberian Dollar"
+-->
+<currency
+ isocode="LRD"
+ fullname="Liberian Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="430"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="L$"
+/>
+<!-- "LSL" - "Loti"
+-->
+<currency
+ isocode="LSL"
+ fullname="Loti"
+ unitname="loti"
+ partname="sente"
+ namespace="ISO4217"
+ exchange-code="426"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="M"
+/>
+<!-- "LTL" - "Lithuanian Litas"
+-->
+<currency
+ isocode="LTL"
+ fullname="Lithuanian Litas"
+ unitname="litas"
+ partname="centas"
+ namespace="ISO4217"
+ exchange-code="440"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Lt"
+/>
+<!-- "LUF" - "Luxembourg Franc"
+ 2002-01-01 "EUR" 40.3399
+-->
+<currency
+ isocode="LUF"
+ fullname="Luxembourg Franc"
+ unitname="frang"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="442"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Flux"
+/>
+<!-- "LVL" - "Latvian Lats"
+ Valid from 2. may 2009. till 31. december 2013, now "EUR" 0.702804
+-->
+<currency
+ isocode="LVL"
+ fullname="Latvian Lats"
+ unitname="lats"
+ partname="santīms"
+ namespace="ISO4217"
+ exchange-code="428"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Ls"
+/>
+<!-- "LYD" - "Libyan Dinar"
+-->
+<currency
+ isocode="LYD"
+ fullname="Libyan Dinar"
+ unitname="dinar"
+ partname="dirham"
+ namespace="ISO4217"
+ exchange-code="434"
+ parts-per-unit="1000"
+ smallest-fraction="1000"
+ local-symbol="Ù.د"
+/>
+<!-- "MAD" - "Moroccan Dirham"
+-->
+<currency
+ isocode="MAD"
+ fullname="Moroccan Dirham"
+ unitname="dirham"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="504"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="د.Ù
"
+/>
+<!-- "MDL" - "Moldovan Leu"
+-->
+<currency
+ isocode="MDL"
+ fullname="Moldovan Leu"
+ unitname="leu"
+ partname="ban"
+ namespace="ISO4217"
+ exchange-code="498"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "MGA" - "Malagasy Ariary"
+-->
+<currency
+ isocode="MGA"
+ fullname="Malagasy Ariary"
+ unitname="ariary"
+ partname="iraimbilanja"
+ namespace="ISO4217"
+ exchange-code="969"
+ parts-per-unit="5"
+ smallest-fraction="5"
+ local-symbol=""
+/>
+<!-- "MGF" - "Malagasy Franc"
+ 2003-07-31 "MGA" 5
+-->
+<currency
+ isocode="MGF"
+ fullname="Malagasy Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="450"
+ parts-per-unit="500"
+ smallest-fraction="500"
+ local-symbol=""
+/>
+<!-- "MKD" - "Denar"
+-->
+<currency
+ isocode="MKD"
+ fullname="Denar"
+ unitname="denar"
+ partname="deni"
+ namespace="ISO4217"
+ exchange-code="807"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="ден"
+/>
+<!-- "MLF" - "Mali Franc"
+ 1984-07-01 "XOF" 2
+-->
+<currency
+ isocode="MLF"
+ fullname="Mali Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="466"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "MMK" - "Kyat"
+-->
+<currency
+ isocode="MMK"
+ fullname="Kyat"
+ unitname="kyat"
+ partname="pya"
+ namespace="ISO4217"
+ exchange-code="104"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="K"
+/>
+<!-- "MNT" - "Tugrik"
+-->
+<currency
+ isocode="MNT"
+ fullname="Tugrik"
+ unitname="tugrik"
+ partname="mongo"
+ namespace="ISO4217"
+ exchange-code="496"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â®"
+/>
+<!-- "MOP" - "Pataca"
+-->
+<currency
+ isocode="MOP"
+ fullname="Pataca"
+ unitname="pataca"
+ partname="avo"
+ namespace="ISO4217"
+ exchange-code="446"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="MOP$"
+/>
+<!-- "MRO" - "Ouguiya"
+-->
+<currency
+ isocode="MRO"
+ fullname="Ouguiya"
+ unitname="ouguiya"
+ partname="khoum"
+ namespace="ISO4217"
+ exchange-code="478"
+ parts-per-unit="5"
+ smallest-fraction="5"
+ local-symbol="UM"
+/>
+<!-- "MTL" - "Maltese Lira"
+ 2008-01-01 "EUR" 0.4293
+-->
+<currency
+ isocode="MTL"
+ fullname="Maltese Lira"
+ unitname="lira"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="470"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Lm"
+/>
+<!-- "MUR" - "Mauritius Rupee"
+-->
+<currency
+ isocode="MUR"
+ fullname="Mauritius Rupee"
+ unitname="rupee"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="480"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="R"
+/>
+<!-- "MVR" - "Rufiyaa"
+-->
+<currency
+ isocode="MVR"
+ fullname="Rufiyaa"
+ unitname="rufiyaa"
+ partname="laari"
+ namespace="ISO4217"
+ exchange-code="462"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=".Þ"
+/>
+<!-- "MWK" - "Kwacha"
+-->
+<currency
+ isocode="MWK"
+ fullname="Kwacha"
+ unitname="kwacha"
+ partname="tambala"
+ namespace="ISO4217"
+ exchange-code="454"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="MK"
+/>
+<!-- "MXN" - "Mexican Peso"
+ since Jan 1993 (1000 MXP = 1 MXN)
+-->
+<currency
+ isocode="MXN"
+ fullname="Mexican Peso"
+ unitname="peso"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="484"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Mex$"
+/>
+<!-- "MXV" - "Mexican Unidad de Inversion (UDI)"
+ fund index based; used for credits, not subject to inflation
+-->
+<currency
+ isocode="MXV"
+ fullname="Mexican Unidad de Inversion (UDI)"
+ unitname="UDI"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="979"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "MYR" - "Malaysian Ringgit"
+-->
+<currency
+ isocode="MYR"
+ fullname="Malaysian Ringgit"
+ unitname="ringgit"
+ partname="sen"
+ namespace="ISO4217"
+ exchange-code="458"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="RM"
+/>
+<!-- "MZM" - "Mozambique Metical"
+ 2006-07-01 "MZN" 1000
+-->
+<currency
+ isocode="MZM"
+ fullname="Mozambique Metical"
+ unitname="metical"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="508"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "MZN" - "Metical"
+-->
+<currency
+ isocode="MZN"
+ fullname="Metical"
+ unitname="metical"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="943"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="MTn"
+/>
+<!-- "NAD" - "Namibia Dollar"
+-->
+<currency
+ isocode="NAD"
+ fullname="Namibia Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="516"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="N$"
+/>
+<!-- "NGN" - "Naira"
+-->
+<currency
+ isocode="NGN"
+ fullname="Naira"
+ unitname="naira"
+ partname="kobo"
+ namespace="ISO4217"
+ exchange-code="566"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â¦"
+/>
+<!-- "NIC" - "Nicaraguan Cordoba"
+ 1990-10-13 "NIO" 5000000
+-->
+<currency
+ isocode="NIC"
+ fullname="Nicaraguan Cordoba"
+ unitname="cordoba"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="558"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "NIO" - "Cordoba Oro"
+-->
+<currency
+ isocode="NIO"
+ fullname="Cordoba Oro"
+ unitname="cordoba"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="558"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="C$"
+/>
+<!-- "NLG" - "Netherlands Guilder"
+ 2002-01-01 "EUR" 2.20371
+-->
+<currency
+ isocode="NLG"
+ fullname="Netherlands Guilder"
+ unitname="guilder"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="528"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "NOK" - "Norwegian Krone"
+-->
+<currency
+ isocode="NOK"
+ fullname="Norwegian Krone"
+ unitname="krone"
+ partname="ore"
+ namespace="ISO4217"
+ exchange-code="578"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="kr"
+/>
+<!-- "NPR" - "Nepalese Rupee"
+-->
+<currency
+ isocode="NPR"
+ fullname="Nepalese Rupee"
+ unitname="rupee"
+ partname="paise"
+ namespace="ISO4217"
+ exchange-code="524"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â¨"
+/>
+<!-- "NZD" - "New Zealand Dollar"
+-->
+<currency
+ isocode="NZD"
+ fullname="New Zealand Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="554"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="NZ$"
+/>
+<!-- "OMR" - "Rial Omani"
+-->
+<currency
+ isocode="OMR"
+ fullname="Rial Omani"
+ unitname="rial"
+ partname="baisa"
+ namespace="ISO4217"
+ exchange-code="512"
+ parts-per-unit="1000"
+ smallest-fraction="1000"
+ local-symbol="ر.ع."
+/>
+<!-- "PAB" - "Balboa"
+-->
+<currency
+ isocode="PAB"
+ fullname="Balboa"
+ unitname="balboa"
+ partname="centésimo"
+ namespace="ISO4217"
+ exchange-code="590"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="฿"
+/>
+<!-- "PEN" - "Nuevo Sol"
+-->
+<currency
+ isocode="PEN"
+ fullname="Nuevo Sol"
+ unitname="nuevo sol"
+ partname="centimo"
+ namespace="ISO4217"
+ exchange-code="604"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="S/."
+/>
+<!-- "PGK" - "Kina"
+-->
+<currency
+ isocode="PGK"
+ fullname="Kina"
+ unitname="kina"
+ partname="toea"
+ namespace="ISO4217"
+ exchange-code="598"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="K"
+/>
+<!-- "PHP" - "Philippine Peso"
+-->
+<currency
+ isocode="PHP"
+ fullname="Philippine Peso"
+ unitname="peso"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="608"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â±"
+/>
+<!-- "PKR" - "Pakistan Rupee"
+-->
+<currency
+ isocode="PKR"
+ fullname="Pakistan Rupee"
+ unitname="rupee"
+ partname="paisa"
+ namespace="ISO4217"
+ exchange-code="586"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Rs"
+/>
+<!-- "PLN" - "Zloty"
+-->
+<currency
+ isocode="PLN"
+ fullname="Zloty"
+ unitname="zloty"
+ partname="grosz"
+ namespace="ISO4217"
+ exchange-code="985"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="zÅ"
+/>
+<!-- "PTE" - "Portuguese Escudo"
+ 2002-01-01 "EUR" 200.482
+-->
+<currency
+ isocode="PTE"
+ fullname="Portuguese Escudo"
+ unitname="escudo"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="620"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="$"
+/>
+<!-- "PYG" - "Guarani"
+ scheduled revaluation 2011
+-->
+<currency
+ isocode="PYG"
+ fullname="Guarani"
+ unitname="guarani"
+ partname="centimo"
+ namespace="ISO4217"
+ exchange-code="600"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â²"
+/>
+<!-- "QAR" - "Qatari Rial"
+-->
+<currency
+ isocode="QAR"
+ fullname="Qatari Rial"
+ unitname="rial"
+ partname="dirham"
+ namespace="ISO4217"
+ exchange-code="634"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="ر.Ù"
+/>
+<!-- "ROL" - "Romanian Old Leu"
+ 2005-07-01 "RON" 10000
+-->
+<currency
+ isocode="ROL"
+ fullname="Romanian Old Leu"
+ unitname="leu"
+ partname="ban"
+ namespace="ISO4217"
+ exchange-code="642"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "RON" - "New Leu"
+ scheduled 2012..14: EUR
+-->
+<currency
+ isocode="RON"
+ fullname="New Leu"
+ unitname="leu"
+ partname="ban"
+ namespace="ISO4217"
+ exchange-code="946"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "RSD" - "Serbian Dinar"
+-->
+<currency
+ isocode="RSD"
+ fullname="Serbian Dinar"
+ unitname="dinar"
+ partname="para"
+ namespace="ISO4217"
+ exchange-code="941"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "RUB" - "Russian Rouble"
+ RUR: 1998-01-1 "RUB" 1000; see bug #393185
+-->
+<currency
+ isocode="RUB"
+ fullname="Russian Rouble"
+ unitname="rouble"
+ partname="kopek"
+ namespace="ISO4217"
+ exchange-code="643"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="ÑÑб"
+/>
+<!-- "RWF" - "Rwanda Franc"
+-->
+<currency
+ isocode="RWF"
+ fullname="Rwanda Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="646"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="RF"
+/>
+<!-- "SAR" - "Saudi Riyal"
+-->
+<currency
+ isocode="SAR"
+ fullname="Saudi Riyal"
+ unitname="riyal"
+ partname="halala"
+ namespace="ISO4217"
+ exchange-code="682"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="ر.س"
+/>
+<!-- "SBD" - "Solomon Islands Dollar"
+-->
+<currency
+ isocode="SBD"
+ fullname="Solomon Islands Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="090"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="SI$"
+/>
+<!-- "SCR" - "Seychelles Rupee"
+-->
+<currency
+ isocode="SCR"
+ fullname="Seychelles Rupee"
+ unitname="rupee"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="690"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="SR"
+/>
+<!-- "SDD" - "Sudanese Dinar"
+ 2007-07-01 "SDG" 100, reunite with South
+-->
+<currency
+ isocode="SDD"
+ fullname="Sudanese Dinar"
+ unitname="dinar"
+ partname="piastre"
+ namespace="ISO4217"
+ exchange-code="736"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "SDG" - "Sudanese Pound"
+-->
+<currency
+ isocode="SDG"
+ fullname="Sudanese Pound"
+ unitname="pound"
+ partname="qirsh"
+ namespace="ISO4217"
+ exchange-code="938"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "SDP" - "Sudanese Pound"
+ 1992-01-01 "SDD" 10, but only in the North
+-->
+<currency
+ isocode="SDP"
+ fullname="Sudanese Pound"
+ unitname="pound"
+ partname="piastre"
+ namespace="ISO4217"
+ exchange-code="736"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "SEK" - "Swedish Krona"
+-->
+<currency
+ isocode="SEK"
+ fullname="Swedish Krona"
+ unitname="krona"
+ partname="ore"
+ namespace="ISO4217"
+ exchange-code="752"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="kr"
+/>
+<!-- "SGD" - "Singapore Dollar"
+-->
+<currency
+ isocode="SGD"
+ fullname="Singapore Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="702"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="S$"
+/>
+<!-- "SHP" - "Saint Helena Pound"
+-->
+<currency
+ isocode="SHP"
+ fullname="Saint Helena Pound"
+ unitname="pound"
+ partname="penny"
+ namespace="ISO4217"
+ exchange-code="654"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="£"
+/>
+<!-- "SIT" - "Slovenian Tolar"
+ 2007-01-01 "EUR" 239.640
+-->
+<currency
+ isocode="SIT"
+ fullname="Slovenian Tolar"
+ unitname="tolar"
+ partname="stotin"
+ namespace="ISO4217"
+ exchange-code="705"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "SKK" - "Slovak Koruna"
+ 2009-01-01 "EUR" 30.126
+-->
+<currency
+ isocode="SKK"
+ fullname="Slovak Koruna"
+ unitname="koruna"
+ partname="halier"
+ namespace="ISO4217"
+ exchange-code="703"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "SLL" - "Leone"
+-->
+<currency
+ isocode="SLL"
+ fullname="Leone"
+ unitname="leone"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="694"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Le"
+/>
+<!-- "SOS" - "Somali Shilling"
+-->
+<currency
+ isocode="SOS"
+ fullname="Somali Shilling"
+ unitname="shilling"
+ partname="centisimi"
+ namespace="ISO4217"
+ exchange-code="706"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="SoSh"
+/>
+<!-- "SRD" - "Surinam Dollar"
+-->
+<currency
+ isocode="SRD"
+ fullname="Surinam Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="968"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="$"
+/>
+<!-- "SRG" - "Suriname Guilder"
+ 2004-01-01 "SRD" 1000
+-->
+<currency
+ isocode="SRG"
+ fullname="Suriname Guilder"
+ unitname="guilder"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="740"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "STD" - "Dobra"
+-->
+<currency
+ isocode="STD"
+ fullname="Dobra"
+ unitname="dobra"
+ partname="centimo"
+ namespace="ISO4217"
+ exchange-code="678"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Db"
+/>
+<!-- "SVC" - "El Salvador Colon"
+ 2001-01-01 "USD" 8.75
+-->
+<currency
+ isocode="SVC"
+ fullname="El Salvador Colon"
+ unitname="colon"
+ partname="centavo"
+ namespace="ISO4217"
+ exchange-code="222"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "SYP" - "Syrian Pound"
+-->
+<currency
+ isocode="SYP"
+ fullname="Syrian Pound"
+ unitname="pound"
+ partname="qirsh"
+ namespace="ISO4217"
+ exchange-code="760"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "SZL" - "Lilangeni"
+-->
+<currency
+ isocode="SZL"
+ fullname="Lilangeni"
+ unitname="lilangeni"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="748"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="L"
+/>
+<!-- "THB" - "Baht"
+-->
+<currency
+ isocode="THB"
+ fullname="Baht"
+ unitname="baht"
+ partname="satang"
+ namespace="ISO4217"
+ exchange-code="764"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="฿"
+/>
+<!-- "TJR" - "Tajik Rouble"
+ 2002-11-01 "TJS" 1000
+-->
+<currency
+ isocode="TJR"
+ fullname="Tajik Rouble"
+ unitname="ruble"
+ partname="ruble"
+ namespace="ISO4217"
+ exchange-code="762"
+ parts-per-unit="1"
+ smallest-fraction="1"
+ local-symbol=""
+/>
+<!-- "TJS" - "Somoni"
+-->
+<currency
+ isocode="TJS"
+ fullname="Somoni"
+ unitname="somoni"
+ partname="diram"
+ namespace="ISO4217"
+ exchange-code="972"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "TMM" - "Manat"
+ 2009-01-01 "TMT" 5000
+-->
+<currency
+ isocode="TMM"
+ fullname="Manat"
+ unitname="manat"
+ partname="tenga"
+ namespace="ISO4217"
+ exchange-code="795"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "TMT" - "Manat"
+-->
+<currency
+ isocode="TMT"
+ fullname="Manat"
+ unitname="manat"
+ partname="teÅÅe"
+ namespace="ISO4217"
+ exchange-code="934"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="m"
+/>
+<!-- "TND" - "Tunisian Dinar"
+-->
+<currency
+ isocode="TND"
+ fullname="Tunisian Dinar"
+ unitname="dinar"
+ partname="milim"
+ namespace="ISO4217"
+ exchange-code="788"
+ parts-per-unit="1000"
+ smallest-fraction="1000"
+ local-symbol="د.ت"
+/>
+<!-- "TOP" - "Pa'anga"
+-->
+<currency
+ isocode="TOP"
+ fullname="Pa'anga"
+ unitname="Pa'anga"
+ partname="seniti"
+ namespace="ISO4217"
+ exchange-code="776"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="T$"
+/>
+<!-- "TRY" - "Turkish Lira"
+-->
+<currency
+ isocode="TRY"
+ fullname="Turkish Lira"
+ unitname="lira"
+ partname="kuruÅ"
+ namespace="ISO4217"
+ exchange-code="949"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â¤"
+/>
+<!-- "TTD" - "Trinidad and Tobago Dollar"
+-->
+<currency
+ isocode="TTD"
+ fullname="Trinidad and Tobago Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="780"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="TT$"
+/>
+<!-- "TWD" - "New Taiwan Dollar"
+-->
+<currency
+ isocode="TWD"
+ fullname="New Taiwan Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="901"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="NT$"
+/>
+<!-- "TZS" - "Tanzanian Shilling"
+-->
+<currency
+ isocode="TZS"
+ fullname="Tanzanian Shilling"
+ unitname="shilling"
+ partname="senti"
+ namespace="ISO4217"
+ exchange-code="834"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="/"
+/>
+<!-- "UAH" - "Hryvnia"
+-->
+<currency
+ isocode="UAH"
+ fullname="Hryvnia"
+ unitname="hryvnia"
+ partname="kopiyka"
+ namespace="ISO4217"
+ exchange-code="980"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â´"
+/>
+<!-- "UGX" - "Uganda Shilling"
+-->
+<currency
+ isocode="UGX"
+ fullname="Uganda Shilling"
+ unitname="shilling"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="800"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="USh"
+/>
+<!-- "USD" - "US Dollar"
+-->
+<currency
+ isocode="USD"
+ fullname="US Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="840"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="$"
+/>
+<!-- "USN" - "US Dollar (Next day)"
+ funds code
+-->
+<currency
+ isocode="USN"
+ fullname="US Dollar (Next day)"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="997"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="$n"
+/>
+<!-- "USS" - "US Dollar (Same day)"
+ funds code
+-->
+<currency
+ isocode="USS"
+ fullname="US Dollar (Same day)"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="998"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="$s"
+/>
+<!-- "UYI" - "Uruguay Peso en Unidades Indexadas"
+-->
+<currency
+ isocode="UYI"
+ fullname="Uruguay Peso en Unidades Indexadas"
+ unitname="UI"
+ partname="centesimo"
+ namespace="ISO4217"
+ exchange-code="940"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="UI"
+/>
+<!-- "UYU" - "Peso Uruguayo"
+-->
+<currency
+ isocode="UYU"
+ fullname="Peso Uruguayo"
+ unitname="peso"
+ partname="centesimo"
+ namespace="ISO4217"
+ exchange-code="858"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="$U"
+/>
+<!-- "UZS" - "Uzbekistan Sum"
+-->
+<currency
+ isocode="UZS"
+ fullname="Uzbekistan Sum"
+ unitname="soâm"
+ partname="tiyin"
+ namespace="ISO4217"
+ exchange-code="860"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="som"
+/>
+<!-- "VEB" - "Venezuela BolÃvar"
+ 2008-01-01 "VEF" 1000
+-->
+<currency
+ isocode="VEB"
+ fullname="Venezuela BolÃvar"
+ unitname="bolivar"
+ partname="centimo"
+ namespace="ISO4217"
+ exchange-code="862"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "VEF" - "Bolivar Fuerte"
+-->
+<currency
+ isocode="VEF"
+ fullname="Bolivar Fuerte"
+ unitname="bolivar"
+ partname="centimo"
+ namespace="ISO4217"
+ exchange-code="937"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Bs."
+/>
+<!-- "VND" - "Dong"
+-->
+<currency
+ isocode="VND"
+ fullname="Dong"
+ unitname="Äá»ng"
+ partname="xu"
+ namespace="ISO4217"
+ exchange-code="704"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="â«"
+/>
+<!-- "VUV" - "Vatu"
+-->
+<currency
+ isocode="VUV"
+ fullname="Vatu"
+ unitname="vatu"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="548"
+ parts-per-unit="1"
+ smallest-fraction="1"
+ local-symbol="Vt"
+/>
+<!-- "WST" - "Tala"
+-->
+<currency
+ isocode="WST"
+ fullname="Tala"
+ unitname="tala"
+ partname="sene"
+ namespace="ISO4217"
+ exchange-code="882"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="WS$"
+/>
+<!-- "YER" - "Yemeni Rial"
+-->
+<currency
+ isocode="YER"
+ fullname="Yemeni Rial"
+ unitname="riyal"
+ partname="fils"
+ namespace="ISO4217"
+ exchange-code="886"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Rl"
+/>
+<!-- "YUM" - "Yugoslavian Dinar"
+ 2003 replaced by RSD 1
+-->
+<currency
+ isocode="YUM"
+ fullname="Yugoslavian Dinar"
+ unitname="dinar"
+ partname="para"
+ namespace="ISO4217"
+ exchange-code="890"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "ZAR" - "Rand"
+-->
+<currency
+ isocode="ZAR"
+ fullname="Rand"
+ unitname="rand"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="710"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="R"
+/>
+<!-- "ZMK" - "Kwacha (old)"
+ replaced by ZMW from 2013-01-01 onwards
+-->
+<currency
+ isocode="ZMK"
+ fullname="Kwacha (old)"
+ unitname="kwacha"
+ partname="ngwee"
+ namespace="ISO4217"
+ exchange-code="894"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="ZK"
+/>
+<!-- "ZMW" - "Zambian Kwacha"
+ replaced ZMK from 2013-01-01 onwards
+-->
+<currency
+ isocode="ZMW"
+ fullname="Zambian Kwacha"
+ unitname="kwacha"
+ partname="ngwee"
+ namespace="ISO4217"
+ exchange-code="967"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="ZK"
+/>
+<!-- "ZWD" - "Zimbabwe Dollar"
+ 2006-08-01 "ZWN" 1000, 2008-08-01 "ZWR" 10000000000, 2009-02-01 "ZWD" 1000000000000
+-->
+<currency
+ isocode="ZWD"
+ fullname="Zimbabwe Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="716"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "ZWL" - "Zimbabwe Dollar"
+ 2009-04 suspended for at least 1 year
+-->
+<currency
+ isocode="ZWL"
+ fullname="Zimbabwe Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="716"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="Z.$"
+/>
+
+<!-- multinational -->
+<!-- "XAF" - "CFA Franc BEAC"
+ Banque des Ãtats de l'Afrique Centrale
+-->
+<currency
+ isocode="XAF"
+ fullname="CFA Franc BEAC"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="950"
+ parts-per-unit="1"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- XB* should be replaced by EUR, if I am right -->
+<!-- "XCD" - "East Caribbean Dollar"
+ Organisation of Eastern Caribbean States
+-->
+<currency
+ isocode="XCD"
+ fullname="East Caribbean Dollar"
+ unitname="dollar"
+ partname="cent"
+ namespace="ISO4217"
+ exchange-code="951"
+ parts-per-unit="100"
+ smallest-fraction="100"
+ local-symbol="EC$"
+/>
+<!-- "XDR" - "SDR"
+ International Monetary Funds Special Drawing Rights
+-->
+<currency
+ isocode="XDR"
+ fullname="SDR"
+ unitname="SDR"
+ partname="SDR"
+ namespace="ISO4217"
+ exchange-code="960"
+ parts-per-unit="1"
+ smallest-fraction="1"
+ local-symbol=""
+/>
+<!-- "XFO" - "Gold-Franc"
+ Bank for International Settlements
+-->
+<currency
+ isocode="XFO"
+ fullname="Gold-Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="nil"
+ parts-per-unit="1"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "XFU" - "UIC-Franc"
+ Union Internationale des Chemins de fer
+-->
+<currency
+ isocode="XFU"
+ fullname="UIC-Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="nil"
+ parts-per-unit="1"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "XOF" - "CFA Franc BCEAO"
+ Banque Centrale des Ãtats de l'Afrique de l'Ouest
+-->
+<currency
+ isocode="XOF"
+ fullname="CFA Franc BCEAO"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="952"
+ parts-per-unit="1"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "XPF" - "CFP Franc"
+ Communauté Financière du Pacifique
+-->
+<currency
+ isocode="XPF"
+ fullname="CFP Franc"
+ unitname="franc"
+ partname="centime"
+ namespace="ISO4217"
+ exchange-code="953"
+ parts-per-unit="1"
+ smallest-fraction="100"
+ local-symbol=""
+/>
+<!-- "XTS" - "Code for testing purposes"
+ Code reserved for testing purposes
+-->
+<currency
+ isocode="XTS"
+ fullname="Code for testing purposes"
+ unitname="TEST"
+ partname="test"
+ namespace="ISO4217"
+ exchange-code="963"
+ parts-per-unit="1"
+ smallest-fraction="1000000"
+ local-symbol=""
+/>
+<!-- "XXX" - "No currency"
+-->
+<currency
+ isocode="XXX"
+ fullname="No currency"
+ unitname=""
+ partname=""
+ namespace="ISO4217"
+ exchange-code="999"
+ parts-per-unit="1"
+ smallest-fraction="1000000"
+ local-symbol=""
+/>
+
+<!-- precious metals -->
+<!-- "XAG" - "Silver"
+-->
+<currency
+ isocode="XAG"
+ fullname="Silver"
+ unitname="ounce"
+ partname="ounce"
+ namespace="ISO4217"
+ exchange-code="961"
+ parts-per-unit="1"
+ smallest-fraction="1000000"
+ local-symbol=""
+/>
+<!-- "XAU" - "Gold"
+-->
+<currency
+ isocode="XAU"
+ fullname="Gold"
+ unitname="ounce"
+ partname="ounce"
+ namespace="ISO4217"
+ exchange-code="959"
+ parts-per-unit="1"
+ smallest-fraction="1000000"
+ local-symbol=""
+/>
+<!-- "XPD" - "Palladium"
+-->
+<currency
+ isocode="XPD"
+ fullname="Palladium"
+ unitname="ounce"
+ partname="ounce"
+ namespace="ISO4217"
+ exchange-code="964"
+ parts-per-unit="1"
+ smallest-fraction="1000000"
+ local-symbol=""
+/>
+<!-- "XPT" - "Platinum"
+-->
+<currency
+ isocode="XPT"
+ fullname="Platinum"
+ unitname="ounce"
+ partname="ounce"
+ namespace="ISO4217"
+ exchange-code="962"
+ parts-per-unit="1"
+ smallest-fraction="1000000"
+ local-symbol=""
+/>
+</currencylist>
\ No newline at end of file
diff --git a/src/engine/iso-currencies-to-c.in b/src/engine/iso-currencies-to-c.in
deleted file mode 100755
index e8dd400..0000000
--- a/src/engine/iso-currencies-to-c.in
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/bin/sh
-exec @GUILE@ -s $0 "$@"
-!#
-
-(if (< (length (command-line)) 2)
- (begin
- (display "Missing command line argument \"source directory\"")
- (exit 1)))
-
-(define *srcdir* (list-ref (command-line) 1))
-(define *currency-file* (string-append *srcdir* "/" "iso-4217-currencies.scm"))
-(define *c-file-name* "iso-4217-currencies.c")
-
-(define (generate-currency-c-code form output-port)
- ;; Check for correct number of arguments
- (if (and (list? form)
- (eq? 9 (length form)))
- ;; Assign arguments
- (let ((fullname (list-ref form 0))
- (unitname (list-ref form 1))
- (partname (list-ref form 2))
- (namespace (list-ref form 3))
- (mnemonic (list-ref form 4))
- (exchange-code (list-ref form 5))
- (parts-per-unit (list-ref form 6))
- (smallest-fraction (list-ref form 7))
- (local-symbol (list-ref form 8)))
- ;; Check for correct types of arguments
- (if (and (string? fullname)
- (string? unitname)
- (string? partname)
- (string? namespace)
- (string? mnemonic)
- (string? exchange-code)
- (number? parts-per-unit)
- (number? smallest-fraction)
- (string? local-symbol))
-
- ;; And print the output line
- (format
- output-port "
- {
- const char *fullname = ~S;
- gnc_commodity *c = gnc_commodity_new(book,
- CUR_I18N(fullname),
- ~S,
- ~S,
- ~S,
- ~S);\n
- if(!c) {
- PWARN(\"failed to create commodity for currency %s\", fullname);
- } else {
- if(!gnc_commodity_table_insert(table, c)) {
- PWARN(\"failed to insert %s into commodity table\", fullname);
- }
- }
- gnc_commodity_set_default_symbol(c, ~S);
- }\n"
- fullname
- namespace
- mnemonic
- exchange-code
- smallest-fraction
- local-symbol)
-
- ;; Sorry, code doubling of the error message, but whatever.
- (begin
- (display "Bad currency data (wrong column data) at line: ")
- (display form)
- (newline)
- #f)))
-
- (begin
- (display "Bad currency data (wrong number of columns) at line: ")
- (display form)
- (newline)
- #f)))
-
-(define (generate-currencies-c-code)
- (call-with-input-file *currency-file*
- (lambda (input-port)
- (call-with-output-file *c-file-name*
- (lambda (output-port)
- (let loop ((form (read input-port)))
- (if (eof-object? form)
- #t
- (if (generate-currency-c-code form output-port)
- (loop (read input-port))
- #f))))))))
-
-(if (not (generate-currencies-c-code))
- (begin
- (display "Unable to generate iso-4217 currency C code.\n")
- (exit 1))
- (exit 0))
-
-;; Local Variables:
-;; mode: scheme
-;; End:
diff --git a/src/engine/iso-currencies-to-c.xsl b/src/engine/iso-currencies-to-c.xsl
new file mode 100644
index 0000000..defeafa
--- /dev/null
+++ b/src/engine/iso-currencies-to-c.xsl
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet version="1.0"
+xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:output method="text" encoding="UTF8"/>
+
+<xsl:template match="/">
+/********************************************************************\
+ * iso-4217-currencies.c -- list of currencies gnucash understands *
+ * *
+ * ATTENTION: this file is autogenerated based on *
+ * iso-4217-currencies.xml *
+ * *
+ * If you need any modifications in this file, please update the *
+ * xml source file (or the xsl translation file depending on the *
+ * kind of change required) instead. *
+ * *
+ * Copyright (C) 2015 Geert Janssens <geert at kobaltwit.be> *
+ * *
+ * This program is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU General Public License as *
+ * published by the Free Software Foundation; either version 2 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License*
+ * along with this program; if not, contact: *
+ * *
+ * Free Software Foundation Voice: +1-617-542-5942 *
+ * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
+ * Boston, MA 02110-1301, USA gnu at gnu.org *
+ * *
+\********************************************************************/
+
+<xsl:for-each select="//currency">
+ {
+ const char *fullname = "<xsl:value-of select="@fullname"/>";
+ gnc_commodity *c = gnc_commodity_new(book,
+ CUR_I18N(fullname),
+ "<xsl:value-of select="@namespace"/>",
+ "<xsl:value-of select="@isocode"/>",
+ "<xsl:value-of select="@exchange-code"/>",
+ <xsl:value-of select="@smallest-fraction"/>);
+ if(!c) {
+ PWARN("failed to create commodity for currency %s", fullname);
+ } else {
+ if(!gnc_commodity_table_insert(table, c)) {
+ PWARN("failed to insert %s into commodity table", fullname);
+ }
+ }
+ gnc_commodity_set_default_symbol(c, "<xsl:value-of select="@local-symbol"/>");
+ }
+</xsl:for-each>
+</xsl:template>
+</xsl:stylesheet>
Summary of changes:
configure.ac | 2 -
src/Makefile.am | 4 +-
src/app-utils/Makefile.am | 2 +-
src/app-utils/test/Makefile.am | 2 +-
src/backend/dbi/test/Makefile.am | 2 +-
src/backend/sql/test/Makefile.am | 2 +-
src/backend/xml/test/Makefile.am | 2 +-
src/bin/overrides/gnucash-build-env.in | 2 +-
src/business/business-gnome/Makefile.am | 2 +-
src/core-utils/Makefile.am | 2 +-
src/core-utils/test/Makefile.am | 2 +-
src/engine/Makefile.am | 18 +-
src/engine/iso-4217-currencies.scm | 253 --
src/engine/iso-4217-currencies.xml | 3009 ++++++++++++++++++++
src/engine/iso-currencies-to-c.in | 99 -
.../iso-currencies-to-c.xsl} | 51 +-
src/engine/test/Makefile.am | 2 +-
src/gnc-module/Makefile.am | 2 +-
src/gnc-module/test/Makefile.am | 2 +-
src/gnc-test-env.in | 139 -
src/gnc-test-env.pl | 61 +
src/gnome-utils/Makefile.am | 2 +-
src/gnome-utils/test/Makefile.am | 2 +-
src/import-export/qif-imp/Makefile.am | 2 +-
src/import-export/qif/test/Makefile.am | 2 +-
src/import-export/test/Makefile.am | 2 +-
src/optional/python-bindings/tests/Makefile.am | 2 +-
src/register/register-core/test/Makefile.am | 2 +-
src/register/register-gnome/test/Makefile.am | 2 +-
src/report/business-reports/Makefile.am | 2 +-
src/report/locale-specific/us/Makefile.am | 2 +-
src/report/locale-specific/us/test/Makefile.am | 2 +-
src/report/report-gnome/Makefile.am | 2 +-
src/report/report-gnome/test/Makefile.am | 2 +-
src/report/report-system/Makefile.am | 2 +-
src/report/report-system/test/Makefile.am | 2 +-
src/report/standard-reports/Makefile.am | 2 +-
src/report/standard-reports/test/Makefile.am | 2 +-
src/report/stylesheets/Makefile.am | 2 +-
src/report/stylesheets/test/Makefile.am | 2 +-
src/report/utility-reports/Makefile.am | 2 +-
src/report/utility-reports/test/Makefile.am | 2 +-
src/scm/Makefile.am | 2 +-
src/tax/us/Makefile.am | 2 +-
src/tax/us/test/Makefile.am | 2 +-
src/test-core/Makefile.am | 2 +-
46 files changed, 3140 insertions(+), 570 deletions(-)
delete mode 100644 src/engine/iso-4217-currencies.scm
create mode 100644 src/engine/iso-4217-currencies.xml
delete mode 100755 src/engine/iso-currencies-to-c.in
copy src/{gnome-utils/make-gnc-warnings-c.xsl => engine/iso-currencies-to-c.xsl} (62%)
delete mode 100755 src/gnc-test-env.in
create mode 100755 src/gnc-test-env.pl
More information about the gnucash-changes
mailing list