Currently, you can only disable the entire schema validation by
setting directive blueprint.aries.xml-validation to false.

I would like to have an option for only disabling the datatype
validation while keeping the structures validation. This may sound
strange, so I would like to explain the reason.

Many namespace handler XML schemas are using some datatypes that
constrain their syntactic representation (e.g., int, boolean, enum,
etc). For those values, the valid syntactic representation must be
available during validation. That means, you can't use the ${...}
placeholders for those values. And I find it inconvenient.

The options could be:
1. do not allow placeholders for those values
2. change the schemas to use only non-syntactic datatypes like xsd:string
3. change the datatypes to a union of the placeholder looking string
and the original type
4. use the current xml-validation directive to disable the whole validation
5. provide an option to only disable datatype validation (that means
ignoring datatype validation errors during validation)

I prefer option 5 and the others are in the order of 4 > 2 > 1 > 3.

Let me know how you think.

If we go for option 5, we can modify a minor change in
BlueprintContainerImpl to read another directive
(blueprint.aries.xml-validation-datatypes) and pass this flag to the
Parser's validate method so that it can either ignore datatype
validation errors or not.

Thanks.

aki

Reply via email to