Example usage for org.dom4j.io SAXReader setErrorHandler

List of usage examples for org.dom4j.io SAXReader setErrorHandler

Introduction

In this page you can find the example usage for org.dom4j.io SAXReader setErrorHandler.

Prototype

public void setErrorHandler(ErrorHandler errorHandler) 

Source Link

Document

Sets the ErrorHandler used by the SAX XMLReader.

Usage

From source file:org.hibernate.util.xml.MappingReader.java

License:Open Source License

public XmlDocument readMappingDocument(EntityResolver entityResolver, InputSource source, Origin origin) {
    // IMPL NOTE : this is the legacy logic as pulled from the old AnnotationConfiguration code

    Exception failure;//from w  ww  .  j  av a2s .  c om
    ErrorLogger errorHandler = new ErrorLogger();

    SAXReader saxReader = new SAXReader();
    saxReader.setEntityResolver(entityResolver);
    saxReader.setErrorHandler(errorHandler);
    saxReader.setMergeAdjacentText(true);
    saxReader.setValidation(true);

    Document document = null;
    try {
        // first try with orm 2.0 xsd validation
        setValidationFor(saxReader, "orm_2_0.xsd");
        document = saxReader.read(source);
        if (errorHandler.getError() != null) {
            throw errorHandler.getError();
        }
        return new XmlDocumentImpl(document, origin.getType(), origin.getName());
    } catch (Exception orm2Problem) {
        log.debug("Problem parsing XML using orm 2 xsd : {}", orm2Problem.getMessage());
        failure = orm2Problem;
        errorHandler.reset();

        if (document != null) {
            // next try with orm 1.0 xsd validation
            try {
                setValidationFor(saxReader, "orm_1_0.xsd");
                document = saxReader.read(new StringReader(document.asXML()));
                if (errorHandler.getError() != null) {
                    throw errorHandler.getError();
                }
                return new XmlDocumentImpl(document, origin.getType(), origin.getName());
            } catch (Exception orm1Problem) {
                log.debug("Problem parsing XML using orm 1 xsd : {}", orm1Problem.getMessage());
            }
        }
    }
    throw new InvalidMappingException("Unable to read XML", origin.getType(), origin.getName(), failure);
}

From source file:org.jbpm.jpdl.internal.convert.Jpdl3ConverterParser.java

License:Open Source License

public static SAXReader createSaxReader(ProblemListener problemListener) throws Exception {
    XMLReader xmlReader = createXmlReader();
    SAXReader saxReader = new SAXReader(xmlReader);
    saxReader.setErrorHandler(new JpdlErrorHandler(problemListener));
    return saxReader;
}

From source file:org.jbpm.jpdl.xml.JpdlParser.java

License:Open Source License

public static SAXReader createSaxReader(ProblemListener problemListener) throws Exception {
    XMLReader xmlReader = createXmlReader();
    SAXReader saxReader = new SAXReader(xmlReader);
    saxReader.setErrorHandler(new JpdlErrorHandler(problemListener));
    saxReader.setEntityResolver(JPDL_ENTITY_RESOLVER);
    return saxReader;
}