List of usage examples for javax.xml.parsers DocumentBuilderFactory setFeature
public abstract void setFeature(String name, boolean value) throws ParserConfigurationException;
From source file:com.wrmsr.nativity.x86.App.java
public static void main(String[] args) throws Exception { logger.info("hi"); Document doc;//from w w w . j av a 2s. c o m try (InputStream is = App.class.getClassLoader().getResourceAsStream("x86reference.xml")) { DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); dbFactory.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", false); dbFactory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); doc = dBuilder.parse(is); } //optional, but recommended //read this - http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work doc.getDocumentElement().normalize(); List<Ref.Entry> entries = Lists.newArrayList(); Ref.Parsing.parseRoot(doc, entries); ByteTrie<Ref.Entry> trie = DisImpl.buildTrie(entries); System.out.println(trie.toDetailedString()); System.out.println(); System.out.println(); // Dis.run(trie); Ordering<Pair<Ref.Operand.Type, Ref.Operand.Address>> ord = Ordering.from((o1, o2) -> { int c = ObjectUtils.compare(o1.getLeft(), o2.getLeft()); if (c == 0) { c = ObjectUtils.compare(o1.getRight(), o2.getRight()); } return c; }); Set<Pair<Ref.Operand.Type, Ref.Operand.Address>> set = Sets.newHashSet(); for (Ref.Entry entry : entries) { for (Ref.Syntax syntax : entry.getSyntaxes()) { for (Ref.Operand operand : syntax.getOperands()) { set.add(new ImmutablePair<>(operand.type, operand.address)); } } } for (Pair<Ref.Operand.Type, Ref.Operand.Address> pair : ord.sortedCopy(set)) { System.out.println(pair); } System.out.println("\n"); DisImpl.run(trie); }
From source file:Main.java
public static Document createNewDocument() throws Exception { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); dbf.setNamespaceAware(true);//from w w w .jav a 2s.c om return dbf.newDocumentBuilder().newDocument(); }
From source file:Main.java
private static void setUpSecurity(DocumentBuilderFactory dbFactory) throws ParserConfigurationException { dbFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); dbFactory.setFeature("http://xml.org/sax/features/external-general-entities", false); dbFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); dbFactory.setXIncludeAware(false);// w ww. ja v a2s . co m dbFactory.setExpandEntityReferences(false); }
From source file:Main.java
public static Document getXmlDocFromURI(InputStream is) throws Exception { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); dbf.setNamespaceAware(true);/*ww w . j ava 2 s. c om*/ return dbf.newDocumentBuilder().parse(is); }
From source file:Main.java
private static void setFeature(DocumentBuilderFactory factory, String feature) { try {// ww w. j av a 2s .c o m factory.setFeature(feature, false); } catch (ParserConfigurationException e) { e.printStackTrace(); } }
From source file:Main.java
public static Document createDocument(boolean standalone) throws ParserConfigurationException { DocumentBuilderFactory f = DocumentBuilderFactory.newInstance(); f.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE); DocumentBuilder b = f.newDocumentBuilder(); Document d = b.newDocument(); d.setXmlStandalone(standalone);//w ww .ja va2s.com return d; }
From source file:Main.java
public static Document readXml(InputStream input) throws ParserConfigurationException, IOException, SAXException { DocumentBuilderFactory f = DocumentBuilderFactory.newInstance(); f.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE); DocumentBuilder b = f.newDocumentBuilder(); return b.parse(input); }
From source file:Main.java
public static Document readXml(InputSource source) throws ParserConfigurationException, IOException, SAXException { DocumentBuilderFactory f = DocumentBuilderFactory.newInstance(); f.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE); DocumentBuilder b = f.newDocumentBuilder(); return b.parse(source); }
From source file:Main.java
/** * Constructs a new document builder with security features enabled. * * @return a new document builder/*from ww w . jav a 2s . co m*/ * @throws ParserConfigurationException thrown if there is a parser * configuration exception */ public static DocumentBuilder buildSecureDocumentBuilder() throws ParserConfigurationException { final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); factory.setFeature("http://xml.org/sax/features/external-general-entities", false); factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); return factory.newDocumentBuilder(); }
From source file:Main.java
/** * Returns a new {@code DocumentBuilderFactory} instance with XML External Entity (XXE) processing disabled. * * @return the new {@code DocumentBuilderFactory} instance with XXE processing disabled * @throws ParserConfigurationException if an error occurred while disabling XXE processing * @see DocumentBuilderFactory// ww w .j a va 2 s .c o m */ public static DocumentBuilderFactory newXxeDisabledDocumentBuilderFactory() throws ParserConfigurationException { // Disable XXE processing, not required by default. // https://www.owasp.org/index.php/XML_External_Entity_%28XXE%29_Processing DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); factory.setFeature("http://xml.org/sax/features/external-general-entities", false); factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); factory.setExpandEntityReferences(false); return factory; }