Como posso analisar o XML que confirma as especificações 1.1 usando Java e Xerce

Estou tentando analisar uma String que contém conteúdo XML em conformidade com oXML 1.1 spec. O XML contém referências de caracteres que não são permitidas na especificação XML 1.0, mas que são permitidas na especificação XML 1.1 (referências de caracteres que se traduzem em caracteres Unicode no intervalo U + 0001 – U + 001F

De acordo com o Site Xerces2, o analisador Xerces2 suporta a análise de documentos XML 1.1. No entanto, não consigo descobrir como informar o XML que estamos tentando analisar contém XML compatível com 1.1.

Estou usando um DocumentBuilder para analisar o XML (algo como isto):

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
    }
}

Tentei configurar o cabeçalho XML para indicar que o XML está em conformidade com a especificação 1.1 ...

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

... mas ainda é analisado como XML 1.0 (ainda gera exceções de referência de caracteres inválidas

Como posso configurar o analisador Xerces para analisar o XML como XML 1.1? Existe um analisador alternativo que ofereça melhor suporte ao XML 1.1?

questionAnswers(4)

yourAnswerToTheQuestion