- From: <paul.downey@bt.com>
- Date: Fri, 15 Dec 2006 12:50:15 -0000
- To: <www-ws-desc@w3.org>
I took an Action to look at the "Guide to Versioning XML Languages using XML Schema 1.1": http://www.w3.org/TR/2006/WD-xmlschema-guide2versioning-20060928/ This first Working Draft, edited by our very own David Orchard, introduces a variety of techniques for evolving XML messages made possible using the XML Schema 1.1 specification, itself a Working Draft as of 31 Aug: http://www.w3.org/TR/2006/WD-xmlschema11-1-20060831/ This document may be seen as a mini-Primer, introducing the new features for "versioning" provided by XML Schema 1.1 Reading the document, I was unclear which examples were valid XML Schema 1.0 documents, which cases relied up additional features of an XML Schema 1.1 processor, and which used the additional elements and attributes introduced by XML Schema 1.1. Also in some cases I had to play "spot the difference" between two similar messages, some judicious highlighting may help. The document discusses new features of XML Schema 1.1: 1. Weak wildcards - permits wildcards adjacent to optional elements 2. Updated All Group - wildcards within All Group 3. Negative wildcard - exclude specific namespaces and names These operate by relaxing where xs:any may occur and adding new syntax in the form of a "notQName" attribute to xs:any, e.g: <xs:any notQName="name:name name:given name:family" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> I'd like to see a table/guide of of new XML Schema 1.1 syntax with references to the spec. I'm unclear of the expected impact of passing the additional syntax to existing XML Schema 1.0 processors. It would be helpful if the document explained how to identify schemas containing the new constructs if indeed the xs namespace hasn't changed. The document also cites mechanisms that are possible/probable/under discussion for the next Working Draft (of Schema 1.1?). I found this interesting, but less easy to grasp: 4. Fallback To Declared Type - use declared type if xsi:type is unknown 5. Auto-insertion of wildcards 6. Not in Schema wildcard - a wildcard that allows anything not defined in the current schema Of these, personally I think (5) and (6) are particularly interesting as they go towards final proposals and discussions made under our LC124 which changed how an existing XML Schema 1.0 document may be processed differently to allow more open content. Except, AIUI, the examples all use a new "openContenct" (name not fixed) model group, e.g.: <xs:openContent namespace="##any" processContents="lax"> <xs:element .../> <xs:element .../> </xs:openContent> I didn't spot a way to engage this flexibility at the schema level, or globally when processing existing Schema documents, which must be how many people would like to work. If this isn't allowed, hightlighting the restriction would be useful. I personally find the use of xsi:type (4) rather worrying: http://blog.whatfettle.com/2006/11/29/xsitype-is-evil/ There are also placeholder sections for: 12.5 Version numbers 12.6 MustUnderstand Overall I'm concerned at the wide variety of new features and techniques being introduced, and the strong likely hood how few will be implemented in a consistent manor by implementations across the board, but it's good to see them enumerated in a single focussed document. The document lacks a reference section, cites the 31 August XML Schema 1.1 WD, but doesn't AFAICT link to it. -------------------------------------------- Proposed WG Actions: We should first congratulate the XML Schema WG for pursuing this very important topic, of interest to the WSD WG and providing what appears to be a number features directly targeted at enabling the description of Web services messages which may evolve. We should reference this document as from the Primer in the list of works "relevant to versioning of Web services description" in Section 5.2. We can also now remove the Primer ednote: """ 20050706 This section may be subject to change dependent upon the outcome of the WSDL Last Call Issue LC124, which discusses support compatible evolution of messages described using XML Schema 1.0. """ Let's plan to review the note formally when it's closer to final publication. Paul
Received on Friday, 15 December 2006 12:50:36 UTC