From c493623b58c0cd1695cb8ad26159640f67c7899f Mon Sep 17 00:00:00 2001 From: David Waltermire Date: Tue, 24 Aug 2021 12:09:15 -0400 Subject: [PATCH] Normalized naming of types to use camel case. (#173) Added expect to flag and field constraints. Removed name from unique constraints, since this is not a key definition. --- toolchains/xslt-M4/validate/metaschema.xsd | 504 ++++++++++++--------- 1 file changed, 292 insertions(+), 212 deletions(-) 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 @@ - + - +