Example usage for org.dom4j.io SAXReader setValidation

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

Introduction

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

Prototype

public void setValidation(boolean validation) 

Source Link

Document

Sets the validation mode.

Usage

From source file:eu.scape_project.planning.xml.C3POProfileParser.java

License:Apache License

private boolean isValid(SAXParser parser, InputStream stream) {
    log.debug("validating collection profile");
    try {//from  w w  w .  ja  v a2s .  c  o  m
        SimpleErrorHandler errorHandler = new SimpleErrorHandler();

        SAXReader reader = new SAXReader(parser.getXMLReader());
        reader.setValidation(true);

        reader.setErrorHandler(errorHandler);
        reader.read(stream);

        return errorHandler.isValid();

    } catch (SAXException e) {
        log.error("SAXException: {}", e.getMessage());
    } catch (DocumentException e) {
        e.printStackTrace();
        log.error("DocumentException: {}", e.getMessage());
    } catch (NullPointerException e) {
        log.warn("Factory is not initialized. Did you call init()");
    }

    return false;
}

From source file:galign.helpers.AlignmentMapping.java

License:Apache License

/**
 * @throws org.xml.sax.SAXException/*www .  j a  va2s  .c  o  m*/
 * @throws org.dom4j.DocumentException
 */
public void loadFromFile(String p_fileName) throws Exception {
    // Dom4j 1.1 had problems parsing XML files correctly so we
    // used Xerces. Now with 1.5 and AElfred 2 the problems may
    // have been fixed.

    // Reading from a file, need to use Xerces
    // SAXReader reader = new SAXReader();
    //reader.setXMLReaderClassName("org.apache.xerces.parsers.SAXParser");
    //reader.setEntityResolver(DtdResolver.getInstance());
    //reader.setValidation(true);

    SAXReader reader = new SAXReader();
    reader.setXMLReaderClassName("org.dom4j.io.aelfred2.SAXDriver");
    reader.setFeature("http://xml.org/sax/features/external-general-entities", false);
    reader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
    reader.setEntityResolver(new GamEntityResolver());
    reader.setValidation(false);

    InputSource src = new InputSource(new FileInputStream(p_fileName));

    init(reader, src);
}

From source file:galign.helpers.AlignmentPackage.java

License:Apache License

/**
 * Initializes an instance from a GAP file.
 *
 * @throws org.xml.sax.SAXException/*from  w  ww.ja va 2  s .  c om*/
 * @throws org.dom4j.DocumentException
 */
public void loadFromFile(String p_fileName) throws Exception {
    // Dom4j 1.1 had problems parsing XML files correctly so we
    // used Xerces. Now with 1.5 and AElfred 2 the problems may
    // have been fixed.

    // Reading from a file, need to use Xerces
    // SAXReader reader = new SAXReader();
    //reader.setXMLReaderClassName("org.apache.xerces.parsers.SAXParser");
    //reader.setEntityResolver(DtdResolver.getInstance());
    //reader.setValidation(true);

    SAXReader reader = new SAXReader();
    reader.setXMLReaderClassName("org.dom4j.io.aelfred2.SAXDriver");
    reader.setFeature("http://xml.org/sax/features/external-general-entities", false);
    reader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
    reader.setEntityResolver(new GapEntityResolver());
    reader.setValidation(false);

    Reader ioReader = new InputStreamReader(new FileInputStream(p_fileName), "UTF-8");
    InputSource src = new InputSource(ioReader);

    init(reader, src, new java.io.File(p_fileName).getParent());
}

From source file:galign.helpers.tmx.TmxFile.java

License:Apache License

/**
 * @throws org.xml.sax.SAXException/*ww  w  . java2  s .  c o m*/
 * @throws org.dom4j.DocumentException
 */
