* @param schemas schemas to be validated
*/
public void validateSchemas(SchemaElement[] schemas) {
// validate the schemas and report any problems
TreeWalker wlkr = new TreeWalker(m_validationContext, m_validationContext);
s_logger.debug("Beginning schema prevalidation pass");
m_validationContext.clearTraversed();
s_logger.debug("Beginning schema prevalidation pass");
for (int i = 0; i < schemas.length; i++) {
wlkr.walkSchema(schemas[i], new PrevalidationVisitor(m_validationContext));
s_logger.debug("After prevalidation schema " + schemas[i].getResolver().getName() +
" has effective namespace " + schemas[i].getEffectiveNamespace());
}
s_logger.debug("Beginning name registration pass");
m_validationContext.clearTraversed();
for (int i = 0; i < schemas.length; i++) {
wlkr.walkSchema(schemas[i], new NameRegistrationVisitor(m_validationContext));
}
s_logger.debug("Beginning name merge pass");
m_validationContext.clearTraversed();
for (int i = 0; i < schemas.length; i++) {
wlkr.walkSchema(schemas[i], new NameMergeVisitor(m_validationContext));
}
s_logger.debug("Beginning validation pass");
m_validationContext.clearTraversed();
for (int i = 0; i < schemas.length; i++) {
wlkr.walkSchema(schemas[i], new ValidationVisitor(m_validationContext));
s_logger.debug("After validation schema " + schemas[i].getResolver().getName() +
" has effective namespace " + schemas[i].getEffectiveNamespace());
}
}