diff --git a/website/content/specification/syntax/constraints.md b/website/content/specification/syntax/constraints.md index da8a0563..501413af 100644 --- a/website/content/specification/syntax/constraints.md +++ b/website/content/specification/syntax/constraints.md @@ -35,8 +35,12 @@ Within `allowed-values` of a `constraint`, a Metaschema processor MUST strictly ``` -## `define-flag` constraints +### `define-flag` constraints -## `define-field` constraints +### `define-field` constraints -## `define-assembly` constraints +### `define-assembly` constraints + +### Multiple allowed value constraints for the same target + +A Metaschema processor MUST process and support validation of content instances of Metaschema modules with multiple `allowed-values` constraints for the same targets with an implicit or explicit `allow-other="no"` directive. Fields and flags may have their own internal enumerations, and assemblies themselves can define additional `allowed-values` constraints with `target` attributes for context-sensitive constraints to the same fields and flags, the result is compositional. A Metaschema processor MUST validate content instances with these constraints when there is an explicit or implicit `allow-other="no"` as a union of all enumerations applicable to the context-sensitive target. Below is an example.