我想在我的 JAXP 和 Xerces2 中使用特定于语言环境的错误消息。默认情况下,只有英文消息可用。
第一步是检索消息文件并将它们放入包“org/apache/xerces/impl/msg/” - 完成。通过使用Locale.setDefault (Locale.GERMANY)
德语消息显示,因此这是有效的。
但我希望消息在每个实例的基础上进行不同的本地化。所以一个解析器应该返回英文消息,另一个解析器应该返回德语消息。
我用来创建 SAX2 解析器的代码是:
org.xml.sax.XMLReader ret = XMLReaderFactory.createXMLReader ();
对于 DOM,我使用 DocumentBuilder 喜欢这样(非常简化):
final DocumentBuilderFactory aDocumentBuilderFactory = DocumentBuilderFactory.newInstance ();
final DocumentBuilder aDocBuilder = aDocBuilderFactory.newDocumentBuilder ();
final Document doc = aDocumentBuilder.parse (aInputSource);
我找到了类似org.apache.xerces.impl.XMLErrorReporter
具有setLocale(Locale)
方法的类的东西,但我没有找到获取/设置它的方法。
顺便说一句,切换到 SAX1 不是一种选择。
任何帮助表示赞赏!