Skip to content

Instantly share code, notes, and snippets.

@aj-stein-nist
Created February 22, 2024 13:31
Show Gist options
  • Save aj-stein-nist/3999cb6391f17f1c5c28a5a00208caf3 to your computer and use it in GitHub Desktop.
Save aj-stein-nist/3999cb6391f17f1c5c28a5a00208caf3 to your computer and use it in GitHub Desktop.
Generated metaschema.xsd from metaschema-cli 1.0.0-M2-SNAPSHOT (09e0d21)
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="http://csrc.nist.gov/ns/oscal/metaschema/1.0"
xmlns:vs="http://www.w3.org/2007/XMLSchema-versioning"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0"
elementFormDefault="qualified"
vs:minVersion="1.0"
vs:maxVersion="1.1"
version="1.0.0-M2">
<xs:annotation>
<xs:appinfo>
<schema-name>Metaschema Model</schema-name>
<schema-version>1.0.0-M2</schema-version>
<short-name>metaschema-model</short-name>
</xs:appinfo>
</xs:annotation>
<xs:element name="metaschema-meta-constraints"
type="AssemblyMetaschemaModelMetaschemaMetaConstraintsType"/>
<xs:element name="METASCHEMA" type="AssemblyMetaschemaModelMetaschemaType"/>
<xs:element name="METASCHEMA-CONSTRAINTS"
type="AssemblyMetaschemaModelMetaschemaModuleConstraintsType"/>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaType">
<xs:annotation>
<xs:appinfo>
<formal-name>Metaschema Module</formal-name>
<description>A declaration of the Metaschema module.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Metaschema Module</b>: A declaration of the Metaschema module.</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="schema-name" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Module Name</formal-name>
<description>The name of the information model represented by this Metaschema definition.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Module Name</b>: The name of the information model represented by this Metaschema definition.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="schema-version" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<description>A version string used to distinguish between multiple revisions of the same Metaschema module.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p>A version string used to distinguish between multiple revisions of the same Metaschema module.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="short-name" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Module Short Name</formal-name>
<description>A short (code) name to be used for the Metaschema module. This name may be used as a constituent of names assigned to derived artifacts, such as schemas and conversion utilities.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Module Short Name</b>: A short (code) name to be used for the Metaschema module. This name may be used as a constituent of names assigned to derived artifacts, such as schemas and conversion utilities.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="namespace" type="URIDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Module Collection Namespace</formal-name>
<description>The namespace for the collection of Metaschema module this Metaschema module belongs to. This value is also used as the XML namespace governing the names of elements in XML documents. By using this namespace, documents and document fragments used in mixed-format environments may be distinguished from neighbor XML formats using another namespaces. This value is not reflected in Metaschema JSON.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Module Collection Namespace</b>: The namespace for the collection of Metaschema module this Metaschema module belongs to. This value is also used as the XML namespace governing the names of elements in XML documents. By using this namespace, documents and document fragments used in mixed-format environments may be distinguished from neighbor XML formats using another namespaces. This value is not reflected in Metaschema JSON.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="json-base-uri" type="URIDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>JSON Base URI</formal-name>
<description>The JSON Base URI is the nominal base URI assigned to a JSON Schema instance expressing the model defined by this Metaschema module.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>JSON Base URI</b>: The JSON Base URI is the nominal base URI assigned to a JSON Schema instance expressing the model defined by this Metaschema module.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="import"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelMetaschemaImportType">
<xs:annotation>
<xs:appinfo>
<formal-name>Module Import</formal-name>
<description>Imports a set of Metaschema modules contained in another resource. Imports support the reuse of common information structures.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Module Import</b>: Imports a set of Metaschema modules contained in another resource. Imports support the reuse of common information structures.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="define-assembly"
type="AssemblyMetaschemaModelMetaschemaDefineAssemblyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Assembly Definition</formal-name>
<description>In XML, an element with structured element content. In JSON, an object with properties. Defined globally, an assembly can be assigned to appear in the <code>model</code> of any assembly (another assembly type, or itself), by <code>assembly</code> reference.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Global Assembly Definition</b>: In XML, an element with structured element content. In JSON, an object with properties. Defined globally, an assembly can be assigned to appear in the <code>model</code> of any assembly (another assembly type, or itself), by <code>assembly</code> reference.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="define-field"
type="AssemblyMetaschemaModelMetaschemaDefineFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Field Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="define-flag"
type="AssemblyMetaschemaModelMetaschemaDefineFlagType">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Flag Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="abstract">
<xs:annotation>
<xs:appinfo>
<formal-name>Is Abstract?</formal-name>
<description>Determines if the Metaschema module is abstract (ΓÇÿyesΓÇÖ) or not (ΓÇÿnoΓÇÖ).</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Is Abstract?</b>: Determines if the Metaschema module is abstract (ΓÇÿyesΓÇÖ) or not (ΓÇÿnoΓÇÖ).</p>
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="yes"/>
<xs:enumeration value="no"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaMetaConstraintsDefinitionContextType">
<xs:sequence>
<xs:element name="constraints"
type="AssemblyMetaschemaModelAssemblyConstraintsType"/>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="name" use="required" type="TokenDatatype"/>
<xs:attribute name="namespace" use="required" type="URIDatatype"/>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetapathContextType">
<xs:sequence>
<xs:element name="metapath"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelMetaschemaMetapathType">
<xs:annotation>
<xs:appinfo>
<description>A Metapath expression identifying the model node that the constraints will be applied to.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p>A Metapath expression identifying the model node that the constraints will be applied to.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="constraints"
minOccurs="0"
type="AssemblyMetaschemaModelAssemblyConstraintsType"/>
<xs:element name="metapath-context"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelMetapathContextType"/>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelInlineDefineFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Field Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="json-key"
minOccurs="0"
type="AssemblyMetaschemaModelJsonKeyType">
<xs:annotation>
<xs:appinfo>
<formal-name>JSON Key</formal-name>
<description>Used in JSON (and similar formats) to identify a flag that will be used as the property name in an object hold a collection of sibling objects. Requires that siblings must never share <code>json-key</code> values.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>JSON Key</b>: Used in JSON (and similar formats) to identify a flag that will be used as the property name in an object hold a collection of sibling objects. Requires that siblings must never share <code>json-key</code> values.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:element name="json-value-key" minOccurs="0" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Field Value JSON Property Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="json-value-key-flag"
minOccurs="0"
type="AssemblyMetaschemaModelJsonValueKeyFlagType">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Used as the Field Value's JSON Property Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="group-as"
minOccurs="0"
type="AssemblyMetaschemaModelGroupAsType">
<xs:annotation>
<xs:appinfo>
<formal-name>Group As</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="define-flag" type="AssemblyMetaschemaModelInlineDefineFlagType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Flag Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="flag" type="AssemblyMetaschemaModelFlagReferenceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="constraint"
minOccurs="0"
type="AssemblyMetaschemaModelFieldConstraintsType"/>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="example"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelExampleType">
<xs:annotation>
<xs:appinfo>
<formal-name>Example</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="name" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Field Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="index" type="PositiveIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Field Binary Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Deprecated Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="as-type">
<xs:annotation>
<xs:appinfo>
<formal-name>Field Value Data Type</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:union memberTypes="TokenDatatype">
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="markup-line"/>
<xs:enumeration value="markup-multiline"/>
<xs:enumeration value="base64"/>
<xs:enumeration value="boolean"/>
<xs:enumeration value="date"/>
<xs:enumeration value="date-time"/>
<xs:enumeration value="date-time-with-timezone"/>
<xs:enumeration value="date-with-timezone"/>
<xs:enumeration value="day-time-duration"/>
<xs:enumeration value="decimal"/>
<xs:enumeration value="email-address"/>
<xs:enumeration value="hostname"/>
<xs:enumeration value="integer"/>
<xs:enumeration value="ip-v4-address"/>
<xs:enumeration value="ip-v6-address"/>
<xs:enumeration value="non-negative-integer"/>
<xs:enumeration value="positive-integer"/>
<xs:enumeration value="string"/>
<xs:enumeration value="token"/>
<xs:enumeration value="uri"/>
<xs:enumeration value="uri-reference"/>
<xs:enumeration value="uuid"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="default" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Default Field Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-occurs" type="NonNegativeIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Minimum Occurrence</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-occurs" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Maximum Occurrence</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="in-xml">
<xs:annotation>
<xs:appinfo>
<formal-name>Field In XML</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="WRAPPED">
<xs:annotation>
<xs:documentation>
<p>Block contents of a markup-multiline field will be represented with a containing (wrapper) element in the XML.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="UNWRAPPED">
<xs:annotation>
<xs:documentation>
<p>Block contents of a markup-multiline will be represented in the XML with no wrapper, making the field implicit. Among sibling fields in a given model, only one of them may be designated as UNWRAPPED.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WITH_WRAPPER">
<xs:annotation>
<xs:documentation>
<p>Alias for WRAPPED.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelFlagReferenceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="use-name"
minOccurs="0"
type="FieldMetaschemaModelUseNameType">
<xs:annotation>
<xs:appinfo>
<formal-name>Use Name</formal-name>
<description>Allows the name of the definition to be overridden.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Use Name</b>: Allows the name of the definition to be overridden.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="ref" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Flag Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="index" type="PositiveIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Reference Binary Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Deprecated Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="default" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Default Flag Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="required">
<xs:annotation>
<xs:appinfo>
<formal-name>Is Flag Required?</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="yes"/>
<xs:enumeration value="no"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="MarkupMultilineDatatype">
<xs:attribute name="class">
<xs:annotation>
<xs:appinfo>
<formal-name>Remark Class</formal-name>
<description>Mark as ΓÇÿXMLΓÇÖ for XML-only or ΓÇÿJSONΓÇÖ for JSON-only remarks.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remark Class</b>: Mark as ΓÇÿXMLΓÇÖ for XML-only or ΓÇÿJSONΓÇÖ for JSON-only remarks.</p>
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="XML">
<xs:annotation>
<xs:documentation>
<p>The remark applies to only XML representations.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="JSON">
<xs:annotation>
<xs:documentation>
<p>The remark applies to only JSON and YAML representations.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ALL">
<xs:annotation>
<xs:documentation>
<p>The remark applies to all representations.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaDefineFlagType">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Flag Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="use-name"
minOccurs="0"
type="FieldMetaschemaModelUseNameType">
<xs:annotation>
<xs:appinfo>
<formal-name>Use Name</formal-name>
<description>Allows the name of the definition to be overridden.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Use Name</b>: Allows the name of the definition to be overridden.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="constraint"
minOccurs="0"
type="AssemblyMetaschemaModelFlagConstraintsType"/>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="example"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelExampleType">
<xs:annotation>
<xs:appinfo>
<formal-name>Example</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="name" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Flag Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="index" type="PositiveIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Flag Binary Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="scope">
<xs:annotation>
<xs:appinfo>
<formal-name>Definition Scope</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="local">
<xs:annotation>
<xs:documentation>
<p>This definition is only available in the context of the current Metaschema module.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="global">
<xs:annotation>
<xs:documentation>
<p>This definition will be made available to any Metaschema module that includes this one either directly or indirectly through a chain of imported Metaschemas.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Deprecated Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="as-type">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Value Data Type</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:union memberTypes="TokenDatatype">
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="base64"/>
<xs:enumeration value="boolean"/>
<xs:enumeration value="date"/>
<xs:enumeration value="date-time"/>
<xs:enumeration value="date-time-with-timezone"/>
<xs:enumeration value="date-with-timezone"/>
<xs:enumeration value="day-time-duration"/>
<xs:enumeration value="decimal"/>
<xs:enumeration value="email-address"/>
<xs:enumeration value="hostname"/>
<xs:enumeration value="integer"/>
<xs:enumeration value="ip-v4-address"/>
<xs:enumeration value="ip-v6-address"/>
<xs:enumeration value="non-negative-integer"/>
<xs:enumeration value="positive-integer"/>
<xs:enumeration value="string"/>
<xs:enumeration value="token"/>
<xs:enumeration value="uri"/>
<xs:enumeration value="uri-reference"/>
<xs:enumeration value="uuid"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="default" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Default Flag Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelFieldConstraintsType">
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="let" type="AssemblyMetaschemaModelConstraintLetExpressionType">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Let Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="allowed-values"
type="AssemblyMetaschemaModelTargetedAllowedValuesConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Allowed Values Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="expect"
type="AssemblyMetaschemaModelTargetedExpectConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Expect Condition Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="index-has-key"
type="AssemblyMetaschemaModelTargetedIndexHasKeyConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Index Has Key Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="matches"
type="AssemblyMetaschemaModelTargetedMatchesConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Value Matches Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FieldMetaschemaModelUseNameType">
<xs:annotation>
<xs:appinfo>
<formal-name>Use Name</formal-name>
<description>Allows the name of the definition to be overridden.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Use Name</b>: Allows the name of the definition to be overridden.</p>
</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="TokenDatatype">
<xs:attribute name="index" type="NonNegativeIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Numeric Index</formal-name>
<description>Used for binary formats instead of the textual name.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Numeric Index</b>: Used for binary formats instead of the textual name.</p>
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelTargetedExpectConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Expect Condition Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="message" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Expect Condition Violation Message</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Identifier</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="level">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Severity Level</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="CRITICAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a serious fault in the content that will prevent typical use of the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ERROR">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content. This may include issues around compatibility, integrity, consistency, etc.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WARNING">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a potential issue with the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="INFORMATIONAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a point of interest.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DEBUG">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content that may warrant review by a developer when performing model or tool development.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="test" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Expect Test Condition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="target" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Target Metapath Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelFlagMatchesType">
<xs:annotation>
<xs:appinfo>
<formal-name>Value Matches Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Identifier</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="level">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Severity Level</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="CRITICAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a serious fault in the content that will prevent typical use of the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ERROR">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content. This may include issues around compatibility, integrity, consistency, etc.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WARNING">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a potential issue with the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="INFORMATIONAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a point of interest.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DEBUG">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content that may warrant review by a developer when performing model or tool development.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="regex" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Matches Regular Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="datatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Matches Data Type</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:union memberTypes="TokenDatatype">
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="base64"/>
<xs:enumeration value="boolean"/>
<xs:enumeration value="date"/>
<xs:enumeration value="date-time"/>
<xs:enumeration value="date-time-with-timezone"/>
<xs:enumeration value="date-with-timezone"/>
<xs:enumeration value="day-time-duration"/>
<xs:enumeration value="decimal"/>
<xs:enumeration value="email-address"/>
<xs:enumeration value="hostname"/>
<xs:enumeration value="integer"/>
<xs:enumeration value="ip-v4-address"/>
<xs:enumeration value="ip-v6-address"/>
<xs:enumeration value="non-negative-integer"/>
<xs:enumeration value="positive-integer"/>
<xs:enumeration value="string"/>
<xs:enumeration value="token"/>
<xs:enumeration value="uri"/>
<xs:enumeration value="uri-reference"/>
<xs:enumeration value="uuid"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaModuleConstraintsScopeAssemblyType">
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="allowed-values"
type="AssemblyMetaschemaModelTargetedAllowedValuesConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Allowed Values Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="expect"
type="AssemblyMetaschemaModelTargetedExpectConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Expect Condition Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="index-has-key"
type="AssemblyMetaschemaModelTargetedIndexHasKeyConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Index Has Key Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="matches"
type="AssemblyMetaschemaModelTargetedMatchesConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Value Matches Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="is-unique"
type="AssemblyMetaschemaModelTargetedIsUniqueConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Unique Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="index" type="AssemblyMetaschemaModelTargetedIndexConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Index Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="has-cardinality"
type="AssemblyMetaschemaModelTargetedHasCardinalityConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Cardinality Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="target" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Target Metapath Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelTargetedIsUniqueConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Unique Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="key-field"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelKeyConstraintFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Key Constraint Field</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Identifier</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="level">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Severity Level</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="CRITICAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a serious fault in the content that will prevent typical use of the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ERROR">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content. This may include issues around compatibility, integrity, consistency, etc.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WARNING">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a potential issue with the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="INFORMATIONAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a point of interest.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DEBUG">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content that may warrant review by a developer when performing model or tool development.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="target" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Target Metapath Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="FieldMetaschemaModelMetaschemaDefineAssemblyRootNameType">
<xs:annotation>
<xs:appinfo>
<formal-name>Root Name</formal-name>
<description>Provides a root name, for when the definition is used as the root of a node hierarchy.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Root Name</b>: Provides a root name, for when the definition is used as the root of a node hierarchy.</p>
</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="TokenDatatype">
<xs:attribute name="index" type="NonNegativeIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Numeric Index</formal-name>
<description>Used for binary formats instead of the textual name.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Numeric Index</b>: Used for binary formats instead of the textual name.</p>
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelAssemblyModelType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="assembly" type="AssemblyMetaschemaModelAssemblyReferenceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Assembly Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="define-assembly"
type="AssemblyMetaschemaModelInlineDefineAssemblyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Assembly Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="field" type="AssemblyMetaschemaModelFieldReferenceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Field Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="define-field" type="AssemblyMetaschemaModelInlineDefineFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Field Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="choice" type="AssemblyMetaschemaModelAssemblyModelChoiceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Choice</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="choice-group"
type="AssemblyMetaschemaModelAssemblyModelChoiceGroupType">
<xs:annotation>
<xs:appinfo>
<formal-name>Choice Grouping</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="any" minOccurs="0" type="AssemblyMetaschemaModelAnyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Any Additional Content</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelTargetedMatchesConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Value Matches Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Identifier</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="level">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Severity Level</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="CRITICAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a serious fault in the content that will prevent typical use of the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ERROR">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content. This may include issues around compatibility, integrity, consistency, etc.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WARNING">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a potential issue with the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="INFORMATIONAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a point of interest.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DEBUG">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content that may warrant review by a developer when performing model or tool development.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="regex" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Matches Regular Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="datatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Matches Data Type</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:union memberTypes="TokenDatatype">
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="base64"/>
<xs:enumeration value="boolean"/>
<xs:enumeration value="date"/>
<xs:enumeration value="date-time"/>
<xs:enumeration value="date-time-with-timezone"/>
<xs:enumeration value="date-with-timezone"/>
<xs:enumeration value="day-time-duration"/>
<xs:enumeration value="decimal"/>
<xs:enumeration value="email-address"/>
<xs:enumeration value="hostname"/>
<xs:enumeration value="integer"/>
<xs:enumeration value="ip-v4-address"/>
<xs:enumeration value="ip-v6-address"/>
<xs:enumeration value="non-negative-integer"/>
<xs:enumeration value="positive-integer"/>
<xs:enumeration value="string"/>
<xs:enumeration value="token"/>
<xs:enumeration value="uri"/>
<xs:enumeration value="uri-reference"/>
<xs:enumeration value="uuid"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="target" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Target Metapath Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelFlagAllowedValuesType">
<xs:annotation>
<xs:appinfo>
<formal-name>Allowed Values Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="enum"
maxOccurs="unbounded"
type="FieldMetaschemaModelConstraintValueEnumType">
<xs:annotation>
<xs:appinfo>
<formal-name>Allowed Value Enumeration</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Identifier</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="level">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Severity Level</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="CRITICAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a serious fault in the content that will prevent typical use of the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ERROR">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content. This may include issues around compatibility, integrity, consistency, etc.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WARNING">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a potential issue with the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="INFORMATIONAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a point of interest.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DEBUG">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content that may warrant review by a developer when performing model or tool development.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="allow-other">
<xs:annotation>
<xs:appinfo>
<formal-name>Allow Non-Enumerated Values?</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="no"/>
<xs:enumeration value="yes"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="extensible">
<xs:annotation>
<xs:appinfo>
<formal-name>Allow Extension?</formal-name>
<description>Determines if the given enumerated values may be extended by other allowed value constraints.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Allow Extension?</b>: Determines if the given enumerated values may be extended by other allowed value constraints.</p>
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="model">
<xs:annotation>
<xs:documentation>
<p>Can be extended by constraints within the same module.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="external">
<xs:annotation>
<xs:documentation>
<p>Can be extended by external constraints.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="none">
<xs:annotation>
<xs:documentation>
<p>Cannot be extended.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelFieldReferenceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Field Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="use-name"
minOccurs="0"
type="FieldMetaschemaModelUseNameType">
<xs:annotation>
<xs:appinfo>
<formal-name>Use Name</formal-name>
<description>Allows the name of the definition to be overridden.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Use Name</b>: Allows the name of the definition to be overridden.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="group-as"
minOccurs="0"
type="AssemblyMetaschemaModelGroupAsType">
<xs:annotation>
<xs:appinfo>
<formal-name>Group As</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="ref" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Field Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="index" type="PositiveIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Field Reference Binary Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Deprecated Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="default" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Default Field Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-occurs" type="NonNegativeIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Minimum Occurrence</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-occurs" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Maximum Occurrence</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="in-xml">
<xs:annotation>
<xs:appinfo>
<formal-name>Field In XML</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="WRAPPED">
<xs:annotation>
<xs:documentation>
<p>Block contents of a markup-multiline field will be represented with a containing (wrapper) element in the XML.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="UNWRAPPED">
<xs:annotation>
<xs:documentation>
<p>Block contents of a markup-multiline will be represented in the XML with no wrapper, making the field implicit. Among sibling fields in a given model, only one of them may be designated as UNWRAPPED.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WITH_WRAPPER">
<xs:annotation>
<xs:documentation>
<p>Alias for WRAPPED.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaModuleConstraintsScopeFlagType">
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="allowed-values"
type="AssemblyMetaschemaModelFlagAllowedValuesType">
<xs:annotation>
<xs:appinfo>
<formal-name>Allowed Values Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="expect" type="AssemblyMetaschemaModelFlagExpectType">
<xs:annotation>
<xs:appinfo>
<formal-name>Expect Condition Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="index-has-key" type="AssemblyMetaschemaModelFlagIndexHasKeyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Index Has Key Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="matches" type="AssemblyMetaschemaModelFlagMatchesType">
<xs:annotation>
<xs:appinfo>
<formal-name>Value Matches Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="target" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Target Metapath Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelFlagExpectType">
<xs:annotation>
<xs:appinfo>
<formal-name>Expect Condition Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="message" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Expect Condition Violation Message</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Identifier</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="level">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Severity Level</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="CRITICAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a serious fault in the content that will prevent typical use of the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ERROR">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content. This may include issues around compatibility, integrity, consistency, etc.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WARNING">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a potential issue with the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="INFORMATIONAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a point of interest.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DEBUG">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content that may warrant review by a developer when performing model or tool development.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="test" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Expect Test Condition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelTargetedHasCardinalityConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Cardinality Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Identifier</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="level">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Severity Level</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="CRITICAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a serious fault in the content that will prevent typical use of the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ERROR">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content. This may include issues around compatibility, integrity, consistency, etc.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WARNING">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a potential issue with the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="INFORMATIONAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a point of interest.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DEBUG">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content that may warrant review by a developer when performing model or tool development.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="min-occurs" type="NonNegativeIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Minimum Occurrence</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-occurs" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Maximum Occurrence</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="target" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Target Metapath Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelAssemblyModelChoiceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Choice</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="assembly" type="AssemblyMetaschemaModelAssemblyReferenceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Assembly Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="define-assembly"
type="AssemblyMetaschemaModelInlineDefineAssemblyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Assembly Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="field" type="AssemblyMetaschemaModelFieldReferenceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Field Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="define-field" type="AssemblyMetaschemaModelInlineDefineFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Field Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="any" minOccurs="0" type="AssemblyMetaschemaModelAnyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Any Additional Content</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelAssemblyModelChoiceGroupDefineFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Field Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="discriminator-value" minOccurs="0" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Grouping Discriminator Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:element name="json-value-key" minOccurs="0" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Field Value JSON Property Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="json-value-key-flag"
minOccurs="0"
type="AssemblyMetaschemaModelJsonValueKeyFlagType">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Used as the Field Value's JSON Property Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="define-flag" type="AssemblyMetaschemaModelInlineDefineFlagType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Flag Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="flag" type="AssemblyMetaschemaModelFlagReferenceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="constraint"
minOccurs="0"
type="AssemblyMetaschemaModelFieldConstraintsType"/>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="example"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelExampleType">
<xs:annotation>
<xs:appinfo>
<formal-name>Example</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="name" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Field Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="index" type="PositiveIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Field Binary Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Deprecated Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="as-type">
<xs:annotation>
<xs:appinfo>
<formal-name>Field Value Data Type</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:union memberTypes="TokenDatatype">
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="markup-line"/>
<xs:enumeration value="markup-multiline"/>
<xs:enumeration value="base64"/>
<xs:enumeration value="boolean"/>
<xs:enumeration value="date"/>
<xs:enumeration value="date-time"/>
<xs:enumeration value="date-time-with-timezone"/>
<xs:enumeration value="date-with-timezone"/>
<xs:enumeration value="day-time-duration"/>
<xs:enumeration value="decimal"/>
<xs:enumeration value="email-address"/>
<xs:enumeration value="hostname"/>
<xs:enumeration value="integer"/>
<xs:enumeration value="ip-v4-address"/>
<xs:enumeration value="ip-v6-address"/>
<xs:enumeration value="non-negative-integer"/>
<xs:enumeration value="positive-integer"/>
<xs:enumeration value="string"/>
<xs:enumeration value="token"/>
<xs:enumeration value="uri"/>
<xs:enumeration value="uri-reference"/>
<xs:enumeration value="uuid"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="default" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Default Field Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelAssemblyModelChoiceGroupAssemblyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Grouping Assembly Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="use-name"
minOccurs="0"
type="FieldMetaschemaModelUseNameType">
<xs:annotation>
<xs:appinfo>
<formal-name>Use Name</formal-name>
<description>Allows the name of the definition to be overridden.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Use Name</b>: Allows the name of the definition to be overridden.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="discriminator-value" minOccurs="0" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Grouping Discriminator Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="ref" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Assembly Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="index" type="PositiveIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Assembly Reference Binary Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Deprecated Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelTargetedIndexHasKeyConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Index Has Key Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="key-field"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelKeyConstraintFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Key Constraint Field</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Identifier</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="level">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Severity Level</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="CRITICAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a serious fault in the content that will prevent typical use of the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ERROR">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content. This may include issues around compatibility, integrity, consistency, etc.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WARNING">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a potential issue with the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="INFORMATIONAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a point of interest.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DEBUG">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content that may warrant review by a developer when performing model or tool development.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="name" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Index Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="target" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Target Metapath Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelTargetedIndexConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Index Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="key-field"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelKeyConstraintFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Key Constraint Field</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Identifier</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="level">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Severity Level</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="CRITICAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a serious fault in the content that will prevent typical use of the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ERROR">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content. This may include issues around compatibility, integrity, consistency, etc.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WARNING">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a potential issue with the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="INFORMATIONAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a point of interest.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DEBUG">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content that may warrant review by a developer when performing model or tool development.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="name" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Index Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="target" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Target Metapath Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaMetapathType">
<xs:annotation>
<xs:appinfo>
<description>A Metapath expression identifying the model node that the constraints will be applied to.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p>A Metapath expression identifying the model node that the constraints will be applied to.</p>
</xs:documentation>
</xs:annotation>
<xs:attribute name="target" use="required" type="StringDatatype"/>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelFlagConstraintsType">
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="let" type="AssemblyMetaschemaModelConstraintLetExpressionType">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Let Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="allowed-values"
type="AssemblyMetaschemaModelFlagAllowedValuesType">
<xs:annotation>
<xs:appinfo>
<formal-name>Allowed Values Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="expect" type="AssemblyMetaschemaModelFlagExpectType">
<xs:annotation>
<xs:appinfo>
<formal-name>Expect Condition Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="index-has-key" type="AssemblyMetaschemaModelFlagIndexHasKeyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Index Has Key Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="matches" type="AssemblyMetaschemaModelFlagMatchesType">
<xs:annotation>
<xs:appinfo>
<formal-name>Value Matches Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelAssemblyModelChoiceGroupFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Grouping Field Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="use-name"
minOccurs="0"
type="FieldMetaschemaModelUseNameType">
<xs:annotation>
<xs:appinfo>
<formal-name>Use Name</formal-name>
<description>Allows the name of the definition to be overridden.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Use Name</b>: Allows the name of the definition to be overridden.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="discriminator-value" minOccurs="0" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Grouping Discriminator Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="ref" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Field Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="index" type="PositiveIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Field Reference Binary Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Deprecated Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="default" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Default Field Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="in-xml">
<xs:annotation>
<xs:appinfo>
<formal-name>Field In XML</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="WRAPPED">
<xs:annotation>
<xs:documentation>
<p>Block contents of a markup-multiline field will be represented with a containing (wrapper) element in the XML.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="UNWRAPPED">
<xs:annotation>
<xs:documentation>
<p>Block contents of a markup-multiline will be represented in the XML with no wrapper, making the field implicit. Among sibling fields in a given model, only one of them may be designated as UNWRAPPED.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WITH_WRAPPER">
<xs:annotation>
<xs:documentation>
<p>Alias for WRAPPED.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaModuleConstraintsImportType">
<xs:annotation>
<xs:appinfo>
<description>Declares a set of Metaschema constraints from an out-of-line resource to import, supporting composition of constraint sets.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p>Declares a set of Metaschema constraints from an out-of-line resource to import, supporting composition of constraint sets.</p>
</xs:documentation>
</xs:annotation>
<xs:attribute name="href" use="required" type="URIReferenceDatatype">
<xs:annotation>
<xs:appinfo>
<description>A relative or absolute URI for retrieving an out-of-line Metaschema constraint definition.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p>A relative or absolute URI for retrieving an out-of-line Metaschema constraint definition.</p>
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaMetaConstraintsType">
<xs:annotation>
<xs:appinfo>
<formal-name>External Module Constraints</formal-name>
<description>Defines constraint rules to be applied to an existing set of Metaschema module-based models.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>External Module Constraints</b>: Defines constraint rules to be applied to an existing set of Metaschema module-based models.</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="import"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelMetaschemaMetaConstraintsImportType">
<xs:annotation>
<xs:appinfo>
<description>Declares a set of Metaschema constraints from an out-of-line resource to import, supporting composition of constraint sets.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p>Declares a set of Metaschema constraints from an out-of-line resource to import, supporting composition of constraint sets.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="definition-context"
minOccurs="0"
type="AssemblyMetaschemaModelMetaschemaMetaConstraintsDefinitionContextType"/>
<xs:element name="metapath-context"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelMetapathContextType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:attribute name="name" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Property Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="namespace" type="URIDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Property Namespace</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="value" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Property Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelGroupAsType">
<xs:annotation>
<xs:appinfo>
<formal-name>Group As</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:attribute name="name" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Grouping Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="in-json">
<xs:annotation>
<xs:appinfo>
<formal-name>In JSON Grouping Syntax</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="ARRAY">
<xs:annotation>
<xs:documentation>
<p>Always use an array.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="SINGLETON_OR_ARRAY">
<xs:annotation>
<xs:documentation>
<p>Produce a singleton for a single member or an array for multiple members.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="BY_KEY">
<xs:annotation>
<xs:documentation>
<p>For any group of one or more members, produce an object with properties for each member, using a designated flag for their property name values, which must be distinct.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="in-xml">
<xs:annotation>
<xs:appinfo>
<formal-name>In XML Grouping Syntax</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="GROUPED">
<xs:annotation>
<xs:documentation>
<p>Use a wrapper element.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="UNGROUPED">
<xs:annotation>
<xs:documentation>
<p>Do not use a wrapper element.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelKeyConstraintFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Key Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="target" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Key Field Value Target</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="pattern" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Key Field Value Pattern</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelAssemblyModelChoiceGroupDefineAssemblyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Assembly Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="discriminator-value" minOccurs="0" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Grouping Discriminator Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="define-flag" type="AssemblyMetaschemaModelInlineDefineFlagType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Flag Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="flag" type="AssemblyMetaschemaModelFlagReferenceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="model"
minOccurs="0"
type="AssemblyMetaschemaModelAssemblyModelType"/>
<xs:element name="constraint"
minOccurs="0"
type="AssemblyMetaschemaModelAssemblyConstraintsType"/>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="example"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelExampleType">
<xs:annotation>
<xs:appinfo>
<formal-name>Example</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="name" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Assembly Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="index" type="PositiveIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Assembly Binary Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Deprecated Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelTargetedAllowedValuesConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Allowed Values Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="enum"
maxOccurs="unbounded"
type="FieldMetaschemaModelConstraintValueEnumType">
<xs:annotation>
<xs:appinfo>
<formal-name>Allowed Value Enumeration</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Identifier</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="level">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Severity Level</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="CRITICAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a serious fault in the content that will prevent typical use of the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ERROR">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content. This may include issues around compatibility, integrity, consistency, etc.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WARNING">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a potential issue with the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="INFORMATIONAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a point of interest.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DEBUG">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content that may warrant review by a developer when performing model or tool development.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="allow-other">
<xs:annotation>
<xs:appinfo>
<formal-name>Allow Non-Enumerated Values?</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="no"/>
<xs:enumeration value="yes"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="extensible">
<xs:annotation>
<xs:appinfo>
<formal-name>Allow Extension?</formal-name>
<description>Determines if the given enumerated values may be extended by other allowed value constraints.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Allow Extension?</b>: Determines if the given enumerated values may be extended by other allowed value constraints.</p>
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="model">
<xs:annotation>
<xs:documentation>
<p>Can be extended by constraints within the same module.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="external">
<xs:annotation>
<xs:documentation>
<p>Can be extended by external constraints.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="none">
<xs:annotation>
<xs:documentation>
<p>Cannot be extended.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="target" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Target Metapath Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaMetaConstraintsImportType">
<xs:annotation>
<xs:appinfo>
<description>Declares a set of Metaschema constraints from an out-of-line resource to import, supporting composition of constraint sets.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p>Declares a set of Metaschema constraints from an out-of-line resource to import, supporting composition of constraint sets.</p>
</xs:documentation>
</xs:annotation>
<xs:attribute name="href" use="required" type="URIReferenceDatatype">
<xs:annotation>
<xs:appinfo>
<description>A relative or absolute URI for retrieving an out-of-line Metaschema constraint definition.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p>A relative or absolute URI for retrieving an out-of-line Metaschema constraint definition.</p>
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelExampleType">
<xs:annotation>
<xs:appinfo>
<formal-name>Example</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Example Description</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="ref" type="URIReferenceDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Example Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="path" type="StringDatatype"/>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelAssemblyReferenceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Assembly Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="use-name"
minOccurs="0"
type="FieldMetaschemaModelUseNameType">
<xs:annotation>
<xs:appinfo>
<formal-name>Use Name</formal-name>
<description>Allows the name of the definition to be overridden.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Use Name</b>: Allows the name of the definition to be overridden.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="group-as"
minOccurs="0"
type="AssemblyMetaschemaModelGroupAsType">
<xs:annotation>
<xs:appinfo>
<formal-name>Group As</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="ref" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Assembly Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="index" type="PositiveIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Assembly Reference Binary Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Deprecated Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-occurs" type="NonNegativeIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Minimum Occurrence</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-occurs" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Maximum Occurrence</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaModuleConstraintsScopeType">
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="assembly"
type="AssemblyMetaschemaModelMetaschemaModuleConstraintsScopeAssemblyType"/>
<xs:element name="field"
type="AssemblyMetaschemaModelMetaschemaModuleConstraintsScopeFieldType"/>
<xs:element name="flag"
type="AssemblyMetaschemaModelMetaschemaModuleConstraintsScopeFlagType"/>
</xs:choice>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="metaschema-namespace" use="required" type="URIDatatype"/>
<xs:attribute name="metaschema-short-name" use="required" type="TokenDatatype"/>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelFlagIndexHasKeyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Index Has Key Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="key-field"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelKeyConstraintFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Key Constraint Field</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Identifier</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="level">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Severity Level</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="CRITICAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a serious fault in the content that will prevent typical use of the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ERROR">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content. This may include issues around compatibility, integrity, consistency, etc.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WARNING">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a potential issue with the content.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="INFORMATIONAL">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a point of interest.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DEBUG">
<xs:annotation>
<xs:documentation>
<p>A violation of the constraint represents a fault in the content that may warrant review by a developer when performing model or tool development.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="name" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Index Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelJsonKeyType">
<xs:annotation>
<xs:appinfo>
<formal-name>JSON Key</formal-name>
<description>Used in JSON (and similar formats) to identify a flag that will be used as the property name in an object hold a collection of sibling objects. Requires that siblings must never share <code>json-key</code> values.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>JSON Key</b>: Used in JSON (and similar formats) to identify a flag that will be used as the property name in an object hold a collection of sibling objects. Requires that siblings must never share <code>json-key</code> values.</p>
</xs:documentation>
</xs:annotation>
<xs:attribute name="flag-ref" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>JSON Key Flag Reference</formal-name>
<description>References the flag that will serve as the JSON key.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>JSON Key Flag Reference</b>: References the flag that will serve as the JSON key.</p>
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaModuleConstraintsScopeFieldType">
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="allowed-values"
type="AssemblyMetaschemaModelTargetedAllowedValuesConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Allowed Values Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="expect"
type="AssemblyMetaschemaModelTargetedExpectConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Expect Condition Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="index-has-key"
type="AssemblyMetaschemaModelTargetedIndexHasKeyConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Index Has Key Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="matches"
type="AssemblyMetaschemaModelTargetedMatchesConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Value Matches Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="target" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Target Metapath Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaImportType">
<xs:annotation>
<xs:appinfo>
<formal-name>Module Import</formal-name>
<description>Imports a set of Metaschema modules contained in another resource. Imports support the reuse of common information structures.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Module Import</b>: Imports a set of Metaschema modules contained in another resource. Imports support the reuse of common information structures.</p>
</xs:documentation>
</xs:annotation>
<xs:attribute name="href" use="required" type="URIReferenceDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Import URI Reference</formal-name>
<description>A relative or absolute URI for retrieving an out-of-line Metaschema definition.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Import URI Reference</b>: A relative or absolute URI for retrieving an out-of-line Metaschema definition.</p>
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelAssemblyModelChoiceGroupType">
<xs:annotation>
<xs:appinfo>
<formal-name>Choice Grouping</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="json-key"
minOccurs="0"
type="AssemblyMetaschemaModelJsonKeyType">
<xs:annotation>
<xs:appinfo>
<formal-name>JSON Key</formal-name>
<description>Used in JSON (and similar formats) to identify a flag that will be used as the property name in an object hold a collection of sibling objects. Requires that siblings must never share <code>json-key</code> values.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>JSON Key</b>: Used in JSON (and similar formats) to identify a flag that will be used as the property name in an object hold a collection of sibling objects. Requires that siblings must never share <code>json-key</code> values.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="group-as" type="AssemblyMetaschemaModelGroupAsType">
<xs:annotation>
<xs:appinfo>
<formal-name>Group As</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="discriminator" minOccurs="0" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Discriminator JSON Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:choice maxOccurs="unbounded">
<xs:element name="assembly"
type="AssemblyMetaschemaModelAssemblyModelChoiceGroupAssemblyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Grouping Assembly Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="define-assembly"
type="AssemblyMetaschemaModelAssemblyModelChoiceGroupDefineAssemblyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Assembly Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="field"
type="AssemblyMetaschemaModelAssemblyModelChoiceGroupFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Grouping Field Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="define-field"
type="AssemblyMetaschemaModelAssemblyModelChoiceGroupDefineFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Field Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="min-occurs" type="NonNegativeIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Minimum Occurrence</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-occurs" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Maximum Occurrence</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelJsonValueKeyFlagType">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Used as the Field Value's JSON Property Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:attribute name="flag-ref" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="FieldMetaschemaModelConstraintValueEnumType">
<xs:annotation>
<xs:appinfo>
<formal-name>Allowed Value Enumeration</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:complexContent>
<xs:extension base="MarkupLineDatatype">
<xs:attribute name="value" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Allowed Value Enumeration Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Allowed Value Deprecation Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelAnyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Any Additional Content</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelAssemblyConstraintsType">
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="let" type="AssemblyMetaschemaModelConstraintLetExpressionType">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Let Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="allowed-values"
type="AssemblyMetaschemaModelTargetedAllowedValuesConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Allowed Values Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="expect"
type="AssemblyMetaschemaModelTargetedExpectConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Expect Condition Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="index-has-key"
type="AssemblyMetaschemaModelTargetedIndexHasKeyConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Index Has Key Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="matches"
type="AssemblyMetaschemaModelTargetedMatchesConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Value Matches Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="is-unique"
type="AssemblyMetaschemaModelTargetedIsUniqueConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Unique Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="index" type="AssemblyMetaschemaModelTargetedIndexConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Index Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="has-cardinality"
type="AssemblyMetaschemaModelTargetedHasCardinalityConstraintType">
<xs:annotation>
<xs:appinfo>
<formal-name>Targeted Cardinality Constraint</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelInlineDefineFlagType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Flag Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="constraint"
minOccurs="0"
type="AssemblyMetaschemaModelFlagConstraintsType"/>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="example"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelExampleType">
<xs:annotation>
<xs:appinfo>
<formal-name>Example</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="name" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Flag Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="index" type="PositiveIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Flag Binary Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Deprecated Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="as-type">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Value Data Type</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:union memberTypes="TokenDatatype">
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="base64"/>
<xs:enumeration value="boolean"/>
<xs:enumeration value="date"/>
<xs:enumeration value="date-time"/>
<xs:enumeration value="date-time-with-timezone"/>
<xs:enumeration value="date-with-timezone"/>
<xs:enumeration value="day-time-duration"/>
<xs:enumeration value="decimal"/>
<xs:enumeration value="email-address"/>
<xs:enumeration value="hostname"/>
<xs:enumeration value="integer"/>
<xs:enumeration value="ip-v4-address"/>
<xs:enumeration value="ip-v6-address"/>
<xs:enumeration value="non-negative-integer"/>
<xs:enumeration value="positive-integer"/>
<xs:enumeration value="string"/>
<xs:enumeration value="token"/>
<xs:enumeration value="uri"/>
<xs:enumeration value="uri-reference"/>
<xs:enumeration value="uuid"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="default" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Default Flag Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="required">
<xs:annotation>
<xs:appinfo>
<formal-name>Is Flag Required?</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="yes"/>
<xs:enumeration value="no"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaDefineFieldType">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Field Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="use-name"
minOccurs="0"
type="FieldMetaschemaModelUseNameType">
<xs:annotation>
<xs:appinfo>
<formal-name>Use Name</formal-name>
<description>Allows the name of the definition to be overridden.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Use Name</b>: Allows the name of the definition to be overridden.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="json-key"
minOccurs="0"
type="AssemblyMetaschemaModelJsonKeyType">
<xs:annotation>
<xs:appinfo>
<formal-name>JSON Key</formal-name>
<description>Used in JSON (and similar formats) to identify a flag that will be used as the property name in an object hold a collection of sibling objects. Requires that siblings must never share <code>json-key</code> values.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>JSON Key</b>: Used in JSON (and similar formats) to identify a flag that will be used as the property name in an object hold a collection of sibling objects. Requires that siblings must never share <code>json-key</code> values.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:element name="json-value-key" minOccurs="0" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Field Value JSON Property Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="json-value-key-flag"
minOccurs="0"
type="AssemblyMetaschemaModelJsonValueKeyFlagType">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Used as the Field Value's JSON Property Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="define-flag" type="AssemblyMetaschemaModelInlineDefineFlagType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Flag Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="flag" type="AssemblyMetaschemaModelFlagReferenceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="constraint"
minOccurs="0"
type="AssemblyMetaschemaModelFieldConstraintsType"/>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="example"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelExampleType">
<xs:annotation>
<xs:appinfo>
<formal-name>Example</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="name" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Field Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="index" type="PositiveIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Field Binary Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="scope">
<xs:annotation>
<xs:appinfo>
<formal-name>Definition Scope</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="local">
<xs:annotation>
<xs:documentation>
<p>This definition is only available in the context of the current Metaschema module.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="global">
<xs:annotation>
<xs:documentation>
<p>This definition will be made available to any Metaschema module that includes this one either directly or indirectly through a chain of imported Metaschemas.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Deprecated Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="as-type">
<xs:annotation>
<xs:appinfo>
<formal-name>Field Value Data Type</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:union memberTypes="TokenDatatype">
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="markup-line"/>
<xs:enumeration value="markup-multiline"/>
<xs:enumeration value="base64"/>
<xs:enumeration value="boolean"/>
<xs:enumeration value="date"/>
<xs:enumeration value="date-time"/>
<xs:enumeration value="date-time-with-timezone"/>
<xs:enumeration value="date-with-timezone"/>
<xs:enumeration value="day-time-duration"/>
<xs:enumeration value="decimal"/>
<xs:enumeration value="email-address"/>
<xs:enumeration value="hostname"/>
<xs:enumeration value="integer"/>
<xs:enumeration value="ip-v4-address"/>
<xs:enumeration value="ip-v6-address"/>
<xs:enumeration value="non-negative-integer"/>
<xs:enumeration value="positive-integer"/>
<xs:enumeration value="string"/>
<xs:enumeration value="token"/>
<xs:enumeration value="uri"/>
<xs:enumeration value="uri-reference"/>
<xs:enumeration value="uuid"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="default" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Default Field Value</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelConstraintLetExpressionType">
<xs:annotation>
<xs:appinfo>
<formal-name>Constraint Let Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="var" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Let Variable Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="expression" use="required" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Let Value Metapath Expression</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaDefineAssemblyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Assembly Definition</formal-name>
<description>In XML, an element with structured element content. In JSON, an object with properties. Defined globally, an assembly can be assigned to appear in the <code>model</code> of any assembly (another assembly type, or itself), by <code>assembly</code> reference.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Global Assembly Definition</b>: In XML, an element with structured element content. In JSON, an object with properties. Defined globally, an assembly can be assigned to appear in the <code>model</code> of any assembly (another assembly type, or itself), by <code>assembly</code> reference.</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:element name="use-name"
minOccurs="0"
type="FieldMetaschemaModelUseNameType">
<xs:annotation>
<xs:appinfo>
<formal-name>Use Name</formal-name>
<description>Allows the name of the definition to be overridden.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Use Name</b>: Allows the name of the definition to be overridden.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="root-name"
type="FieldMetaschemaModelMetaschemaDefineAssemblyRootNameType">
<xs:annotation>
<xs:appinfo>
<formal-name>Root Name</formal-name>
<description>Provides a root name, for when the definition is used as the root of a node hierarchy.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Root Name</b>: Provides a root name, for when the definition is used as the root of a node hierarchy.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="json-key"
minOccurs="0"
type="AssemblyMetaschemaModelJsonKeyType">
<xs:annotation>
<xs:appinfo>
<formal-name>JSON Key</formal-name>
<description>Used in JSON (and similar formats) to identify a flag that will be used as the property name in an object hold a collection of sibling objects. Requires that siblings must never share <code>json-key</code> values.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>JSON Key</b>: Used in JSON (and similar formats) to identify a flag that will be used as the property name in an object hold a collection of sibling objects. Requires that siblings must never share <code>json-key</code> values.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="define-flag" type="AssemblyMetaschemaModelInlineDefineFlagType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Flag Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="flag" type="AssemblyMetaschemaModelFlagReferenceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="model"
minOccurs="0"
type="AssemblyMetaschemaModelAssemblyModelType"/>
<xs:element name="constraint"
minOccurs="0"
type="AssemblyMetaschemaModelAssemblyConstraintsType"/>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="example"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelExampleType">
<xs:annotation>
<xs:appinfo>
<formal-name>Example</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="name" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Assembly Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="index" type="PositiveIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Global Assembly Binary Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="scope">
<xs:annotation>
<xs:appinfo>
<formal-name>Definition Scope</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TokenDatatype">
<xs:enumeration value="local">
<xs:annotation>
<xs:documentation>
<p>This definition is only available in the context of the current Metaschema module.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="global">
<xs:annotation>
<xs:documentation>
<p>This definition will be made available to any Metaschema module that includes this one either directly or indirectly through a chain of imported Metaschemas.</p>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Deprecated Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelMetaschemaModuleConstraintsType">
<xs:annotation>
<xs:appinfo>
<formal-name>External Module Constraints</formal-name>
<description>Defines constraint rules to be applied to an existing set of Metaschema module-based models.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>External Module Constraints</b>: Defines constraint rules to be applied to an existing set of Metaschema module-based models.</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="name" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<description>The name of this constraint set.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p>The name of this constraint set.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="version" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<description>The version of this constraint set. A version string used to distinguish between multiple revisions of the same resource.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p>The version of this constraint set. A version string used to distinguish between multiple revisions of the same resource.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="import"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelMetaschemaModuleConstraintsImportType">
<xs:annotation>
<xs:appinfo>
<description>Declares a set of Metaschema constraints from an out-of-line resource to import, supporting composition of constraint sets.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p>Declares a set of Metaschema constraints from an out-of-line resource to import, supporting composition of constraint sets.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="scope"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelMetaschemaModuleConstraintsScopeType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AssemblyMetaschemaModelInlineDefineAssemblyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Assembly Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
<xs:sequence>
<xs:element name="formal-name" minOccurs="0" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Formal Name</formal-name>
<description>A formal name for the data construct, to be presented in documentation.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Formal Name</b>: A formal name for the data construct, to be presented in documentation.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" minOccurs="0" type="MarkupLineDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Description</formal-name>
<description>A short description of the data construct's purpose, describing the constructs semantics.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Description</b>: A short description of the data construct's purpose, describing the constructs semantics.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prop"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelPropertyType">
<xs:annotation>
<xs:appinfo>
<formal-name>Property</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="json-key"
minOccurs="0"
type="AssemblyMetaschemaModelJsonKeyType">
<xs:annotation>
<xs:appinfo>
<formal-name>JSON Key</formal-name>
<description>Used in JSON (and similar formats) to identify a flag that will be used as the property name in an object hold a collection of sibling objects. Requires that siblings must never share <code>json-key</code> values.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>JSON Key</b>: Used in JSON (and similar formats) to identify a flag that will be used as the property name in an object hold a collection of sibling objects. Requires that siblings must never share <code>json-key</code> values.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="group-as"
minOccurs="0"
type="AssemblyMetaschemaModelGroupAsType">
<xs:annotation>
<xs:appinfo>
<formal-name>Group As</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="define-flag" type="AssemblyMetaschemaModelInlineDefineFlagType">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Flag Definition</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
<xs:element name="flag" type="AssemblyMetaschemaModelFlagReferenceType">
<xs:annotation>
<xs:appinfo>
<formal-name>Flag Reference</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="model"
minOccurs="0"
type="AssemblyMetaschemaModelAssemblyModelType"/>
<xs:element name="constraint"
minOccurs="0"
type="AssemblyMetaschemaModelAssemblyConstraintsType"/>
<xs:element name="remarks" minOccurs="0" type="FieldMetaschemaModelRemarksType">
<xs:annotation>
<xs:appinfo>
<formal-name>Remarks</formal-name>
<description>Any explanatory or helpful information to be provided about the remarks parent.</description>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml">
<p><b>Remarks</b>: Any explanatory or helpful information to be provided about the remarks parent.</p>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="example"
minOccurs="0"
maxOccurs="unbounded"
type="AssemblyMetaschemaModelExampleType">
<xs:annotation>
<xs:appinfo>
<formal-name>Example</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="name" use="required" type="TokenDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Assembly Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="index" type="PositiveIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Inline Assembly Binary Name</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deprecated" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Deprecated Version</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-occurs" type="NonNegativeIntegerDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Minimum Occurrence</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-occurs" type="StringDatatype">
<xs:annotation>
<xs:appinfo>
<formal-name>Maximum Occurrence</formal-name>
</xs:appinfo>
<xs:documentation xmlns="http://www.w3.org/1999/xhtml"/>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:simpleType name="NonNegativeIntegerDatatype">
<xs:annotation>
<xs:documentation>An integer value that is equal to or greater than 0.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:nonNegativeInteger">
<xs:pattern value="\S(.*\S)?">
<xs:annotation>
<xs:documentation>This pattern ensures that leading and trailing whitespace is
disallowed. This helps to even the user experience between implementations
related to whitespace.</xs:documentation>
</xs:annotation>
</xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PositiveIntegerDatatype">
<xs:annotation>
<xs:documentation>An integer value that is greater than 0.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:positiveInteger">
<xs:pattern value="\S(.*\S)?">
<xs:annotation>
<xs:documentation>This pattern ensures that leading and trailing whitespace is
disallowed. This helps to even the user experience between implementations
related to whitespace.</xs:documentation>
</xs:annotation>
</xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="StringDatatype">
<xs:annotation>
<xs:documentation>A non-empty string of Unicode characters with leading and trailing whitespace
disallowed. Whitespace is: U+9, U+10, U+32 or [ \n\t]+</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:annotation>
<xs:documentation>The 'string' datatype restricts the XSD type by prohibiting leading
and trailing whitespace, and something (not only whitespace) is required.</xs:documentation>
</xs:annotation>
<xs:whiteSpace value="preserve"/>
<xs:pattern value="\S(.*\S)?">
<xs:annotation>
<xs:documentation>This pattern ensures that leading and trailing whitespace is
disallowed. This helps to even the user experience between implementations
related to whitespace.</xs:documentation>
</xs:annotation>
</xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TokenDatatype">
<xs:annotation>
<!--<xs:documentation>Matching XSD NCName, except whitespace is not collapsed.</xs:documentation> -->
<xs:documentation>A non-empty, non-colonized name as defined by XML Schema Part 2: Datatypes
Second Edition (https://www.w3.org/TR/xmlschema11-2/#NCName), with leading and trailing
whitespace disallowed.</xs:documentation>
</xs:annotation>
<xs:restriction base="StringDatatype">
<xs:pattern value="(\p{L}|_)(\p{L}|\p{N}|[.\-_])*">
<xs:annotation>
<!--<xs:documentation>An XML initial character (but not colon), followed
by any XML name character (but not colon).</xs:documentation> -->
<xs:documentation>A single token may not contain whitespace.
</xs:documentation>
</xs:annotation>
</xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="URIDatatype">
<xs:annotation>
<xs:documentation>A universal resource identifier (URI) formatted according to RFC3986.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:anyURI">
<xs:pattern value="[a-zA-Z][a-zA-Z0-9+\-.]+:.*\S">
<xs:annotation>
<xs:documentation>Requires a scheme with colon per RFC 3986.</xs:documentation>
</xs:annotation>
</xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="URIReferenceDatatype">
<xs:annotation>
<xs:documentation>A URI Reference, either a URI or a relative-reference, formatted according to section 4.1 of RFC3986.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:anyURI">
<xs:pattern value="\S(.*\S)?">
<xs:annotation>
<xs:documentation>This pattern ensures that leading and trailing whitespace is
disallowed. This helps to even the user experience between implementations
related to whitespace.</xs:documentation>
</xs:annotation>
</xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="MarkupMultilineDatatype">
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:group ref="blockElementGroup"/>
</xs:choice>
</xs:complexType>
<xs:group name="headingBlockElementGroup">
<xs:choice>
<xs:element name="h1" type="inlineMarkupType"/>
<xs:element name="h2" type="inlineMarkupType"/>
<xs:element name="h3" type="inlineMarkupType"/>
<xs:element name="h4" type="inlineMarkupType"/>
<xs:element name="h5" type="inlineMarkupType"/>
<xs:element name="h6" type="inlineMarkupType"/>
</xs:choice>
</xs:group>
<xs:group name="blockElementGroup">
<xs:choice>
<xs:group ref="headingBlockElementGroup"/>
<xs:group ref="listsGroup"/>
<xs:group ref="blockTextGroup"/>
<xs:element name="p" type="inlineMarkupType"/>
<xs:element name="table" type="tableType"/>
<!-- QUESTION: Deprecate this? -->
<xs:element name="img" type="imageType"/>
</xs:choice>
</xs:group>
<xs:group name="blockTextGroup">
<xs:choice>
<xs:element name="pre" type="preformattedType"/>
<xs:element name="hr"/>
<!-- TODO: need to add support for blockquote, which can contain block elements. usnistgov/metaschema#70 -->
<xs:element name="blockquote" type="blockQuoteType"/>
</xs:choice>
</xs:group>
<xs:complexType name="preformattedType" mixed="true">
<xs:complexContent>
<xs:extension base="inlineMarkupType">
<xs:annotation>
<xs:documentation>The content model is the same as inlineMarkupType, but line endings need
to be preserved, since this is pre-formatted.</xs:documentation>
</xs:annotation>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="listType">
<xs:sequence>
<xs:element name="li"
type="listItemType"
minOccurs="1"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="orderedListType">
<xs:complexContent>
<xs:extension base="listType">
<!-- TODO: confirm if romans are allowed -->
<xs:attribute name="start" type="xs:nonNegativeInteger"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:group name="listsGroup">
<xs:choice>
<xs:element name="ul" type="listType"/>
<xs:element name="ol" type="orderedListType"/>
</xs:choice>
</xs:group>
<xs:complexType name="listItemType" mixed="true">
<!-- TODO: is this the correct construction? -->
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="inlineMarkupGroup"/>
<xs:group ref="listsGroup"/>
<xs:group ref="blockTextGroup"/>
<xs:group ref="headingBlockElementGroup"/>
<xs:element name="p" type="inlineMarkupType"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="tableType">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="tr" type="tableRowType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="tableRowType">
<!-- QUESTION: Should we allow TH and TD to be mixed? -->
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="td" type="tableCellType" maxOccurs="unbounded"/>
<xs:element name="th" type="tableCellType" maxOccurs="unbounded"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="tableCellType" mixed="true">
<xs:complexContent>
<!-- TODO: consider adding a choice between the inline or paragraphs. We need to figure out what is supported in Markdown. -->
<xs:extension base="inlineMarkupType">
<!-- TODO: need to add support for alignment. usnistgov/metaschema#70 -->
<xs:attribute name="align" type="alignType" default="left"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="alignType">
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="center"/>
<xs:enumeration value="right"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="blockQuoteType">
<!-- TODO: confirm if nested blockquote is supported in markdown -->
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="blockElementGroup"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="MarkupLineDatatype" mixed="true">
<xs:complexContent>
<xs:extension base="inlineMarkupType"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="inlineMarkupType" mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="inlineMarkupGroup"/>
</xs:choice>
</xs:complexType>
<xs:group name="inlineMarkupGroup">
<xs:choice>
<xs:element name="a" type="anchorType"/>
<xs:element name="insert" type="insertType"/>
<xs:element name="br"/>
<xs:group ref="phraseMarkupGroup"/>
</xs:choice>
</xs:group>
<xs:group name="phraseMarkupGroup">
<xs:choice>
<xs:element name="code" type="codeType"/>
<xs:element name="em" type="inlineMarkupType"/>
<xs:element name="i" type="inlineMarkupType"/>
<xs:element name="b" type="inlineMarkupType"/>
<xs:element name="strong" type="inlineMarkupType"/>
<xs:element name="sub" type="inlineMarkupType"/>
<xs:element name="sup" type="inlineMarkupType"/>
<xs:element name="q" type="inlineMarkupType"/>
<xs:element name="img" type="imageType"/>
</xs:choice>
</xs:group>
<xs:complexType name="codeType">
<xs:complexContent>
<xs:extension base="inlineMarkupType">
<xs:attribute name="class" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="imageType">
<xs:attribute name="alt" type="xs:string"/>
<xs:attribute name="src" use="required" type="xs:anyURI"/>
<xs:attribute name="title" type="xs:string"/>
</xs:complexType>
<xs:complexType name="anchorType" mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="phraseMarkupGroup"/>
</xs:choice>
<xs:attribute name="href" type="xs:anyURI"/>
<xs:attribute name="title" type="xs:string"/>
</xs:complexType>
<xs:complexType name="insertType">
<xs:annotation>
<xs:documentation>An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an <code xmlns="">id-ref</code>. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements.</xs:documentation>
</xs:annotation>
<xs:attribute name="type" use="required" type="xs:NCName">
<xs:annotation>
<xs:documentation>The type of object to include from (e.g., parameter, control, component, role, etc.)</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="id-ref" use="required" type="xs:NCName">
<xs:annotation>
<xs:documentation>The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified <code xmlns="">type</code>. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the <code xmlns="">type</code> (e.g., title, identifier, value, etc.) that is appropriate for the application.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:schema>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment