Transcript slides

W3C XML Schema WG
Versioning and Extensibility
of
Schemas and Vocabularies
Noah Mendelsohn
W3C XML Schema Workgroup
June 22, 2005
Overview
• XML should be the key to loose coupling:
– Flexible document structure
– Reasonably self-describing
• Idioms for evolving languages,
vocabularies and schemas not agreed
– Role of namespaces
– Extension vs. restriction
– Relationship to schema documents
• Providing better support for evolving
vocabularies is a main goal of Schema 1.1
Some Resources
Working Group Resources
• XML Schema Versioning Use Cases , ed. Hoylen Sue, DSTC Pty Ltd.
• Framework for discussion of versioning , ed. Michael Sperberg-McQueen
• An Approach for Evolving XML Vocabularies Using XML Schema , Noah
Mendelsohn
• Recent minutes of the Versioning Task force (Member-only link), with linked
references to earlier minutes.
External Resources
• [Editorial Draft] Versioning XML Languages Proposed TAG Finding, ed.
David Orchard and Norman Walsh.
• Web services = or != distributed objects?, David Orchard, 12 January 2004.
• Examining wildcards for versioning, David Orchard, 8 January 2004.
• Providing Compatible Schema Evolution, David Orchard, 19 January 2004.
From: http://www.w3.org/2005/05/xsd-versioning-resources.html
Some Resources
Schema WG is collecting and
analyzing Use Cases
Working Group Resources
• XML Schema Versioning Use Cases , ed. Hoylen Sue, DSTC Pty Ltd.
• Framework for discussion of versioning , ed. Michael Sperberg-McQueen
• An Approach for Evolving XML Vocabularies Using XML Schema , Noah
Mendelsohn
• Recent minutes of the Versioning Task force (Member-only link), with linked
references to earlier minutes.
External Resources
• [Editorial Draft] Versioning XML Languages Proposed TAG Finding, ed.
David Orchard and Norman Walsh.
• Web services = or != distributed objects?, David Orchard, 12 January 2004.
• Examining wildcards for versioning, David Orchard, 8 January 2004.
• Providing Compatible Schema Evolution, David Orchard, 19 January 2004.
From: http://www.w3.org/2005/05/xsd-versioning-resources.html
Some Resources
Collection of terminology and
proposed mechanisms
Working Group Resources
• XML Schema Versioning Use Cases , ed. Hoylen Sue, DSTC Pty Ltd.
• Framework for discussion of versioning , ed. Michael Sperberg-McQueen
• An Approach for Evolving XML Vocabularies Using XML Schema , Noah
Mendelsohn
• Recent minutes of the Versioning Task force (Member-only link), with linked
references to earlier minutes.
External Resources
• [Editorial Draft] Versioning XML Languages Proposed TAG Finding, ed.
David Orchard and Norman Walsh.
• Web services = or != distributed objects?, David Orchard, 12 January 2004.
• Examining wildcards for versioning, David Orchard, 8 January 2004.
• Providing Compatible Schema Evolution, David Orchard, 19 January 2004.
From: http://www.w3.org/2005/05/xsd-versioning-resources.html
Some Resources
White paper by Noah includes
general principles and some
mechanisms
Working Group Resources
• XML Schema Versioning Use Cases , ed. Hoylen Sue, DSTC Pty Ltd.
• Framework for discussion of versioning , ed. Michael Sperberg-McQueen
• An Approach for Evolving XML Vocabularies Using XML Schema , Noah
Mendelsohn
• Recent minutes of the Versioning Task force (Member-only link), with linked
references to earlier minutes.
External Resources
• [Editorial Draft] Versioning XML Languages Proposed TAG Finding, ed.
David Orchard and Norman Walsh.
• Web services = or != distributed objects?, David Orchard, 12 January 2004.
• Examining wildcards for versioning, David Orchard, 8 January 2004.
• Providing Compatible Schema Evolution, David Orchard, 19 January 2004.
From: http://www.w3.org/2005/05/xsd-versioning-resources.html
Some Resources
Working Group Resources
David Orchard is leading an
• XML Schema Versioning Use Cases
, ed. Hoylen
Sue,Versioning
DSTC Pty Ltd.
analysis
of XML
• Framework for discussion of versioning
Sperberg-McQueen
for, ed.
theMichael
W3C Technical
• An Approach for Evolving XML Vocabularies
Using Group
XML Schema
Architecture
(TAG), Noah
Mendelsohn
• Recent minutes of the Versioning Task force (Member-only link), with linked
references to earlier minutes.
External Resources
• [Editorial Draft] Versioning XML Languages Proposed TAG Finding, ed.
David Orchard and Norman Walsh.
• Web services = or != distributed objects?, David Orchard, 12 January 2004.
• Examining wildcards for versioning, David Orchard, 8 January 2004.
• Providing Compatible Schema Evolution, David Orchard, 19 January 2004.
From: http://www.w3.org/2005/05/xsd-versioning-resources.html
Some Principles
I.
II.
III.
Clean support for repeated revisions (>20)
Versioning SNA tied to namespaces
Don’t presume constructs in instance docs:
(e.g. <extension>)
IV. Forward/backward compatibility SNA
required: Breaking changes happen.
V. Check/enforce compatibility in tools
VI. Versions may or may not form sequence or
tree
VII. Revisions SNA expressed as deltas (see I.)
SNA = Sometimes Not Always
Restriction vs. Extension
• Restriction: base schema allows all future
content
–
–
–
–
Wildcards validate future content
UPA allows apps to know which content matched WC
Weak wildcards beat UPA problems
New wildcard matches: any elements I don’t know
about in this schema
• Extension:
– Base schema validates only version 1 content
– New processing modes indicate to apps which subset
of received content would have validated
Checking in Tools
• Allow tooling to check what content accepted by
S1 would be rejected by S2
• Allows tools to implement flexible policies for
users
• Decouples schema versioning from schema
document packaging and namespaces (unless
user wants to couple)
• Schema WG is building necessary technology
for simplified complex type restriction anyway.
More mechanisms in: http://www.w3.org/XML/2004/02/xsdv.html
Thank you!