diff --git a/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java index 819906330a715b5aa9e62afebcf793ebd3b7138a..fd3e46c87228012b4a8865614c65d6474182e0c6 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java +++ b/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java @@ -348,25 +348,26 @@ public class SLUBXmlFormatValidationPlugin implements FormatValidationPlugin { reportDetail("assigned schema uri: " + validationSchema.schemaURI); var schemaType = validationSchema.schemaType; Document doc = getDocument(filePath); - if (schemaType == ValidationSchemaType.dtd) { - SLUBValidateDTD validator = new SLUBValidateDTD( validationCatalogResolver, validationErrorHandler ); - valid = validator.validateAgainst(filePath); - } - else if (schemaType == ValidationSchemaType.relaxng) { - SLUBValidateRelaxNG validator = new SLUBValidateRelaxNG( ); - valid = validator.validateAgainst(doc, validationSchema.schemaURI); - - } else if (schemaType == ValidationSchemaType.schematron) { - SLUBValidateSchematron validator = new SLUBValidateSchematron( ); - valid = validator.validateAgainst(doc, validationSchema.schemaURI); - reportError("unsupported schematron schema uri="+ validationSchema.schemaURI + " of type: " + validationSchema.schemaType); - valid = false; - /* */ - } else if (schemaType == ValidationSchemaType.schema) { - validateFormatAgainstSchemaRecursively(doc, validationSchema); - } else { - reportError("unsupported schema uri="+ validationSchema.schemaURI + " of type: " + validationSchema.schemaType); - valid = false; + switch (schemaType) { + case dtd -> { + SLUBValidateDTD validator = new SLUBValidateDTD(validationCatalogResolver, validationErrorHandler); + valid = validator.validateAgainst(filePath); + } + case schema -> validateFormatAgainstSchemaRecursively(doc, validationSchema); + case relaxng -> { + SLUBValidateRelaxNG validator = new SLUBValidateRelaxNG(); + valid = validator.validateAgainst(doc, validationSchema.schemaURI); + } + case schematron -> { + SLUBValidateSchematron validator = new SLUBValidateSchematron(); + valid = validator.validateAgainst(doc, validationSchema.schemaURI); + reportError("unsupported schematron schema uri=" + validationSchema.schemaURI + " of type: " + validationSchema.schemaType); + valid = false; + } + default -> { + reportError("unsupported schema uri=" + validationSchema.schemaURI + " of type: " + validationSchema.schemaType); + valid = false; + } } } @@ -409,10 +410,8 @@ public class SLUBXmlFormatValidationPlugin implements FormatValidationPlugin { //dbf.setXIncludeAware(true); dbf.setNamespaceAware(true); DocumentBuilder db = dbf.newDocumentBuilder(); - db.setErrorHandler( validationErrorHandler ); //db.setEntityResolver(validationCatalogResolver); - if (debug) System.out.println( "DOCUMENT LOADER: ns aware=" + db.isNamespaceAware() + " include aware=" + db.isXIncludeAware()