diff --git a/toolchains/xslt-M4/validate/metaschema.xsd b/toolchains/xslt-M4/validate/metaschema.xsd
index cc2781f66..f7806fccb 100644
--- a/toolchains/xslt-M4/validate/metaschema.xsd
+++ b/toolchains/xslt-M4/validate/metaschema.xsd
@@ -22,9 +22,9 @@
-
-
-
+
+
+
@@ -35,6 +35,7 @@
+
@@ -44,15 +45,13 @@
-
-
+-->
-
+
An element with structured element content in XML; in JSON, an object with
properties. Defined globally, an assembly can be assigned to appear in the model
of any assembly (another assembly type, or itself), by assembly
reference.
@@ -68,31 +67,32 @@
+ type="m:LocalFlagDefinitionType"/>
-
-
+
+
-
+
+
-
+
-
-
+
+
-
+
In JSON, an object with a nominal string value (potentially with internal
inline - not fully structured - markup). In XML, an element with string or mixed
@@ -107,20 +107,21 @@
+ type="m:LocalFlagDefinitionType"/>
-
+
-
-
+
+
-
+
+
-
+
A data point to be expressed as an attribute in the XML or a name/value pair
in the JSON. A flag may also be defined implicitly with the assembly or field to which it
@@ -130,17 +131,18 @@
-
+
-
-
+
+
+
-
+
In JSON, an object with a nominal string value (potentially with internal
inline - not fully structured - markup). In XML, an element with string or mixed
@@ -156,19 +158,20 @@
+ type="m:LocalFlagDefinitionType"/>
-
-
+
+
-
+
+
-
+
In JSON, an object with a nominal string value (potentially with internal
inline - not fully structured - markup). In XML, an element with string or mixed
@@ -184,54 +187,41 @@
+ type="m:LocalFlagDefinitionType"/>
-
+
-
-
-
+
+
+
-
+
A field with assigned datatype 'markup-multiline' may be designated for representation with or without a containing (wrapper) element
in XML.
-
-
-
-
- Any paragraph or block contents of a markup-multiline field will be represented with a containing (wrapper) element in the XML.
-
-
-
-
- With in-xml='UNWRAPPED', a field contents will be represented in the XML with no wrapper, so the field will be implicit. Among sibling fields in a given model, only one of them may be designated as UNWRAPPED.
-
-
-
-
-
+
-
+
A data point to be expressed as an attribute in the XML or a name/value pair in the JSON. A local definition describes and constrains the appearance of the flag only in its parent (assembly or field) context.
-
+
-
-
+
+
+
@@ -260,7 +250,7 @@
-
+
@@ -272,11 +262,11 @@
-
-
+
+
-
+
A short description of the data construct, to be inserted into
documentation. Unlike 'formal-name' this should not simply repeat what is readily
@@ -292,7 +282,7 @@
-
+
Mark as 'XML' for XML-only or 'JSON' for JSON-only remarks.
@@ -303,7 +293,7 @@
-
+
@@ -359,7 +349,8 @@
-
+
+
@@ -374,44 +365,46 @@
-
-
+
+
A field with assigned datatype 'markup-multiline' may be designated for representation with or without a containing (wrapper) element
in XML.
-
-
-
-
- Any paragraph or block contents of a markup-multiline field will be represented with a containing (wrapper) element in the XML.
-
-
-
-
- With in-xml='UNWRAPPED', a field contents will be represented in the XML with no wrapper, so the field will be implicit. Among sibling fields in a given model, only one of them may be designated as UNWRAPPED.
-
-
-
-
+
-
+
+
+
+
+ Any paragraph or block contents of a markup-multiline field will be represented with a containing (wrapper) element in the XML.
+
+
+
+
+ With in-xml='UNWRAPPED', a field contents will be represented in the XML with no wrapper, so the field will be implicit. Among sibling fields in a given model, only one of them may be designated as UNWRAPPED.
+
+
+
+
+
+
Minimum occurrence of assemblies or fields within a valid model. The default value is 0, for an optional occurrence.
-
+
Maximum occurrence of assemblies or fields within a valid model. The default value is 1, for a single occurrence. 'unbounded' permits any number of assemblies of the designated type.
-
+
@@ -421,7 +414,7 @@
-
+
Indicates a set of values to be recognized for a flag or field, with semantics asserted by a metaschema enumeration (enum).
@@ -429,12 +422,12 @@
-
+
The given enumerated value or values are inclusive of other values ('yes') or not ('no', the default)
-
+
@@ -443,7 +436,7 @@
-
+
A value recognized for a flag or field.
@@ -454,7 +447,7 @@
-
+
A paragraph or paragraph fragment, in documentation.
@@ -478,41 +471,42 @@
-
+
+
-
+
A regex subset that is conformant to both https://www.w3.org/TR/xmlschema11-2/#regexes and https://www.ecma-international.org/ecma-262/11.0/index.html#sec-patterns.
-
+
-
+
-
-
+
+
Specifies the datatype for which the value identified by the scope attribute must conform to.
-
+
-
+
-
-
+
+
Specifies the target of the constraint as a metaschema path. If the value is "." and the containing metaschema object is a field, the constraint applies to the field's value. Otherwise, the scope value "." is not allowed to be used.
@@ -521,24 +515,52 @@
-
+
+
+
+
+
+
+ Specifies the target of the constraint as a metaschema path. If the value is "." and the containing metaschema object is a field, the constraint applies to the field's value.
+
+
+
+
+
+
+
-
+
Constrains the allowed values for the flag.
-
+
Constrains the allowed values based on the provided regex pattern.
-
+
Checks that the specified key-field
values match a key in the index with the specified name
.
+
+
+ Checks that the specified test returns true in this evaluation context.
+
+
+
@@ -576,20 +598,20 @@
-->
-
+
-
+
Specifies the field or flag value that is used to generate the key for a given object that is a member of this index. If more than one key-field is provided, then the key is a composition of the specified key-fields. The ordering of the key-field defined the relative order of the index's key. The field or flag values pointed to must be a field value or a required flag value.
-
+
- Defines an index, a check against an index, or a uniqueness constraint.
+ Defines an unique key constraint.
@@ -598,8 +620,8 @@
-
-
+
+
The first captured group in the regular expression is used as the key value for lookup. The regular expression must not match a zero-length string.
@@ -610,136 +632,194 @@
-
-
- Specifies the name of the index, a reference to an index, or the name of a uniqueness constraint.
-
-
-
+
+
+
+
+
+
+
+
+ Specifies the value objects to be included in the key constraint, or the object that contains a reference to an item in an index. If the value is ".", then the key is targeting the current metaschema object.
+
+
+
+
+
+
+
+
+
+
+ Defines an index, a check against an index, or a uniqueness constraint.
+
+
+
+
+
+ Specifies the name of the index, a reference to an index, or the name of a uniqueness constraint.
+
+
+
+
+
+
+
+
+ Defines an index, a check against an index, or a uniqueness constraint.
+
+
+
+
+
+ Specifies the value objects to be included in the index constraint, or the object that contains a reference to an item in an index. If the value is ".", then the key is targeting the current metaschema object.
+
+
+
+
+
+
+
+
+
+ Defines an index, a check against an index, or a uniqueness constraint.
+
+
+
+
+
+ Specifies the value objects to be included in the index constraint, or the object that contains a reference to an item in an index. If the value is ".", then the key is targeting the current metaschema object.
+
+
+
+
+ Specifies the name of the index, a reference to an index, or the name of a uniqueness constraint.
+
+
+
+
+
+
+
+
+
+
+
- Specifies the value objects to be included in the index or uniqueness constraint, or the object that contains a reference to an item in an index. If the value is ".", then the key is targeting the current metaschema object.
+ A test that is expected to pass in this context. Presently, datatyping is not directly supported except by
+ explicit use of data type casting functions, e.g. xs:double() and xs:date().
-
+
-
+
+
+
+
+
+ Specifies the target of the constraint as a metaschema path. If the value is "." and the containing metaschema object is a field or flag, the constraint applies to the value of the field or flag. Otherwise, the scope value "." is not allowed to be used.
+
+
+
+
+
+
+
-
+
Constrains the allowed values for the flag or field referenced by the scope attribute.
-
-
-
-
-
-
- Specifies the target of the constraint as a metaschema path. If the value is "." and the containing metaschema object is a field, the constraint applies to the field's value.
-
-
-
-
-
-
+
Constrains the allowed values based on the provided regex pattern or checks that the value is conformant to the specified datatype.
-
+
Checks that the specified key-field
values match a key in the index with the specified name
.
-
+
- Checks that the specified set of target
entries have a key, based on the key-field
entries that is unique. The name
identifies the name of the uniqueness constraint, which can be used for error reporting, etc.
+ Checks that the specified test returns true in this evaluation context.
-
+
+
+
+
+
+
+
+
+
+ Specifies the target of the constraint as a metaschema path. If the value is "." and the containing metaschema object is a field, the constraint applies to the field's value. Otherwise, the scope value "." is not allowed to be used.
+
+
+
+
+ Minimum occurrence of assemblies or fields within the set of objects identified by the target
. This value cannot be less than the corresponding value defined on the target.
+
+
+
+
+ Maximum occurrence of assemblies or fields within the set of objects identified by the target
. This value must be less than the corresponding value defined on the target.
+
+
+
+
+
+
+
+
- Checks that the specified set of target
entries match the provided cardinality.
+ Defines a new named index. Each entry in the index will have a unique key, based on the key-field
elements, and an associated object value, based on the target
selection..
-
-
-
-
-
-
- Specifies the target of the constraint as a metaschema path. If the value is "." and the containing metaschema object is a field, the constraint applies to the field's value. Otherwise, the scope value "." is not allowed to be used.
-
-
-
-
- Minimum occurrence of assemblies or fields within the set of objects identified by the target
.
-
-
-
-
- Maximum occurrence of assemblies or fields within the set of objects identified by the target
.
-
-
-
-
-
+
- Checks that the specified test returns true in this evaluation context.
+ Checks that the specified set of target
entries have a key, based on the key-field
entries that is unique. The name
identifies the name of the uniqueness constraint, which can be used for error reporting, etc.
+
+
+
+
+ Checks that the specified set of target
entries match the provided cardinality.
+
+
-
+
+
+
+
-
-
- A test that is expected to pass in this context. Presently, datatyping is not directly supported except by
- explicit use of data type casting functions, e.g. xs:double() and xs:date().
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
- Defines a new named index. Each entry in the index will have a unqiue key, based on the key-field
elements, and an associated object value, based on the target
selection..
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -751,8 +831,8 @@
-
-
+
+
@@ -793,14 +873,14 @@
-
How to represent a grouping in JSON
-
+
Whether to represent a grouping explicitly in XML
@@ -808,7 +888,7 @@
-
+
@@ -827,7 +907,7 @@
-
+
@@ -862,7 +942,7 @@
-
+
@@ -897,8 +977,8 @@
-
-
+
+
@@ -910,14 +990,14 @@
-
+
-
+