| // |
| // Copyright (c) 2020 Contributors to the Eclipse Foundation |
| // |
| |
| [appendix] |
| == XML Schema |
| |
| === Abstract Schema Model |
| |
| The following summarization abstract schema |
| component model has been extracted from [XSD Part 1] as a convenience |
| for those not familiar with XML Schema component model in understanding |
| the binding of XML Schema components to Java representation. One must |
| refer to [XSD Part 1] for the complete normative description for these |
| components. |
| |
| === [[a4867]]Simple Type Definition Schema Component |
| |
| === Simple Type Definition Schema Components |
| |
| Component |
| |
| Description |
| |
| \{name} |
| |
| Optional. An NCName as defined by |
| [XML-Namespaces]. |
| |
| \{target namespace} |
| |
| Either ·absent· or a namespace name. |
| |
| \{base type definition} |
| |
| A simple type definition |
| |
| \{facets} |
| |
| A set of constraining facets. |
| |
| \{fundamental facets} |
| |
| A set of fundamental facets. |
| |
| \{final} |
| |
| A subset of \{extension, list, restriction, |
| union}. |
| |
| \{variety} |
| |
| One of \{atomic, list, union}. Depending on |
| the value of \{variety}, further properties are defined as follows: |
| |
| |
| |
| atomic |
| |
| _\{primitive type definition}_ |
| |
| A built-in primitive simple type definition. |
| |
| |
| |
| list |
| |
| _\{item type definition}_ |
| |
| A simple type definition. |
| |
| |
| |
| union |
| |
| _\{member type definitions}_ |
| |
| A non-empty sequence of simple type |
| definitions. |
| |
| \{annotation} |
| |
| Optional. An annotation. |
| |
| === [[a4899]]Enumeration Facet Schema Component |
| |
| === Enumeration Facet Schema Components |
| |
| Component |
| |
| Description |
| |
| \{value} |
| |
| The actual value of the value. (Must be in |
| value space of base type definition.) |
| |
| \{annotation} |
| |
| Optional annotation. |
| |
| === [[a4907]]Complex Type Definition Schema Component |
| |
| === Complex Type Definition Schema Components |
| |
| Component |
| |
| Description |
| |
| \{name} |
| |
| Optional. An NCName as defined by |
| [XML-Namespaces]. |
| |
| \{target namespace} |
| |
| Either ·absent· or a namespace name. |
| |
| \{base type definition} |
| |
| Either a simple type definition or a complex |
| type definition. |
| |
| \{scope} |
| |
| Either _global_ or a complex type definition |
| |
| \{derivation method} |
| |
| Either extension or restriction. |
| |
| \{final} |
| |
| A subset of \{extension, restriction}. |
| |
| \{abstract} |
| |
| A boolean |
| |
| \{attribute uses} |
| |
| A set of attribute uses. |
| |
| \{attribute wildcard} |
| |
| Optional. A wildcard. |
| |
| \{content type} |
| |
| One of empty, a simple type definition, or a |
| pair consisting of a ·content model· and one of mixed, element-only. |
| |
| \{prohibited substitutions} |
| |
| A subset of \{extension, restriction}. |
| |
| \{substitution group affiliation} |
| |
| Optional. If exists, this element declaration |
| belongs to a substitution group and this specified element name is the |
| QName of the substitution head. |
| |
| \{annotations} |
| |
| A set of annotations. |
| |
| === [[a4937]]Element Declaration Schema Component |
| |
| === Element Declaration Schema Components |
| |
| Component |
| |
| Description |
| |
| \{name} |
| |
| An NCName as defined by [XML-Namespaces]. |
| |
| \{target namespace} |
| |
| Either ·absent· or a namespace name |
| |
| \{type definition} |
| |
| Either a simple type definition or a complex |
| type definition. |
| |
| \{scope} |
| |
| Optional. Either global or a complex type |
| definition. |
| |
| \{value constraint} |
| |
| Optional. A pair consisting of a value and |
| one of default, fixed. |
| |
| \{nillable} |
| |
| A boolean. |
| |
| \{identity-constraint definitions} |
| |
| A set of constraint definitions. |
| |
| \{substitution group affiliation} |
| |
| Optional. A top-level element definition. |
| |
| \{substitution group exclusions} |
| |
| A subset of \{extension, restriction}. |
| |
| \{disallowed substitution} |
| |
| A subset of |
| \{substitution,extension,restriction}. |
| |
| \{abstract} |
| |
| A boolean. |
| |
| \{annotation} |
| |
| Optional. An annotation. |
| |
| === [[a4965]]Attribute Declaration Schema Component |
| |
| === Attribute Declaration Schema Components |
| |
| Component |
| |
| Description |
| |
| \{name} |
| |
| An NCName as defined by [XML-Namespaces]. |
| |
| \{target namespace} |
| |
| If form is present and is “qualified”, or if |
| form is absent and the value of @attributeFormDefault on the <schema> |
| ancestor is “qualified”, then the schema’s \{targetNamespace}, or |
| ·absent· if there is none, otherwise ·absent· |
| |
| \{type definition} |
| |
| A simple type definition. |
| |
| \{scope} |
| |
| Optional. Either global or a complex type |
| definition. |
| |
| \{value constraint} |
| |
| Optional. A pair consisting of a value and |
| one of default, fixed. |
| |
| \{annotation} |
| |
| Optional. An annotation. |
| |
| === Model Group Definition Schema Component |
| |
| === Model Group Definition Schema Components |
| |
| Component |
| |
| Description |
| |
| \{name} |
| |
| An NCName as defined by [XML-Namespaces]. |
| |
| \{target namespace} |
| |
| Either ·absent· or a namespace name. |
| |
| \{model group} |
| |
| A model group. |
| |
| \{annotation} |
| |
| Optional. An annotation. |
| |
| === Identity-constraint Definition Schema Component |
| |
| === Identity-constraint Definition Schema Components |
| |
| Component |
| |
| Description |
| |
| \{name} |
| |
| An NCName as defined by [XML-Namespaces]. |
| |
| \{target namespace} |
| |
| Either ·absent· or a namespace name. |
| |
| \{identity-constraint category} |
| |
| One of key, keyref or unique. |
| |
| \{selector} |
| |
| A restricted XPath ([XPath]) expression. |
| |
| \{fields} |
| |
| A non-empty list of restricted XPath |
| ([XPath]) expressions. |
| |
| \{referenced key} |
| |
| Required if \{identity-constraint category} |
| is keyref, forbidden otherwise. |
| |
| An identity-constraint definition with |
| \{identity-constraint category} equal to key or unique. |
| |
| \{annotation} |
| |
| Optional. An annotation. |
| |
| === [[a5012]]Attribute Use Schema Component |
| |
| === Attribute Use Schema Components |
| |
| Component |
| |
| Description |
| |
| \{required} |
| |
| A boolean. |
| |
| \{attribute declaration} |
| |
| An attribute declaration. |
| |
| \{value constraint} |
| |
| Optional. A pair consisting of a value and |
| one of default, fixed. |
| |
| === [[a5022]]Particle Schema Component |
| |
| === Particle Schema Components |
| |
| Component |
| |
| Description |
| |
| \{min occurs} |
| |
| A non-negative integer. |
| |
| \{max occurs} |
| |
| Either a non-negative integer or unbounded. |
| |
| \{term} |
| |
| One of a model group, a wildcard, or an |
| element declaration. |
| |
| === [[a5032]]Wildcard Schema Component |
| |
| === Wildcard Schema Components |
| |
| Component |
| |
| Description |
| |
| \{namespace constraint} |
| |
| One of any; a pair of not and a namespace |
| name or ·absent·; or a set whose members are either namespace names or |
| ·absent·. |
| |
| \{process contents} |
| |
| One of skip, lax or strict. |
| |
| \{annotation} |
| |
| Optional. An annotation. |
| |
| === Model Group Schema Component |
| |
| === Model Group Components |
| |
| Component |
| |
| Description |
| |
| \{compositor} |
| |
| One of _all, choice_ or _sequence_ . |
| |
| \{particles} |
| |
| A list of particles. |
| |
| \{annotation} |
| |
| An annotation. |
| |
| === Notation Declaration Schema Component |
| |
| === Notation Declaration Components |
| |
| Component |
| |
| Description |
| |
| \{name} |
| |
| An NCName as defined by [XML-Namespaces]. |
| |
| \{target namespace} |
| |
| Actual value of the targetNamespace |
| [attribute] of the parent schema element |
| |
| \{system identifier} |
| |
| The ·actual value· of the system [attribute], |
| if present, otherwise absent. |
| |
| \{public identifier} |
| |
| {empty}The ·actual value· of the public |
| [attribute] |
| |
| \{annotation} |
| |
| Optional. An annotation. |
| |
| === Wildcard Schema Component |
| |
| === Wildcard Components |
| |
| Component |
| |
| Description |
| |
| \{namespace constraint} |
| |
| One of _any_ ; a pair of _not_ and a |
| namespace name or ·absent·; or a set whose members are either namespace |
| names or ·absent·. |
| |
| \{process contents} |
| |
| One of _skip_ , _lax_ or _strict_ . |
| |
| \{annotation} |
| |
| Optional. An annotation. |
| |
| === Attribute Group Definition Schema Component |
| |
| === Attribute Group Definition Schema Components |
| |
| Component |
| |
| Description |
| |
| \{name} |
| |
| An NCName as defined by [XML-Namespaces]. |
| |
| \{target namespace} |
| |
| Either ·absent· or a namespace name. |
| |
| \{attribute uses} |
| |
| A set of attribute uses. |
| |
| \{attribute wildcard} |
| |
| Optional. A wildcard. _(part of the complete |
| wildcard)_ |
| |
| \{annotation} |
| |
| Optional. An annotation. |
| |