Globalization Considerations

As described above structs are transmitted to the XML Server for printing by calling method curam.util.xml.impl.XMLDocument .add(your-struct). This data can be sensitive to locale differences.

Structs are serialized into an XML representation which is then transformed into a human-readable document using XSLT. By default the following data types are serialized by calling their toString() method:

The toString() method of Date and DateTime returns a string dependent on the value of property 'curam.environment.default.dateformat ' and the toString() method of Money returns a value dependent on the value of property 'curam.environment.default.locale '.

For example, if 'curam.environment.default.locale ' was set to ' en_GB ', a Money amount would be serialized in the form ' 12,345.67 ' whereas for ' es_ES ' it would be formatted like '12.345,67' (i.e., commas and dots reversed). This prevents the XSLT from de-serializing the data in a locale neutral way. So if the server locale was set to English, then the XSL template for a Spanish letter would have to parse an English formatted numeric string instead of a numeric value.

Locale related problems like this can be avoided in two ways: