Example usage for org.xml.sax.helpers XMLReaderFactory createXMLReader

List of usage examples for org.xml.sax.helpers XMLReaderFactory createXMLReader

Introduction

In this page you can find the example usage for org.xml.sax.helpers XMLReaderFactory createXMLReader.

Prototype

public static XMLReader createXMLReader() throws SAXException 

Source Link

Document

Obtains a new instance of a org.xml.sax.XMLReader .

Usage

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();
}