public void loadFromFile(String p_fileName) throws Exception {
    clearTus();

    m_fileName = p_fileName;

    // Dom4j 1.1 had problems parsing XML files correctly so we
    // used Xerces. Now with 1.5 and AElfred 2 the problems may
    // have been fixed.

    // Validation of XML files is not supported by AElfred so we
    // must use Xerces. But since some TMX files contain no DTD
    // decl we just don't validate.
    //SAXReader reader = new SAXReader();
    //reader.setXMLReaderClassName("org.apache.xerces.parsers.SAXParser");
    //reader.setEntityResolver(DtdResolver.getInstance());
    //reader.setValidation(true);

    SAXReader reader = new SAXReader();
    reader.setXMLReaderClassName("org.dom4j.io.aelfred2.SAXDriver");
    reader.setFeature("http://xml.org/sax/features/external-general-entities", false);
    reader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
    reader.setEntityResolver(new TmxEntityResolver());
    reader.setValidation(false);

    InputSource src = new InputSource(new FileInputStream(p_fileName));

    init(reader, src);
}

From source file:log4JToXml.xmlToProperties.XmlToLog4jConverterImpl.java

private Document parse(URL url) throws DocumentException {
    /*SAXReader reader = new SAXReader();
     Document document = reader.read(url);
     return document;*//* www  .  jav a  2s  .  co  m*/

    SAXReader reader = new SAXReader();
    reader.setValidation(true);
    reader.setErrorHandler(new SimpleErrorHandler());
    return reader.read(url);
}

From source file:nl.tue.gale.common.GaleUtil.java

License:Open Source License

public static SAXReader createSAXReader(boolean validation, boolean loaddtd) {
    SAXReader result = new SAXReader();
    result.setValidation(validation);
    result.setIncludeExternalDTDDeclarations(loaddtd);
    result.setIncludeInternalDTDDeclarations(loaddtd);
    return result;
}

From source file:org.alfresco.module.vti.web.ws.VtiSoapRequest.java

License:Open Source License

/**
 * Constructor//from  w w w  .  j a  va 2  s .c o  m
 * 
 * @param request HttpServletRequest 
 */
public VtiSoapRequest(HttpServletRequest request) {
    super(request);
    try {
        SAXReader reader = new SAXReader();
        reader.setValidation(false);
        document = reader.read(request.getInputStream());

        String ns = document.getRootElement().getNamespaceURI();
        if (SOAP_11_ENVELOPE_NS.equals(ns)) {
            version = "1.1";
        } else if (SOAP_12_ENVELOPE_NS.equals(ns)) {
            version = "1.2";
        }
    } catch (Exception e) {
        document = null;
    }
}

From source file:org.alfresco.repo.security.permissions.impl.model.PermissionModel.java

License:Open Source License

private Document createDocument(String model) {
    InputStream is = this.getClass().getClassLoader().getResourceAsStream(model);
    URL dtdSchemaUrl = (dtdSchema == null) ? null : this.getClass().getClassLoader().getResource(dtdSchema);
    if (is == null) {
        throw new PermissionModelException("File not found: " + model);
    }//from  w ww . j a v  a 2  s .  c  o m
    SAXReader reader = new SAXReader();
    try {
        if (validate) {
            if (dtdSchemaUrl != null) {
                is = processModelDocType(is, dtdSchemaUrl.toString());
                reader.setValidation(true);
            } else {
                throw new PermissionModelException("Couldn't obtain DTD schema to validate permission model.");
            }
        }

        Document document = reader.read(is);
        is.close();
        return document;
    } catch (DocumentException e) {
        throw new PermissionModelException("Failed to create permission model document: " + model, e);
    } catch (IOException e) {
        throw new PermissionModelException("Failed to close permission model document: " + model, e);
    }

    // TODO Do something like the following so that we don't need to modify the source xml
    //      to validate it. The following does not work for DTDs.

    //        InputStream is = this.getClass().getClassLoader().getResourceAsStream(model);
    //        if (is == null)
    //        {
    //            throw new PermissionModelException("File not found: " + model);
    //        }
    //        
    //        InputStream dtdSchemaIs = (dtdSchema == null)
    //            ? null
    //            : this.getClass().getClassLoader().getResourceAsStream(dtdSchema);
    //        
    //        try
    //        {
    //            Document document;
    //            SAXReader reader;
    //            if (validate)
    //            {
    //                if (dtdSchemaIs != null)
    //                {
    //                    SAXParserFactory factory = SAXParserFactory.newInstance();
    //
    //                    SchemaFactory schemaFactory = 
    //                        SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
    //
    //                    try
    //                    {
    //                        factory.setSchema(schemaFactory.newSchema(
    //                            new Source[] {new StreamSource(dtdSchemaIs)}));
    //                        SAXParser parser = factory.newSAXParser();
    //                        reader = new SAXReader(parser.getXMLReader());
    //                        reader.setValidation(false);
    //                        reader.setErrorHandler(new XMLErrorHandler());
    //                    }
    //                    catch (SAXException e)
    //                    {
    //                        throw new PermissionModelException("Failed to read DTD/schema: " + dtdSchema, e);
    //                    }
    //                    catch (ParserConfigurationException e)
    //                    {
    //                        throw new PermissionModelException("Failed to configure DTD/schema: " + dtdSchema, e);
    //                    }
    //                }
    //                else
    //                {
    //                    throw new PermissionModelException("Couldn't obtain DTD/schema to validate permission model.");
    //                }
    //            }
    //            else
    //            {
    //                reader = new SAXReader();
    //            }
    //            document = reader.read(is);
    //            return document;
    //        }
    //        catch (DocumentException e)
    //        {
    //            throw new PermissionModelException("Failed to create permission model document: " + model, e);
    //        }
    //        finally
    //        {
    //            if (is != null)
    //            {
    //                try
    //                {
    //                    is.close();
    //                }
    //                catch (IOException e)
    //                {
    //                    throw new PermissionModelException("Failed to close permission model document: " + model, e);
    //                }
    //            }
    //            if (dtdSchemaIs != null)
    //            {
    //                try
    //                {
    //                    dtdSchemaIs.close();
    //                }
    //                catch (IOException e)
    //                {
    //                    throw new PermissionModelException("Couldn't close DTD/schema to validate permission model.");
    //                }
    //            }
    //        }
}

