List of usage examples for org.xml.sax ErrorHandler ErrorHandler
ErrorHandler
From source file:org.jboss.elasticsearch.river.remote.sitemap.SiteMapParser.java
/** * Parse the given XML content./*from w w w . j ava 2 s. com*/ * * @param sitemapUrl * @param is * @throws UnknownFormatException */ private AbstractSiteMap processXml(URL sitemapUrl, InputSource is) throws UnknownFormatException { Document doc = null; try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); db.setErrorHandler(new ErrorHandler() { @Override public void warning(SAXParseException exception) throws SAXException { logger.warn("Sitemap XML warning: " + exception.getMessage()); } @Override public void fatalError(SAXParseException exception) throws SAXException { logger.warn("Sitemap XML fatalError: " + exception.getMessage()); } @Override public void error(SAXParseException exception) throws SAXException { logger.warn("Sitemap XML error: " + exception.getMessage()); } }); doc = db.parse(is); } catch (Exception e) { throw new UnknownFormatException("Error parsing XML for " + sitemapUrl); } // See if this is a sitemap index NodeList nodeList = doc.getElementsByTagName("sitemapindex"); if (nodeList.getLength() > 0) { nodeList = doc.getElementsByTagName("sitemap"); return parseSitemapIndex(sitemapUrl, nodeList); } else if (doc.getElementsByTagName("urlset").getLength() > 0) { // This is a regular Sitemap return parseXmlSitemap(sitemapUrl, doc); } else if (doc.getElementsByTagName("link").getLength() > 0) { // Could be RSS or Atom return parseSyndicationFormat(sitemapUrl, doc); } throw new UnknownFormatException("Unknown XML format for " + sitemapUrl); }
From source file:org.kuali.rice.core.impl.impex.xml.XmlIngesterServiceImpl.java
private static void validate(final XmlDoc xmlDoc, EntityResolver resolver) throws ParserConfigurationException, IOException, SAXException { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setValidating(true);//from w ww.ja v a2s . c o m dbf.setNamespaceAware(true); dbf.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage", XMLConstants.W3C_XML_SCHEMA_NS_URI); DocumentBuilder db = dbf.newDocumentBuilder(); db.setEntityResolver(resolver); db.setErrorHandler(new ErrorHandler() { public void warning(SAXParseException se) { LOG.warn("Warning parsing xml doc " + xmlDoc, se); addProcessingException(xmlDoc, "Warning parsing xml doc " + xmlDoc, se); } public void error(SAXParseException se) throws SAXException { LOG.error("Error parsing xml doc " + xmlDoc, se); addProcessingException(xmlDoc, "Error parsing xml doc " + xmlDoc, se); throw se; } public void fatalError(SAXParseException se) throws SAXException { LOG.error("Fatal error parsing xml doc " + xmlDoc, se); addProcessingException(xmlDoc, "Fatal error parsing xml doc " + xmlDoc, se); throw se; } }); db.parse(xmlDoc.getStream()); }
From source file:org.kuali.rice.ken.util.Util.java
/** * This method uses DOM to parse the input source of XML. * @param source the input source/*from w w w . j av a 2 s . co m*/ * @param validate whether to turn on validation * @param namespaceAware whether to turn on namespace awareness * @return Document the parsed (possibly validated) document * @throws ParserConfigurationException * @throws IOException * @throws SAXException */ public static Document parse(final InputSource source, boolean validate, boolean namespaceAware, EntityResolver entityResolver) throws ParserConfigurationException, IOException, SAXException { // TODO: optimize this DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setValidating(validate); dbf.setNamespaceAware(namespaceAware); dbf.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); DocumentBuilder db = dbf.newDocumentBuilder(); if (entityResolver != null) { db.setEntityResolver(entityResolver); } db.setErrorHandler(new ErrorHandler() { public void warning(SAXParseException se) { LOG.warn("Warning parsing xml doc " + source, se); } public void error(SAXParseException se) throws SAXException { LOG.error("Error parsing xml doc " + source, se); throw se; } public void fatalError(SAXParseException se) throws SAXException { LOG.error("Fatal error parsing xml doc " + source, se); throw se; } }); return db.parse(source); }
From source file:org.n52.ifgicopter.spf.xml.XMLTools.java
/** * @param f the xml file/*from w ww . j a v a 2s .c o m*/ * @return the parsed {@link Document} */ public static Document parseDocument(File f) { DocumentBuilderFactory fac = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = null; try { builder = fac.newDocumentBuilder(); } catch (ParserConfigurationException e) { log.warn(null, e); return null; } //get the config as Document Document doc = null; try { doc = builder.parse(f); } catch (SAXException e) { log.warn(null, e); return null; } catch (IOException e) { log.warn(null, e); return null; } /* * do we validate? */ if (!Boolean.parseBoolean(SPFRegistry.getInstance().getConfigProperty(SPFRegistry.VALIDATE_XML_PROP))) { return doc; } SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema"); Schema schema = null; try { schema = factory.newSchema(); } catch (SAXException e) { log.warn(null, e); return null; } Validator val = schema.newValidator(); val.setErrorHandler(new ErrorHandler() { @Override public void warning(SAXParseException exception) throws SAXException { log.warn(null, exception); } @Override public void fatalError(SAXParseException exception) throws SAXException { log.warn(null, exception); } @Override public void error(SAXParseException exception) throws SAXException { warning(exception); } }); /* * do the validation */ try { val.validate(new SAXSource(new InputSource(new FileInputStream(f)))); } catch (FileNotFoundException e) { log.warn(null, e); return null; } catch (SAXException e) { log.warn(null, e); return null; } catch (IOException e) { log.warn(null, e); return null; } return doc; }
From source file:org.opencms.util.ant.CmsAntTaskReadXMLProperty.java
/** * Run the task.<p>//from w ww. ja v a2 s .c o m * * Sets the given property to <code>__ABORT__</code> if canceled, or to a list of selected * modules if not.<p> * * @throws BuildException if something goes wrong * * @see org.apache.tools.ant.Task#execute() */ public void execute() throws BuildException { boolean isAttr = ((m_attribute != null) && (m_attribute.trim().length() > 0)); // instantiate Digester and enable XML validation Digester digester = new Digester(); digester.setValidating(false); digester.setEntityResolver(null); digester.setRuleNamespaceURI(null); digester.setErrorHandler(new ErrorHandler() { /** * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException) */ public void error(SAXParseException exception) { log(exception.getMessage(), exception.getLineNumber()); } /** * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException) */ public void fatalError(SAXParseException exception) { log(exception.getMessage(), exception.getLineNumber()); } /** * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException) */ public void warning(SAXParseException exception) { log(exception.getMessage(), exception.getLineNumber()); } }); // add this class to the Digester digester.push(this); if (!isAttr) { digester.addCallMethod(m_element, "setValue", 0); } else { digester.addCallMethod(m_element, "setValue", 1); digester.addCallParam(m_element, 0, m_attribute); } // start the parsing process try { digester.parse(new File(getXmlFile())); } catch (Exception e) { throw new BuildException(e); } getProject().setProperty(m_property, m_value.substring(1)); }
From source file:org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGeneratorTest.java
private void verifyXmlFiles(final Collection<File> xmlFiles) throws Exception { ErrorHandler errorHandler = new ErrorHandler() { @Override/*w w w.j ava 2 s.c om*/ public void warning(final SAXParseException exception) throws SAXException { fail("Generated blueprint xml is not well formed " + exception.getMessage()); } @Override public void fatalError(final SAXParseException exception) throws SAXException { fail("Generated blueprint xml is not well formed " + exception.getMessage()); } @Override public void error(final SAXParseException exception) throws SAXException { fail("Generated blueprint xml is not well formed " + exception.getMessage()); } }; for (File file : xmlFiles) { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(false); factory.setNamespaceAware(true); DocumentBuilder builder = factory.newDocumentBuilder(); builder.setErrorHandler(errorHandler); builder.parse(new InputSource(file.getPath())); } }
From source file:org.openmrs.module.radiology.report.template.XsdMrrtReportTemplateValidator.java
/** * @see MrrtReportTemplateValidator#validate(String) *//*from w w w. j av a 2s . c o m*/ @Override public void validate(String mrrtTemplate) throws IOException { final Document document = Jsoup.parse(mrrtTemplate, ""); final Elements metatags = document.getElementsByTag("meta"); ValidationResult validationResult = metaTagsValidationEngine.run(metatags); final SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); final Schema schema; final Validator validator; try (InputStream in = IOUtils.toInputStream(mrrtTemplate)) { schema = factory.newSchema(getSchemaFile()); validator = schema.newValidator(); validator.setErrorHandler(new ErrorHandler() { @Override public void warning(SAXParseException exception) throws SAXException { log.debug(exception.getMessage(), exception); validationResult.addError(exception.getMessage(), ""); } @Override public void error(SAXParseException exception) throws SAXException { log.debug(exception.getMessage(), exception); validationResult.addError(exception.getMessage(), ""); } @Override public void fatalError(SAXParseException exception) throws SAXException { log.debug(exception.getMessage(), exception); validationResult.addError(exception.getMessage(), ""); } }); validator.validate(new StreamSource(in)); validationResult.assertOk(); } catch (SAXException e) { log.error(e.getMessage(), e); throw new APIException("radiology.report.template.validation.error", null, e); } }
From source file:org.xsystem.bpmn2.formats.xml.XMLParser3.java
Document validate(InputStream input) throws ParserConfigurationException, SAXException, IOException { Schema schema = buildSxema(); Validator validator = schema.newValidator(); validator.setErrorHandler(new ErrorHandler() { @Override//from w w w.j a va 2 s . co m public void warning(SAXParseException ex) throws SAXException { System.err.println(ex.getMessage()); } @Override public void error(SAXParseException ex) throws SAXException { System.err.println(ex.getMessage()); } @Override public void fatalError(SAXParseException ex) throws SAXException { throw ex; } }); Document doc = XMLUtil.getDocument(input); DOMSource source = new DOMSource(doc); validator.validate(source);//, result); return doc; }
From source file:petascope.util.XMLUtil.java
private static Builder newBuilder(boolean ignoreDTD) { XMLReader xmlReader = null;/*w ww .ja v a 2s . c om*/ try { xmlReader = factory.newSAXParser().getXMLReader(); if (ignoreDTD) { xmlReader.setEntityResolver(new EntityResolver() { public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { return new InputSource(new StringReader("")); } }); xmlReader.setErrorHandler(new ErrorHandler() { @Override public void warning(SAXParseException saxpe) throws SAXException { log.warn("XML parser warning: ", saxpe.getMessage()); } @Override public void error(SAXParseException saxpe) throws SAXException { throw saxpe; } @Override public void fatalError(SAXParseException saxpe) throws SAXException { throw saxpe; } }); } } catch (Exception ex) { ex.printStackTrace(); } return new Builder(xmlReader); }
From source file:schemacrawler.test.utility.TestUtility.java
private static void validateXML(final Path testOutputFile, final List<String> failures) throws Exception { final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(false);// ww w. j ava 2s. c o m factory.setNamespaceAware(true); final DocumentBuilder builder = factory.newDocumentBuilder(); builder.setErrorHandler(new ErrorHandler() { @Override public void error(final SAXParseException e) throws SAXException { failures.add(e.getMessage()); } @Override public void fatalError(final SAXParseException e) throws SAXException { failures.add(e.getMessage()); } @Override public void warning(final SAXParseException e) throws SAXException { failures.add(e.getMessage()); } }); builder.parse(new InputSource(readerForFile(testOutputFile))); }