diff --git a/java/org/slub/rosetta/dps/repository/plugin/ValidationSchemaType.java b/java/org/slub/rosetta/dps/repository/plugin/ValidationSchemaType.java index d6e2f9b46653985fa3b46255abdb121a61118ef7..1f324b35a2934bb40a8023aed491151cffd938ff 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/ValidationSchemaType.java +++ b/java/org/slub/rosetta/dps/repository/plugin/ValidationSchemaType.java @@ -16,5 +16,5 @@ limitations under the License. package org.slub.rosetta.dps.repository.plugin; public enum ValidationSchemaType { - schema, dtd, relaxng, schematron, nothing + schema, dtd, relaxng, schematron, nonvalidating, nothing, } diff --git a/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java index 8fd9c2814c66f23ed6383f2c3e5e226f725be296..c2b2578754277100c30cbb2dbaad881ab82f94ec 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java +++ b/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java @@ -98,6 +98,7 @@ public class XmlFormatValidationPlugin implements FormatValidationPlugin { case "schema" -> schematype = ValidationSchemaType.schema; case "schematron" -> schematype = ValidationSchemaType.schematron; case "relaxng" -> schematype = ValidationSchemaType.relaxng; + case "nonvalidating" -> schematype = ValidationSchemaType.nonvalidating; default -> validationLogger.error("attribute schematype needs to be type of schema, schematron or relaxng, but is " + attr_type); } URI uri; @@ -261,24 +262,32 @@ public class XmlFormatValidationPlugin implements FormatValidationPlugin { case dtd -> { ValidateDTD validator = new ValidateDTD(validationCatalogResolver, validationErrorHandler, validationLogger); valid = validator.validateAgainst(filePath); + break; } case schema -> { ValidateSchema validator = new ValidateSchema(validationResourceResolver, validationLogger); valid = validator.validateFormatAgainstSchemaRecursively(doc, validationSchema); } + case nonvalidating -> { + ValidateSchema validator = new ValidateSchema(validationResourceResolver, validationLogger); + valid = validator.validateFormatAgainstSchemaRecursively(doc, validationSchema); + } case relaxng -> { ValidateRelaxNG validator = new ValidateRelaxNG(validationErrorHandler, validationLogger); valid = validator.validateAgainst(doc, validationSchema.schemaURI); + break; } case schematron -> { ValidateSchematron validator = new ValidateSchematron(); valid = validator.validateAgainst(doc, validationSchema.schemaURI); validationLogger.error("unsupported schematron schema uri=" + validationSchema.schemaURI + " of type: " + validationSchema.schemaType); valid = false; + break; } default -> { validationLogger.error("unsupported schema uri=" + validationSchema.schemaURI + " of type: " + validationSchema.schemaType); valid = false; + break; } } }