Search in sources :

Example 41 with Schema

use of javax.xml.validation.Schema in project Activiti by Activiti.

the class BpmnXMLConverter method createSchema.

protected Schema createSchema() throws SAXException {
    SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
    Schema schema = null;
    if (classloader != null) {
        schema = factory.newSchema(classloader.getResource(BPMN_XSD));
    }
    if (schema == null) {
        schema = factory.newSchema(BpmnXMLConverter.class.getClassLoader().getResource(BPMN_XSD));
    }
    if (schema == null) {
        throw new XMLException("BPMN XSD could not be found");
    }
    return schema;
}
Also used : SchemaFactory(javax.xml.validation.SchemaFactory) XMLException(org.activiti.bpmn.exceptions.XMLException) Schema(javax.xml.validation.Schema)

Example 42 with Schema

use of javax.xml.validation.Schema in project ats-framework by Axway.

the class ConfigurationParser method inititalizeParser.

/**
     * Initializer method of the parser. Initializes the document instance.
     * @param inputStream - configuration file input stream to be parsed
     * @param systemId Provide a base for resolving relative URIs.
     * @throws IOException - if the streamed object is not found
     */
private void inititalizeParser(InputStream inputStream, String systemId) throws IOException, SAXException, ParserConfigurationException {
    DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
    documentBuilderFactory.setIgnoringElementContentWhitespace(true);
    documentBuilderFactory.setNamespaceAware(true);
    documentBuilderFactory.setValidating(false);
    documentBuilderFactory.setIgnoringComments(true);
    try {
        // skip DTD validation
        documentBuilderFactory.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", false);
        documentBuilderFactory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
        DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
        mDocument = documentBuilder.parse(inputStream, systemId);
        /* NOTE:
             * XSD Validation process is performed after the XML parsing (not during), 
             * because when we do it during the parsing, the XML Document element adds attributes which has a default values in the XSD.
             * In our case for example, it adds lock="true" for all 'table' elements and when the database is oracle
             * we log WARN messages. It's wrong. That's why we do the validation after parsing the XML.
             */
        ConfigurationParser.class.getClassLoader().getResource("agent_descriptor.xsd");
        // XSD Validation
        SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
        Schema schema = schemaFactory.newSchema(this.getClass().getClassLoader().getResource("agent_descriptor.xsd"));
        Validator validator = schema.newValidator();
        validator.validate(new DOMSource(mDocument));
    } catch (ParserConfigurationException pce) {
        log.error(pce.getMessage());
        throw pce;
    } catch (IOException ioe) {
        log.error(ioe.getMessage());
        throw ioe;
    } catch (SAXException saxe) {
        log.error(saxe.getMessage());
        throw saxe;
    }
}
Also used : SchemaFactory(javax.xml.validation.SchemaFactory) DOMSource(javax.xml.transform.dom.DOMSource) DocumentBuilderFactory(javax.xml.parsers.DocumentBuilderFactory) DocumentBuilder(javax.xml.parsers.DocumentBuilder) Schema(javax.xml.validation.Schema) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException) IOException(java.io.IOException) Validator(javax.xml.validation.Validator) SAXException(org.xml.sax.SAXException)

Example 43 with Schema

use of javax.xml.validation.Schema in project claw-compiler by C2SM-RCM.

the class Configuration method validate.

/**
   * Validate the configuration file with the XSD schema.
   *
   * @param xsdPath Path to the XSD schema.
   * @throws Exception If configuration file is not valid.
   */
private void validate(String xsdPath) throws Exception {
    SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
    Source schemaFile = new StreamSource(new File(xsdPath));
    Schema schema = factory.newSchema(schemaFile);
    Validator validator = schema.newValidator();
    validator.validate(new DOMSource(_document));
}
Also used : SchemaFactory(javax.xml.validation.SchemaFactory) DOMSource(javax.xml.transform.dom.DOMSource) StreamSource(javax.xml.transform.stream.StreamSource) Schema(javax.xml.validation.Schema) File(java.io.File) DOMSource(javax.xml.transform.dom.DOMSource) StreamSource(javax.xml.transform.stream.StreamSource) Source(javax.xml.transform.Source) Validator(javax.xml.validation.Validator)

Example 44 with Schema

use of javax.xml.validation.Schema in project aries by apache.

the class NamespaceHandlerRegistryImpl method cacheSchema.

private void cacheSchema(Map<URI, NamespaceHandler> handlers, Schema schema) {
    synchronized (schemas) {
        // Remove schemas that are fully included
        for (Iterator<Map<URI, NamespaceHandler>> iterator = schemas.keySet().iterator(); iterator.hasNext(); ) {
            Map<URI, NamespaceHandler> key = iterator.next();
            boolean found = true;
            for (URI uri : key.keySet()) {
                if (!key.get(uri).equals(handlers.get(uri))) {
                    found = false;
                    break;
                }
            }
            if (found) {
                iterator.remove();
                break;
            }
        }
        // Add our new schema
        schemas.put(handlers, new SoftReference<Schema>(schema));
    }
}
Also used : Schema(javax.xml.validation.Schema) NamespaceHandler(org.apache.aries.blueprint.NamespaceHandler) ConcurrentMap(java.util.concurrent.ConcurrentMap) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) URI(java.net.URI) XML_NS_URI(javax.xml.XMLConstants.XML_NS_URI) W3C_XML_SCHEMA_NS_URI(javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI)

Example 45 with Schema

use of javax.xml.validation.Schema in project logging-log4j2 by apache.

the class XmlCompactFileAsyncAppenderValidationTest method validateXmlSchema.

private void validateXmlSchema(final File file) throws SAXException, IOException {
    final URL schemaFile = this.getClass().getClassLoader().getResource("Log4j-events.xsd");
    final Source xmlFile = new StreamSource(file);
    final SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
    final Schema schema = schemaFactory.newSchema(schemaFile);
    final Validator validator = schema.newValidator();
    validator.validate(xmlFile);
}
Also used : SchemaFactory(javax.xml.validation.SchemaFactory) StreamSource(javax.xml.transform.stream.StreamSource) Schema(javax.xml.validation.Schema) URL(java.net.URL) StreamSource(javax.xml.transform.stream.StreamSource) Source(javax.xml.transform.Source) Validator(javax.xml.validation.Validator)

Aggregations

Schema (javax.xml.validation.Schema)102 SchemaFactory (javax.xml.validation.SchemaFactory)72 Validator (javax.xml.validation.Validator)51 StreamSource (javax.xml.transform.stream.StreamSource)45 SAXException (org.xml.sax.SAXException)35 Source (javax.xml.transform.Source)29 DOMSource (javax.xml.transform.dom.DOMSource)25 IOException (java.io.IOException)22 JAXBContext (javax.xml.bind.JAXBContext)18 Document (org.w3c.dom.Document)18 InputStream (java.io.InputStream)17 File (java.io.File)15 URL (java.net.URL)15 DocumentBuilder (javax.xml.parsers.DocumentBuilder)14 JAXBException (javax.xml.bind.JAXBException)13 Unmarshaller (javax.xml.bind.Unmarshaller)13 ParserConfigurationException (javax.xml.parsers.ParserConfigurationException)13 InputSource (org.xml.sax.InputSource)13 DocumentBuilderFactory (javax.xml.parsers.DocumentBuilderFactory)12 SAXParseException (org.xml.sax.SAXParseException)9