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"?> <messages> <message key="validation.username.required">You must enter a username</message> <message key="validation.password.required">You must enter a password</message> <message key="validation.password.match">Confirmation password does not match</message> </messages> ---------- 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? -- Martin Cooper
