Search in sources :

Example 1 with XMLSchema11Factory

use of org.apache.xerces.jaxp.validation.XMLSchema11Factory in project iaf by ibissource.

the class MyErrorHandler method getValidatorHandler.

@Override
public ValidatorHandler getValidatorHandler(PipeLineSession session, ValidationContext context) throws ConfigurationException {
    ValidatorHandler validatorHandler;
    try {
        javax.xml.validation.Schema schemaObject;
        if (isXmlSchema1_0()) {
            XMLSchemaFactory schemaFactory = new XMLSchemaFactory();
            schemaObject = schemaFactory.newSchema(((XercesValidationContext) context).getGrammarPool());
        } else {
            XMLSchema11Factory schemaFactory = new XMLSchema11Factory();
            schemaObject = schemaFactory.newSchema(((XercesValidationContext) context).getGrammarPool());
        }
        validatorHandler = schemaObject.newValidatorHandler();
    } catch (SAXException e) {
        throw new ConfigurationException(logPrefix + "Cannot create schema", e);
    }
    try {
        // validatorHandler.setFeature(NAMESPACES_FEATURE_ID, true);
        validatorHandler.setFeature(VALIDATION_FEATURE_ID, true);
        validatorHandler.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true);
        validatorHandler.setFeature(SCHEMA_FULL_CHECKING_FEATURE_ID, isFullSchemaChecking());
        validatorHandler.setFeature(DISSALLOW_DOCTYPE_DECL_FEATURE_ID, true);
        SecurityManager securityManager = new SecurityManager();
        securityManager.setEntityExpansionLimit(entityExpansionLimit);
        validatorHandler.setProperty(SECURITY_MANAGER_PROPERTY_ID, securityManager);
        validatorHandler.setContentHandler(context.getContentHandler());
        validatorHandler.setErrorHandler(context.getErrorHandler());
    } catch (SAXNotRecognizedException e) {
        throw new ConfigurationException(logPrefix + "ValidatorHandler does not recognize necessary feature", e);
    } catch (SAXNotSupportedException e) {
        throw new ConfigurationException(logPrefix + "ValidatorHandler does not support necessary feature", e);
    }
    return validatorHandler;
}
Also used : SAXNotSupportedException(org.xml.sax.SAXNotSupportedException) ValidatorHandler(javax.xml.validation.ValidatorHandler) SecurityManager(org.apache.xerces.util.SecurityManager) ConfigurationException(nl.nn.adapterframework.configuration.ConfigurationException) XMLSchemaFactory(org.apache.xerces.jaxp.validation.XMLSchemaFactory) SAXNotRecognizedException(org.xml.sax.SAXNotRecognizedException) XMLSchema11Factory(org.apache.xerces.jaxp.validation.XMLSchema11Factory) SAXException(org.xml.sax.SAXException)

Aggregations

ValidatorHandler (javax.xml.validation.ValidatorHandler)1 ConfigurationException (nl.nn.adapterframework.configuration.ConfigurationException)1 XMLSchema11Factory (org.apache.xerces.jaxp.validation.XMLSchema11Factory)1 XMLSchemaFactory (org.apache.xerces.jaxp.validation.XMLSchemaFactory)1 SecurityManager (org.apache.xerces.util.SecurityManager)1 SAXException (org.xml.sax.SAXException)1 SAXNotRecognizedException (org.xml.sax.SAXNotRecognizedException)1 SAXNotSupportedException (org.xml.sax.SAXNotSupportedException)1