Как я могу разобрать XML, который соответствует спецификации 1.1, используя Java и Xerces?

Я пытаюсь проанализировать строку, которая содержит XML-контент, который соответствуетСпецификация XML 1.1, XML содержит символьные ссылки, которые не разрешены в спецификации XML 1.0, но разрешены в спецификации XML 1.1 (символьные ссылки, которые переводятся в символы Unicode в диапазоне U + 0001 – U + 001F).

По словамВеб-сайт Xerces2, Парсер Xerces2 поддерживает синтаксический анализ документов XML 1.1. Однако я не могу понять, как сказать, что XML, который мы пытаемся проанализировать, содержит XML-совместимый 1.1.

Я использую DocumentBuilder для анализа XML (что-то вроде этого):

public Element parseString(String xmlString) {
    try {
          DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
          DocumentBuilder documentBuilder = dbf.newDocumentBuilder();

          InputSource source = new InputSource(new StringReader(xmlString));

      // Throws org.xml.sax.SAXParseException becuase of the invalid character refs
          Document doc = documentBuilder.parse(source);

          return doc.getDocumentElement();

    } catch (ParserConfigurationException pce) {
          // Handle the error
    } catch (SAXException se) {
          // Handle the error
    } catch (IOException ioe) {
          // Handle the error
    }
}

Я попытался установить заголовок XML, чтобы указать, что XML соответствует спецификации 1.1 ...

xmlString = "<?xml version=\"1.1\" encoding=\"UTF-8\" ?>" + xmlString;

... но он все еще анализируется как 1.0 XML (по-прежнему генерирует недопустимые исключения ссылок на символы).

Как настроить синтаксический анализатор Xerces для анализа XML как XML 1.1? Есть ли альтернативный парсер, который обеспечивает лучшую поддержку XML 1.1?

Ответы на вопрос(2)

Ваш ответ на вопрос