in taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/impl/odfdom/pkg/OdfPackage.java [720:766]
void parseManifest() throws Exception {
InputStream is = getInputStream(OdfPackage.OdfFile.MANIFEST.packagePath);
if (is == null) {
mManifestList = null;
mManifestEntries = null;
return;
}
mManifestList = new LinkedList<>();
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware(true);
factory.setValidating(false);
try {
factory.setFeature(
"http://apache.org/xml/features/nonvalidating/load-external-dtd",
false);
} catch (Exception ex) {
mLog.log(Level.SEVERE, null, ex);
}
SAXParser parser = factory.newSAXParser();
XMLReader xmlReader = parser.getXMLReader();
// More details at http://xerces.apache.org/xerces2-j/features.html#namespaces
xmlReader.setFeature("http://xml.org/sax/features/namespaces", true);
// More details at http://xerces.apache.org/xerces2-j/features.html#namespace-prefixes
xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes",
true);
try {
// More details at http://xerces.apache.org/xerces2-j/features.html#xmlns-uris
xmlReader.setFeature("http://xml.org/sax/features/xmlns-uris", true);
} catch (SAXException ex) {
mLog.log(Level.FINE, "Can't set XML reader feature xmlns-uris", ex);
}
String uri = mBaseURI + OdfPackage.OdfFile.MANIFEST.packagePath;
xmlReader.setEntityResolver(getEntityResolver());
xmlReader.setContentHandler(new ManifestContentHandler());
InputSource ins = new InputSource(is);
ins.setSystemId(uri);
xmlReader.parse(ins);
mContentStreams.remove(OdfPackage.OdfFile.MANIFEST.packagePath);
entryUpdate(OdfPackage.OdfFile.MANIFEST.packagePath);
}