¿Cómo puedo analizar XML que confirme la especificación 1.1 usando Java y Xerces?

Estoy tratando de analizar una cadena que contiene contenido XML que se ajusta a laXML 1.1 spec. El XML contiene referencias de caracteres que no están permitidas en la especificación XML 1.0 pero que sí están permitidas en la especificación XML 1.1 (referencias de caracteres que se traducen en caracteres Unicode en el rango U + 0001 – U + 001F).

Según la Xerces2 sitio web, el analizador Xerces2 admite el análisis de documentos XML 1.1. Sin embargo, no puedo entender cómo decirle que el XML que estamos intentando analizar contiene XML compatible con 1.1.

Estoy usando un DocumentBuilder para analizar el XML (algo como esto):

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

He intentado configurar el encabezado XML para indicar que el XML se ajusta a la especificación 1.1 ...

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

... pero todavía se analiza como 1.0 XML (aún genera las excepciones de referencia de caracteres no válidas).

¿Cómo puedo configurar el analizador Xerces para analizar el XML como XML 1.1? ¿Existe un analizador alternativo que brinde un mejor soporte para XML 1.1?

Respuestas a la pregunta(4)

Su respuesta a la pregunta