Я хочу использовать специфичные для локали сообщения об ошибках с моими 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 не вариант.
Любая помощь приветствуется!