@Override public XMLReader getXMLReader() throws SAXException { XMLReader r = sp.getXMLReader(); r.setEntityResolver(EMPTY_ENTITY_RESOLVER); return r; }
/** * Creates a new instance. * @param publicIdToResourceNameMap maps public IDs to DTD resource names * @throws SAXException if an error occurs * @throws ParserConfigurationException if an error occurs */ protected XmlLoader(Map<String, String> publicIdToResourceNameMap) throws SAXException, ParserConfigurationException { this.publicIdToResourceNameMap = new HashMap<>(publicIdToResourceNameMap); final SAXParserFactory factory = SAXParserFactory.newInstance(); FeaturesForVerySecureJavaInstallations.addFeaturesForVerySecureJavaInstallations(factory); factory.setValidating(true); parser = factory.newSAXParser().getXMLReader(); parser.setContentHandler(this); parser.setEntityResolver(this); parser.setErrorHandler(this); }
private XMLReader getParser(boolean validate) throws SAXException, ParserConfigurationException, FactoryConfigurationError { XMLReader parser = XMLUtil.createXMLReader(validate); // create document handler and register it parser.setEntityResolver(this); parser.setContentHandler(this); parser.setErrorHandler(this); return parser; }
protected Set<String> parseWebXML(File file) throws IOException { WebXMLContentHandler handler = new WebXMLContentHandler(); Set<String> result = new HashSet<String>(); try { XMLReader xmlReader = XMLReaderFactory.createXMLReader(); InputSource inputSource = new InputSource(new FileInputStream(file)); xmlReader.setContentHandler(handler); // suppress validation xmlReader.setEntityResolver( new EntityResolver() { @Override public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { return new InputSource(new StringReader("")); } }); xmlReader.parse(inputSource); } catch (SAXException e) { throw new IOException(e); } result.addAll(handler.getInAuthConstraintRoles()); result.addAll(handler.getInSecRoleRoles()); result.addAll(handler.getInSecRoleRefRoles().keySet()); result.addAll(handler.getInSecRoleRefRoles().values()); return result; }
public static XMLConformanceMapEntityResolver newInstance(XMLConformanceTest test) throws Exception { try { SAXParserFactory saxFactory = new SAXParserFactoryImpl(); saxFactory.setNamespaceAware(false); XMLReader xmlReader = saxFactory.newSAXParser().getXMLReader(); XMLConformanceMapEntityResolver resolver = new XMLConformanceMapEntityResolver(test.getEntityResolver()); xmlReader.setEntityResolver(resolver); xmlReader.parse(test.getUrl().toExternalForm()); return resolver; } catch(Exception e) { return null; } }
private static final SAXParser createSAXParser(LibraryHandler handler) throws SAXException, ParserConfigurationException { SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(false); factory.setFeature("http://xml.org/sax/features/validation", true); factory.setValidating(true); SAXParser parser = factory.newSAXParser(); XMLReader reader = parser.getXMLReader(); reader.setErrorHandler(handler); reader.setEntityResolver(handler); return parser; }
@Before public void setUp() { svgMetadataReader = new SvgMetadataReader(); try { reader = XMLUtils.getXMLReader(); } catch (final SAXException e) { throw new RuntimeException(e); } reader.setContentHandler(svgMetadataReader); reader.setEntityResolver(new SvgMetadataReader.EmptyEntityResolver()); }
/** * init the parser : * load the parser class, and set features if necessary * It is only after this that the reader is valid * @throws BuildException if something went wrong */ protected void initValidator() { xmlReader = createXmlReader(); xmlReader.setEntityResolver(getEntityResolver()); xmlReader.setErrorHandler(errorHandler); if (!isSax1Parser()) { // turn validation on if (!lenient) { setFeature(XmlConstants.FEATURE_VALIDATION, true); } // set the feature from the attribute list for (final Attribute feature : attributeList) { setFeature(feature.getName(), feature.getValue()); } // Sets properties for (final Property prop : propertyList) { setProperty(prop.getName(), prop.getValue()); } } }
private static void parseXml(InputStream in, String systemId, DefaultHandler handler) throws SAXException, IOException { InputSource inSrc = new InputSource(); inSrc.setSystemId(systemId); inSrc.setByteStream(toCloseIgnoring(in)); SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(false); factory.setValidating(false); // Especially as we use dummy empty DTD-s XMLReader reader; try { reader = factory.newSAXParser().getXMLReader(); } catch (ParserConfigurationException e) { // Not expected throw new RuntimeException("XML parser setup failed", e); } reader.setEntityResolver(new EmptyContentEntityResolver()); // To deal with referred DTD-s reader.setContentHandler(handler); reader.setErrorHandler(handler); reader.parse(inSrc); }
/** * Set up before a parse. * * <p>Before every parse, check whether the parent is * non-null, and re-register the filter for all of the * events.</p> */ private void setupParse () { if (parent == null) { throw new NullPointerException("No parent for filter"); } parent.setEntityResolver(this); parent.setDTDHandler(this); parent.setContentHandler(this); parent.setErrorHandler(this); }
/** * Creates a new SAX XMLReader, with sensible defaults */ public static synchronized XMLReader newXMLReader() throws SAXException, ParserConfigurationException { XMLReader xmlReader = saxFactory.newSAXParser().getXMLReader(); xmlReader.setEntityResolver(IGNORING_ENTITY_RESOLVER); trySetSAXFeature(xmlReader, XMLConstants.FEATURE_SECURE_PROCESSING, true); trySetXercesSecurityManager(xmlReader); return xmlReader; }
reader.setEntityResolver(thatEntityResolver); contentHandler.setStripWhitespaceText(isStripWhitespaceText()); contentHandler.setIgnoreComments(isIgnoreComments()); reader.setContentHandler(contentHandler); reader.parse(in);
parser.setEntityResolver(out.getEntityResolver()); parser.setErrorHandler(new DefaultHandler());
/** * Return the XMLReader to be used for parsing the input document. * * FIX ME: there is a bug in JAXP/XERCES that prevent the use of a * parser that contains a schema with a DTD. * @exception SAXException if no XMLReader can be instantiated */ public XMLReader getXMLReader() throws SAXException { if (reader == null){ reader = getParser().getXMLReader(); } reader.setDTDHandler(this); reader.setContentHandler(this); if (entityResolver == null){ reader.setEntityResolver(this); } else { reader.setEntityResolver(entityResolver); } reader.setErrorHandler(this); return reader; }
/** * Set up before a parse. * * <p>Before every parse, check whether the parent is * non-null, and re-register the filter for all of the * events.</p> */ private void setupParse () { XMLReader p = getParent(); if (p == null) { throw new NullPointerException(XSLMessages.createMessage(XSLTErrorResources.ER_NO_PARENT_FOR_FILTER, null)); //"No parent for filter"); } ContentHandler ch = m_transformer.getInputContentHandler(); // if(ch instanceof SourceTreeHandler) // ((SourceTreeHandler)ch).setUseMultiThreading(true); p.setContentHandler(ch); p.setEntityResolver(this); p.setDTDHandler(this); p.setErrorHandler(this); }
/** * Creates a new SAX XMLReader, with sensible defaults */ public static synchronized XMLReader newXMLReader() throws SAXException, ParserConfigurationException { XMLReader xmlReader = saxFactory.newSAXParser().getXMLReader(); xmlReader.setEntityResolver(IGNORING_ENTITY_RESOLVER); trySetSAXFeature(xmlReader, XMLConstants.FEATURE_SECURE_PROCESSING); trySetXercesSecurityManager(xmlReader); return xmlReader; }
XMLReader reader =XMLReaderFactory.createXMLReader(); reader.setEntityResolver(new DummyEntityResolver()); reader.setContentHandler(handler); reader.parse(inputSource);
/** * Parse the content given {@link org.xml.sax.InputSource} * as XML using the specified * {@link org.xml.sax.helpers.DefaultHandler}. * * @param is The InputSource containing the content to be parsed. * @param dh The SAX DefaultHandler to use. * * @throws IllegalArgumentException If the <code>InputSource</code> object * is <code>null</code>. * @throws IOException If any IO errors occur. * @throws SAXException If any SAX errors occur during processing. * * @see org.xml.sax.DocumentHandler */ public void parse(InputSource is, DefaultHandler dh) throws SAXException, IOException { if (is == null) { throw new IllegalArgumentException("InputSource cannot be null"); } XMLReader reader = this.getXMLReader(); if (dh != null) { reader.setContentHandler(dh); reader.setEntityResolver(dh); reader.setErrorHandler(dh); reader.setDTDHandler(dh); } reader.parse(is); }
/** * Set up before a parse. * * <p>Before every parse, check whether the parent is * non-null, and re-register the filter for all of the * events.</p> */ private void setupParse () { XMLReader p = getParent(); if (p == null) { throw new NullPointerException(XSLMessages.createMessage(XSLTErrorResources.ER_NO_PARENT_FOR_FILTER, null)); //"No parent for filter"); } ContentHandler ch = m_transformer.getInputContentHandler(); // if(ch instanceof SourceTreeHandler) // ((SourceTreeHandler)ch).setUseMultiThreading(true); p.setContentHandler(ch); p.setEntityResolver(this); p.setDTDHandler(this); p.setErrorHandler(this); }
private Source getSource(final InputStream is, final Resource resource) throws ParserConfigurationException, SAXException { // todo: is this comment still relevant ?? // FIXME: need to use a SAXSource as the source for the transform // so we can plug in our own entity resolver Source src = null; if (entityResolver != null) { if (getFactory().getFeature(SAXSource.FEATURE)) { final SAXParserFactory spFactory = SAXParserFactory.newInstance(); spFactory.setNamespaceAware(true); final XMLReader reader = spFactory.newSAXParser().getXMLReader(); reader.setEntityResolver(entityResolver); src = new SAXSource(reader, new InputSource(is)); } else { throw new IllegalStateException("xcatalog specified, but " + "parser doesn't support SAX"); } } else { // WARN: Don't use the StreamSource(File) ctor. It won't work with // xalan prior to 2.2 because of systemid bugs. src = new StreamSource(is); } // The line below is a hack: the system id must an URI, but it is not // cleat to get the URI of an resource, so just set the name of the // resource as a system id src.setSystemId(resourceToURI(resource)); return src; }