Issue when parsing ACT/CCT that contain particular DOCTYPE
When ACT/CCT contains a DOCTYPE with some particular content, an exception is thrown.
<!DOCTYPE dmodule[
<!ENTITY % ISOEntities PUBLIC "ISO 8879-1986//ENTITIES ISO Character Entities 20030531//EN//XML" "ent/ISOEntities">
%ISOEntities;
]>
Use this:
XmlDataReader.loadRoot(act,
XmlDataReader.Feature.ALLOW_MIXED_CONTENT,
XmlDataReader.Feature.DUMMY_ENTITY_RESOLVER);
or
final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
final DocumentBuilder builder = factory.newDocumentBuilder();
// completely disable DOCTYPE declaration:
factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
// completely disable external entities declarations:
factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
Edited by Damien Carbonne