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;
}
Aggregations