top of page


Public·16 members
Demian Suvorov
Demian Suvorov


The Code of Federal Regulations (CFR) is the official legal print publication containing the codification of the general and permanent rules published in the Federal Register by the departments and agencies of the Federal Government. The Electronic Code of Federal Regulations (eCFR) is a continuously updated online version of the CFR. It is not an official legal edition of the CFR.


This is a W3CRecommendation, which forms part of the Second Edition of XMLSchema. This document has been reviewed by W3C Members andother interested parties and has been endorsed by the Director as aW3C Recommendation. It is a stable document and may be used asreference material or cited as a normative reference from another document. W3C's role in making the Recommendation is to draw attentionto the specification and to promote its widespread deployment. Thisenhances the functionality and interoperability of the Web.

This document has been produced by the W3C XML Schema Working Groupas part of the W3C XMLActivity. The goals of the XML Schema language are discussed inthe XML SchemaRequirements document. The authors of this document are themembers of the XML Schema Working Group. Different parts of thisspecification have different editors.

The purpose of XML Schema: Structures is to define the nature of XML schemasand their component parts,provide an inventory of XML markup constructs with which to represent schemas, and define theapplication of schemas to XML documents.

The purpose of an XML Schema: Structures schema is to define and describe a class of XML documents by using schema components to constrain and document the meaning, usage and relationships of their constituent parts: datatypes, elements and their content and attributes and their values. Schemas may also provide for the specification of additional document information, such as normalization and defaulting of attributeand element values. Schemas havefacilities for self-documentation. Thus, XML Schema: Structures can be used to define, describe and catalogue XML vocabularies for classes of XML documents.

The correspondence between an element information item which is partof the XML representation of a schema and one or more schema components is presented in a tableauwhich illustrates the element information item(s) involved.This is followed by a tabulation of the correspondence between properties of the componentand properties of the information item. Where context may determine which ofseveral different components may arise, several tabulations, one per context,are given. The property correspondences are normative,as are the illustrations of the XML representation element information items.

Just as [XML 1.0 (Second Edition)] and[XML-Namespaces] can be described in terms ofinformation items, XML Schemas can be described in terms of anabstract data model. In defining XML Schemas in terms of an abstractdata model, this specification rigorously specifies the information whichmust be available to a conforming XML Schema processor. The abstractmodel for schemas is conceptual only, and does not mandate anyparticular implementation or representation of this information. Tofacilitate interoperation and sharing of schema information, anormative XML interchange format for schemas is provided.

Each simple type definition, whether built-in (that is, defined in [XML Schemas: Datatypes]) oruser-defined, is a restriction of some particularsimple base typedefinition. For the built-in primitive type definitions, this is [Definition:] the simpleur-type definition, a special restriction of theur-typedefinition, whose name is anySimpleType in the XML Schema namespace. The simple ur-type definition is considered to have an unconstrained lexical space, and a value space consisting of the union of the value spaces of all the built-in primitive datatypes and the set of all lists of all members of the value spaces of all the built-in primitive datatypes.

A complex type definition is a set of attribute declarations and a content type, applicable to the [attributes] and[children] of an element information item respectively. The content type mayrequire the [children] to contain neither element nor character informationitems (that is, to be empty), to be a string which belongs to a particular simpletype or to contain a sequence of element information items which conforms to a particular model group, with or without character information items as well.

Element declarations contribute tovalidation as part of model group validation, when their defaults and type components are checked against an elementinformation item with a matching name and namespace, and by triggeringidentity-constraint definition validation.

An attribute declaration is an association between a name and a simple type definition, togetherwith occurrence information and (optionally) a default value. Theassociation is either global, or local to its containing complex type definition. Attribute declarations contribute tovalidation as part of complex type definition validation, when theiroccurrence, defaults and type components are checked against an attributeinformation item with a matching name and namespace.

A model group is a constraint in the form of a grammar fragment that applies tolists of element information items. It consists of a list of particles, i.e.element declarations, wildcards and model groups. There are three varieties ofmodel group:

A particle is a term in the grammar for element content, consisting of either an elementdeclaration, a wildcard or a model group, together withoccurrence constraints. Particles contribute tovalidation as part of complex type definition validation, when they allow anywherefrom zero to many element information items or sequences thereof, depending ontheir contents and occurrenceconstraints.

An attribute use plays a role similar to that of a particle, but forattribute declarations: an attribute declaration within a complex type definitionis embedded within an attribute use, which specifies whether the declarationrequires or merely allows its attribute, and whether it has a default or fixed value.

An identity-constraint definition is an association between a name and one ofseveral varieties ofidentity-constraint related to uniqueness and reference. All thevarieties use [XPath] expressions to pick out sets ofinformation items relative to particular target elementinformation items which are unique, or a key, or a valid reference, withina specified scope. An element information item is only valid withrespect to an element declarationwith identity-constraint definitions if those definitions are all satisfied for all the descendantsof that element information item which they pick out.

The [XML 1.0 (Second Edition)] specification describes two kinds of constraints on XML documents: well-formedness and validity constraints. Informally, the well-formedness constraints are those imposed by the definition of XML itself (such as the rules for the use of the characters and the rules for proper nesting of elements), while validity constraints are the further constraints on document structure provided by a particular DTD.

Therefore [Definition:] this specification introduces the termsymbol space to denote acollection of names, each of which is unique with respect to the others. A symbol space is similar to the non-normative concept of namespace partition introduced in [XML-Namespaces].There is a single distinct symbol space within a given targetnamespace for each kind of definition and declaration componentidentified in XML Schema Abstract Data Model (2.2), except that within a target namespace, simpletype definitions and complex type definitions share a symbol space.Within a given symbol space, names are unique, but the same name may appear in more than one symbol space without conflict. For example, the same name can appear in both a type definition and an element declaration, without conflict or necessary relation between the two.

s within produceglobal element declarations; s within or produce either particles which contain global element declarations (if there's a ref attribute) or local declarations (otherwise). For complete declarations, top-level or local, the type attribute is used when the declaration can use abuilt-in or pre-declared type definition. Otherwise ananonymous or is provided inline.

An attribute use is a utility component which controls the occurrence anddefaulting behavior of attribute declarations. It plays the same role forattribute declarations in complex types that particles play for element declarations.

Attribute group definitions do not participate in validation as such, but theattribute uses and attribute wildcard of one ormore complex type definitions may be constructed in whole or part by referenceto an attribute group. Thus, attribute group definitions provide areplacement for some uses of XML'sparameter entity facility.Attribute group definitions are provided primarily for reference from the XMLrepresentation of schema components(see and ).

The name of this section is slightly misleading, in that the second, un-named,case above (with aref and no name) is not really a named modelgroup at all, but a reference to one. Also note that in the first (named)case above no reference is made to minOccurs ormaxOccurs: this is because the schema for schemas does not allowthem on the child of when it is named. This in turn isbecause the min occurs and max occurs ofthe particles which refer to the definition are what count.

When the [children] of element information items are not constrainedto be empty or by reference to a simple type definition(Simple Type Definitions (3.14)), the sequence of elementinformation item [children] content may be specified inmore detail with a model group. Because the term property of a particle can be amodel group, and model groups contain particles, model groups can indirectly contain other model groups; the grammar for content modelsis therefore recursive. 041b061a72


Welcome to the group! You can connect with other members, ge...


bottom of page