From source file:org.ballproject.knime.base.config.CTDFileNodeConfigurationReader.java

License:Open Source License

@Override
public INodeConfiguration read(InputStream xmlstream) throws CTDNodeConfigurationReaderException {
    try {/*from w  w w . j a  v  a2  s. c o m*/
        SAXParserFactory factory = SAXParserFactory.newInstance();
        SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");

        factory.setSchema(schemaFactory
                .newSchema(new Source[] { new StreamSource(SchemaProvider.class.getResourceAsStream("CTD.xsd")),
                        new StreamSource(SchemaProvider.class.getResourceAsStream("Param_1_3.xsd")) }));

        SAXParser parser = factory.newSAXParser();

        SAXReader reader = new SAXReader(parser.getXMLReader());
        reader.setValidation(false);

        SimpleErrorHandler errorHandler = new SimpleErrorHandler();

        reader.setErrorHandler(errorHandler);

        this.doc = reader.read(xmlstream);

        if (!errorHandler.isValid()) {
            System.err.println(errorHandler.getErrorReport());
            throw new Exception("CTD file is not valid !");
        }

        this.readPorts();
        this.readParameters();
        this.readDescription();
        this.readMapping();
        this.config.setXml(this.doc.asXML());

        return this.config;
    } catch (Exception e) {
        throw new CTDNodeConfigurationReaderException(e);
    }
}

From source file:org.ballproject.knime.base.config.GalaxyNodeConfigurationReader.java

License:Open Source License

@Override
public INodeConfiguration read(InputStream in) throws Exception {
    SAXParserFactory factory = SAXParserFactory.newInstance();
    SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");

    //currently there seems to be no Galaxy tool schema
    //factory.setSchema(schemaFactory.newSchema(new Source[] {new StreamSource(SchemaProvider.class.getResourceAsStream("TTD.xsd")), new StreamSource(SchemaProvider.class.getResourceAsStream("Param_1_3.xsd"))}));

    SAXParser parser = factory.newSAXParser();

    SAXReader reader = new SAXReader(parser.getXMLReader());
    reader.setValidation(false);

    SimpleErrorHandler errorHandler = new SimpleErrorHandler();

    reader.setErrorHandler(errorHandler);

    doc = reader.read(in);//w  w  w  .j  a  v  a 2 s  . c  om

    if (!errorHandler.isValid()) {
        System.err.println(errorHandler.getErrorReport());
        throw new Exception("Galaxy tool xml file is not valid !");
    }

    readPorts();
    readParameters();
    readDescription();

    config.setXml(doc.asXML());

    return config;
}