Искам да използвам специфични за локала съобщения за грешка с моите 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 не е опция.
Всяка помощ се оценява!