The Struts 1.1 TODO list contains the following item:
"XmlMessageResources. Implementation of MessageResources and
MessageResourcesFactory that loads message keys and strings from one or more
XML resources or files."
I have an implementation of this which I would like to contribute to Struts.
The implementation is a drop-in replacement for the existing
PropertyMessageResources. In fact, it is derived from it, and so shares the
same file naming scheme for locale-specific messages.
Here's a simple example of what an XML message file would look like:
---------- begin example ----------
<?xml version="1.0" encoding="ISO-8859-1"?>
<message key="validation.username.required">You must enter a
<message key="validation.password.required">You must enter a
<message key="validation.password.match">Confirmation password does not
---------- end example ----------
The first line of the example provides a hint as to why I did not attempt to
incorporate messages for more than one locale into a single XML file.
Messages for different locales may well be specified using different
character encodings. In addition, maintaining the messages from each locale
in a different XML file avoids loading locales unnecessarily.
To use this implementation, all that is required is to specify the 'factory'
init-param in your web.xml file, and to make sure that the 'application'
init-param refers to an XML resource.
What do people think about incorporating this into the Struts 1.1 code base?