DocumentBuilderFactoryProvider.java
1.17 KB
/*
* Decompiled with CFR 0_118.
*/
package com.day.cq.dam.commons.xml;
import com.day.cq.dam.commons.xml.SecureDocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
public class DocumentBuilderFactoryProvider
implements SecureDocumentBuilderFactory {
@Override
public DocumentBuilderFactory createSecureBuilderFactory(Boolean setNameSpaceAware) throws ParserConfigurationException {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
if (setNameSpaceAware.booleanValue()) {
dbf.setNamespaceAware(true);
}
dbf.setValidating(true);
dbf.setExpandEntityReferences(false);
dbf.setFeature("http://xml.org/sax/features/validation", true);
dbf.setFeature("http://xml.org/sax/features/external-general-entities", false);
dbf.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
dbf.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", false);
dbf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
return dbf;
}
}