This document is also available in these non-normative formats: XML, XHTML with changes since version 1.0 marked, XHTML with changes since previous Working Draft marked, Independent copy of the schema for schema documents, Independent copy of the DTD for schema documents, Independent tabulation of components and microcomponents, and List of translations.
Copyright © 2008 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
This is a ↑ member-only review version which will in due course become a ↑ Last Call Public Working Draft of W3C XML Schema Definition Language (XSD) 1.1. It ↑has no formal standing within W3C; it↑ is here made available for review by W3C members↓ and the public↓. XSD 1.1 retains all the essential features of XSD 1.0, but adds several new features to support functionality requested by users, fixes some errors in XSD 1.0, and clarifies some wording. ↑ This draft was created on 8 February 2008. It reflects (unless otherwise noted elsewhere) all decisions on this document made by the Working Group through 8 February 2008. The document thus incorporates all decisions made by the Working Group to date. ↑
all-groups
may now be extended. (This change is in addition to other changes
in all-groups described in Changes since version 1.0 (§G).)report element has been dropped
and the rules for evaluation of XPath expressions have been made
more explicit.
These changes may help minimize confusion between the assertions
defined here and the assert and report elements
of Schematron, which can still be used in <appinfo>
elements, or separately.
xs:ID.xsi:type have been clarified.For those primarily interested in the changes since version 1.0, the appendix Changes since version 1.0 (§G) is the recommended starting point. It summarizes both changes made since XSD 1.0 and some changes which were expected (and predicted in earlier drafts of this specification) but have not been made after all. Accompanying versions of this document display in color all changes to normative text since version 1.0 and since the previous Working Draft.
The Last Call review period for this document extends until 8 November 2007. Comments on this document should be made in W3C's public installation of Bugzilla, specifying "XML Schema" as the product. Instructions can be found at http://www.w3.org/XML/2006/01/public-bugzilla. If access to Bugzilla is not feasible, please send your comments to the W3C XML Schema comments mailing list, www-xml-schema-comments@w3.org (archive) Each Bugzilla entry and email message should contain only one comment.
Although feedback based on any aspect of this specification is welcome, there are certain aspects of the design presented herein for which the Working Group is particularly interested in feedback. These are designated "priority feedback" aspects of the design, and identified as such in editorial notes at appropriate points in this draft. Any feature mentioned in a priority feedback note should be considered a "feature at risk": the feature may be retained as is, modified, or dropped, depending on the feedback received from readers, schema authors, schema users, and implementors.
Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document has been produced by the W3C XML Schema Working Group as part of the W3C XML Activity. The goals of XSD 1.1 are discussed in the document Requirements for XML Schema 1.1. The authors of this document are the members of the XML Schema Working Group. Different parts of this specification have different editors.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
The English version of this specification is the only normative version. Information about translations of this document is available at http://www.w3.org/2003/03/Translations/byTechnology?technology=xmlschema.
The presentation of this document has been augmented to
identify changes from a previous version, controlled by dg-temp.xml. Three kinds of changes are highlighted:
↑new, added text↑,
↑changed text↓, and
↓deleted text↓.
There are three kinds of declaration component: element, attribute, and notation. Each is described in a section below. Also included is a discussion of element substitution groups, which is a feature provided in conjunction with element declarations.
In XML, the name and content of an element must correspond exactly to the element type referenced in the corresponding content model.
[Definition:] Through the new mechanism of element substitution groups, XSD provides a more powerful model supporting substitution of one named element for another. Any top-level element declaration can serve as the defining member, or head, for an element ·substitution group·. Other top-level element declarations, regardless of target namespace, can be designated as members of the ·substitution group· headed by this element. In a suitably enabled content model, a reference to the head ·validates· not just the head itself, but elements corresponding to any other member of the ·substitution group· as well.
All such members must have type definitions which are either the same as the head's type definition or ↓restrictions or extensions of↓↑derived from↑ it. Therefore, although the names of elements can vary widely as new namespaces and members of the ·substitution group· are defined, the content of member elements is ↓strictly limited according to↓↑constrained by↑ the type definition of the ·substitution group· head.
Note that element substitution groups are not represented as separate components. They are specified in the property values for element declarations (see Element Declarations (§3.3)).
The model group, particle, and wildcard components contribute to the portion of a complex type definition that controls an element information item's content.
A model group is a constraint in the form of a grammar fragment that applies to lists of element information items. It consists of a list of particles, i.e. element declarations, wildcards and model groups. There are three varieties of model group:
Each model group denotes a set of sequences of element information items. Regarding that set of sequences as a language, the set of sequences recognized by a group G may be written L(G). [Definition:] A model group G↑ ↑is said to accept or recognize the members of L(G).
For detailed information on model groups, see Model Groups (§3.8).
xsi:type attribute which fails to ·resolve· to
a type definition that ·overrides· the
declared {type definition}
xsi:type
attribute which fails to ·resolve· to a type
definition that ·overrides· the ·selected type definition·
xs:anyType·
All assertions (see Assertions (§3.13)) must satisfy the following constraints.
| Test XPath expressions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
child and/or attribute axes
whose abbreviated form is as given above.QName in the
BooleanFunction
production, then it identifies one of the following functions
defined in the [Functions and Operators] specification:
fn:true,
fn:false and
fn:not.
QName in the
ValueFunction production
production, then it identifies one of the following functions
defined in the [Functions and Operators] specification:
fn:data,
fn:local-name,
fn:namespace-uri,
fn:count,
fn:max and
fn:min.
QName identifies a simple type definition.StringLiteral is locally ·valid· with respect to
the simple type definition identified in the above step, as per String Valid (§3.16.4).Editorial Note: Priority Feedback Request
Earlier drafts of this specification defined a more restricted form of the non-terminal PredicateExpr (shown below). The XML Schema Working Group is not certain whether to retain the more comprehensive definition given above in the required minimum subset of XPath which all processors must implement, or to return to the earlier restricted form. The Working Group solicits input from implementors and users on this issue.
| Alternate definition of Predicate Expressions | ||||||||||||||||||||||||||||||||||||||||
|