110 likes | 220 Views
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
E N D
W3C XML Schema WGVersioning and ExtensibilityofSchemas 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 David Orchard is leading an analysis of XML Versioning for the W3C Technical Architecture Group (TAG) 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 Principles • Clean support for repeated revisions (>20) • Versioning SNA tied to namespaces • Don’t presume constructs in instance docs: (e.g. <extension>) • Forward/backward compatibility SNA required:Breaking changes happen. • Check/enforce compatibility in tools • Versions may or may not form sequence or tree • 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