The W3C XML Scherma Working Group has posted the first public drafts of XML Schema 1.1 Part 1: Structures and XML Schema 1.1 Part 2: Datatypes. According to the introduction to the structures spec,
The Working Group has two main goals for this version of W3C XML Schema:
- Significant improvements in simplicity of design and clarity of exposition without loss of backward or forward compatibility;
- Provision of support for versioning of XML languages defined using the XML Schema specification, including the XML transfer syntax for schemas itself.
These goals are slightly in tension with one another -- the following summarizes the Working Group's strategic guidelines for changes between versions 1.0 and 1.1:
- Add support for versioning (acknowledging that this may be slightly disruptive to the XML transfer syntax at the margins)
- Allow bug fixes (unless in specific cases we decide that the fix is too disruptive for a point release)
- Allow editorial changes
- Allow design cleanup to change behavior in edge cases
- Allow relatively non-disruptive changes to type hierarchy (to better support current and forthcoming international standards and W3C recommendations)
- Allow design cleanup to change component structure (changes to functionality restricted to edge cases)
- Do not allow any significant changes in functionality
- Do not allow any changes to XML transfer syntax except those required by version control hooks and bug fixes
The overall aim as regards compatibility is that
- All schema documents conformant to version 1.0 of this specification should also conform to version 1.1, and should have the same validation behaviour across 1.0 and 1.1 implementations (except possibly in edge cases and in the details of the resulting PSVI);
- The vast majority of schema documents conformant to version 1.1 of this specification should also conform to version 1.0, leaving aside any incompatibilities arising from support for versioning, and when they are conformant to version 1.0 (or are made conformant by the removal of versioning information), should have the same validation behaviour across 1.0 and 1.1 implementations (again except possibly in edge cases and in the details of the resulting PSVI);
Changes in the data type spec include:
==
and equals()
in Java. yearMonthDuration
and dayTimeDuration
typesprecisionDecimal
typeThere are also numerous open issues including how to align the W3C XML schema language with XML 1.1 and whether to allow a year 0.