List of usage examples for org.xml.sax.helpers XMLReaderFactory createXMLReader
public static XMLReader createXMLReader() throws SAXException
From source file:org.codice.ddf.transformer.xml.streaming.lib.SaxEventHandlerDelegate.java
public SaxEventHandlerDelegate() { try {/* ww w. j ava2 s. c o m*/ parser = XMLReaderFactory.createXMLReader(); } catch (Exception e) { LOGGER.debug( "Exception thrown during creation of SaxEventHandlerDelegate. Probably caused by one of the setFeature calls", e); } }
From source file:org.commonjava.maven.galley.maven.parse.XMLInfrastructure.java
private Document fallbackParseDocument(String xml, final Object docSource, final Exception e) throws GalleyMavenXMLException { logger.debug(//from w ww. j a va 2s. co m "Failed to parse: {}. DOM error: {}. Trying STaX parse with IS_REPLACING_ENTITY_REFERENCES == false...", e, docSource, e.getMessage()); try { Source source; if (safeInputFactory != null) { xml = repairXmlDeclaration(xml); final XMLEventReader eventReader = safeInputFactory.createXMLEventReader(new StringReader(xml)); source = new StAXSource(eventReader); } else { // Deal with ø and other undeclared entities... xml = escapeNonXMLEntityRefs(xml); final XMLReader reader = XMLReaderFactory.createXMLReader(); reader.setFeature("http://xml.org/sax/features/validation", false); source = new SAXSource(reader, new InputSource(new StringReader(xml))); } final DOMResult result = new DOMResult(); final Transformer transformer = newTransformer(); transformer.transform(source, result); return (Document) result.getNode(); } catch (final TransformerException e1) { throw new GalleyMavenXMLException("Failed to parse: %s. Transformer error: %s.\nOriginal DOM error: %s", e1, docSource, e1.getMessage(), e.getMessage()); } catch (final SAXException e1) { throw new GalleyMavenXMLException("Failed to parse: %s. SAX error: %s.\nOriginal DOM error: %s", e1, docSource, e1.getMessage(), e.getMessage()); } catch (final XMLStreamException e1) { throw new GalleyMavenXMLException("Failed to parse: %s. STaX error: %s.\nOriginal DOM error: %s", e1, docSource, e1.getMessage(), e.getMessage()); } }
From source file:org.dbpedia.spotlight.parser.WikiXMLParser.java
public WikiXMLParser(InputStream inputStream, IArticleFilter filter) throws SAXException { super();//from w w w . ja va2 s . c om try { fArticleFilter = filter; fXMLReader = XMLReaderFactory.createXMLReader(); fXMLReader.setContentHandler(this); fXMLReader.setErrorHandler(this); fReader = new BufferedReader(new InputStreamReader(inputStream, Connector.UTF8_CHARSET)); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } }
From source file:org.dbpedia.spotlight.parser.WikiXMLParser.java
public WikiXMLParser(Reader reader, IArticleFilter filter) throws SAXException { super();//from w w w. j av a2s.com fArticleFilter = filter; fXMLReader = XMLReaderFactory.createXMLReader(); fXMLReader.setContentHandler(this); fXMLReader.setErrorHandler(this); fReader = reader; }
From source file:org.deegree.tools.metadata.ISO19139Validator.java
/** * @param srcOpt/*from www . j a va 2s . c om*/ * @param schemaOpt * @param resultOpt * @throws IOException * @throws SAXException */ public void run(String srcOpt, String schemaOpt, String resultOpt) throws IOException, SAXException { File src = new File(srcOpt); if (!src.exists()) { throw new IllegalArgumentException("src does not exist: " + srcOpt + ". Check parameter " + OPT_SRC); } File result; if (resultOpt != null && resultOpt.length() > 0) { result = new File(resultOpt); if (!result.exists()) { result.createNewFile(); } } else { result = File.createTempFile(DEFAULT_FILENAME, ".txt"); } SCHEMAVERSION schemaVersion = SCHEMAVERSION.V2007; if (schemaOpt != null) { try { schemaVersion = SCHEMAVERSION.valueOf(schemaOpt); } catch (Exception e) { throw new IllegalArgumentException("Invalid argument for " + OPT_SCHEMA_VERSION + ": " + schemaOpt); } } String schema = "/META-INF/SCHEMAS_OPENGIS_NET/iso/19139/20070417/gmd/metadataEntity.xsd"; if (SCHEMAVERSION.V2006.equals(schemaVersion)) { schema = "/META-INF/SCHEMAS_OPENGIS_NET/iso/19139/20060504/gmd/metadataEntity.xsd"; } URL u = ISO19139Validator.class.getResource(schema); XMLReader parser = XMLReaderFactory.createXMLReader(); parser.setFeature("http://xml.org/sax/features/validation", true); parser.setFeature("http://apache.org/xml/features/validation/schema", true); parser.setProperty("http://apache.org/xml/properties/schema/external-schemaLocation", "http://www.isotc211.org/2005/gmd " + u.toExternalForm()); final FileWriter fw = new FileWriter(result); File[] filesToValidate; if (src.isDirectory()) { filesToValidate = src.listFiles(); fw.write("validate " + filesToValidate.length + " files from directory " + src); fw.write("\n"); } else { filesToValidate = new File[] { src }; } System.out.println("Start validation"); int noOfValidRecords = 0; for (int i = 0; i < filesToValidate.length; i++) { FileErrorHandler feh = new FileErrorHandler(fw); parser.setErrorHandler(feh); if (filesToValidate.length > 1) { fw.write("validate record " + i + " of " + filesToValidate.length); fw.write("\n"); } File fileToValidate = filesToValidate[i]; System.out.println(fileToValidate); fw.write("validate file " + fileToValidate.getAbsolutePath()); fw.write("\n"); try { parser.parse(new InputSource(new FileInputStream(fileToValidate))); } catch (Exception e) { String msg = "Could not validate current occured: " + e.getMessage() + ". Continue with next record"; System.err.println(msg); fw.write(msg); fw.write("\n"); continue; } fw.flush(); if (feh.isValid()) noOfValidRecords++; } fw.write(noOfValidRecords + " of " + filesToValidate.length + " records are valid."); fw.close(); System.out.println("Validation finished, result file: " + result.getAbsolutePath()); }
From source file:org.devtcg.five.meta.LastfmMetaTask.java
public void run() throws Exception { System.out.println("Accessing " + getMethodUrl()); HttpGet request = new HttpGet(getMethodUrl()); HttpResponse response = mClient.execute(request); if (mTask.isCancelled()) return;/*from w w w . j a v a 2s . com*/ if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { if (LOG.isWarnEnabled()) LOG.warn(getMethodUrl() + " replied " + response.getStatusLine()); response.getEntity().consumeContent(); return; } HttpEntity entity = response.getEntity(); InputStream in = entity.getContent(); try { XMLReader reader = XMLReaderFactory.createXMLReader(); reader.setContentHandler(getContentHandler()); reader.parse(new InputSource(in)); } finally { IOUtils.closeQuietlyNullSafe(in); } if (mTask.isCancelled()) return; onPostParse(); }
From source file:org.dita.dost.TestUtils.java
/** * Read XML file contents into a string. * //from w w w.j a v a 2 s. c om * @param file XML file to read * @param normalize normalize whitespace * @return contents of the file * @throws Exception if parsing the file failed */ public static String readXmlToString(final File file, final boolean normalize, final boolean clean) throws Exception { final Writer std = new CharArrayWriter(); InputStream in = null; try { in = new BufferedInputStream(new FileInputStream(file)); final Transformer t = TransformerFactory.newInstance().newTransformer(); XMLReader p = XMLReaderFactory.createXMLReader(); p.setEntityResolver(CatalogUtils.getCatalogResolver()); if (normalize) { t.setOutputProperty(OutputKeys.INDENT, "yes"); p = new NormalizingXMLFilterImpl(p); } if (clean) { p = new CleaningXMLFilterImpl(p); } t.transform(new SAXSource(p, new InputSource(in)), new StreamResult(std)); } finally { if (in != null) { in.close(); } } return std.toString(); }
From source file:org.dita.dost.TestUtils.java
/** * Normalize XML file.// w ww .j a va 2s. co m * * @param src source XML file * @param dst destination XML file * @throws Exception if parsing or serializing failed */ public static void normalize(final File src, final File dst) throws Exception { CatalogUtils.setDitaDir(new File("src" + File.separator + "main").getAbsoluteFile()); final Transformer serializer = TransformerFactory.newInstance().newTransformer(); final XMLReader parser = XMLReaderFactory.createXMLReader(); parser.setEntityResolver(CatalogUtils.getCatalogResolver()); InputStream in = null; OutputStream out = null; try { in = new BufferedInputStream(new FileInputStream(src)); out = new BufferedOutputStream(new FileOutputStream(dst)); serializer.transform(new SAXSource(parser, new InputSource(in)), new StreamResult(out)); } finally { if (in != null) { in.close(); } if (out != null) { out.close(); } } }
From source file:org.dita.dost.util.XMLUtils.java
/** * Get preferred SAX parser.//from ww w.j av a 2 s .c om * * Preferred XML readers are in order: * * <ol> * <li>{@link Constants#SAX_DRIVER_DEFAULT_CLASS Xerces}</li> * <li>{@link Constants#SAX_DRIVER_SUN_HACK_CLASS Sun's Xerces}</li> * <li>{@link Constants#SAX_DRIVER_CRIMSON_CLASS Crimson}</li> * </ol> * * @return XML parser instance. * @throws org.xml.sax.SAXException if instantiating XMLReader failed */ public static XMLReader getXMLReader() throws SAXException { XMLReader reader; if (System.getProperty(SAX_DRIVER_PROPERTY) != null) { return XMLReaderFactory.createXMLReader(); } try { Class.forName(SAX_DRIVER_DEFAULT_CLASS); reader = XMLReaderFactory.createXMLReader(SAX_DRIVER_DEFAULT_CLASS); } catch (final ClassNotFoundException e) { try { Class.forName(SAX_DRIVER_SUN_HACK_CLASS); reader = XMLReaderFactory.createXMLReader(SAX_DRIVER_SUN_HACK_CLASS); } catch (final ClassNotFoundException ex) { try { Class.forName(SAX_DRIVER_CRIMSON_CLASS); reader = XMLReaderFactory.createXMLReader(SAX_DRIVER_CRIMSON_CLASS); } catch (final ClassNotFoundException exc) { reader = XMLReaderFactory.createXMLReader(); } } } if (Configuration.DEBUG) { reader = new DebugXMLReader(reader); } return reader; }
From source file:org.eclipse.smarthome.binding.sonos.internal.SonosXMLParser.java
/** * @param xml//from w w w . j av a 2s . c om * @return a list of alarms from the given xml string. * @throws IOException * @throws SAXException */ public static List<SonosAlarm> getAlarmsFromStringResult(String xml) { AlarmHandler handler = new AlarmHandler(); try { XMLReader reader = XMLReaderFactory.createXMLReader(); reader.setContentHandler(handler); reader.parse(new InputSource(new StringReader(xml))); } catch (IOException e) { LOGGER.error("Could not parse Alarms from string '{}'", xml); } catch (SAXException s) { LOGGER.error("Could not parse Alarms from string '{}'", xml); } return handler.getAlarms(); }