The schema at framework/base/dtd/ofbiz-properties.xsd is intended for the labels xml files. Currently those files do not to refer to a schema. So I tried to change that.
However the ofbiz-properties.xsd itself wouldn't validate, so I fixed that, and then added it as the schema to a sample labels.xml file for testing. Now I have a different problem relating to the xml:lang attribute. I need a solution or there is no point me submitting a patch. The existing code in UtilProperties compares the string generated by Locale's toString() with the value of the xml:lang attribute. An example string generated by Locale's toString() is "pt_BR". Therefore that is the format of the string currently used with xml:lang in the labels.xml files. The xml:lang attribute definition (according to both the xml standard and the relevant xsd) states the value must be of the form "pt-BR". That is, a - and not a _. This is incompatible with current usage in OFBiz. If I apply a schema to an existing labels.xml file, the xml will not validate. If I fix the xml so it validates, it of course won't work in OFBiz unless I also change UtilProperties. One solution would be to change UtilProperties: stop using Locale's toString(), and instead create a string with a '-' using Locale's getCountry() and getLanguage() methods (is the Locale variant used anywhere?). Then all the labels.xml files would need to have their value of xml:lang updated to use '-' instead of '_'. What is the community's preferred solution? Cheers, Anne. -- Coherent Software Australia Pty Ltd PO Box 2773 Cheltenham Vic 3192 Phone: (03) 9585 6788 Fax: (03) 9585 1086 Web: http://www.cohsoft.com.au/ Email: [email protected] Bonsai ERP, the all-inclusive ERP system http://www.bonsaierp.com.au/
