- From: Arthur Ryman <ryman@ca.ibm.com>
- Date: Wed, 20 Jul 2005 17:50:45 -0400
- To: "David Orchard" <dorchard@bea.com>
- Cc: "Arthur Ryman" <arthur.ryman@gmail.com>, www-ws-desc@w3.org, www-ws-desc-request@w3.org
- Message-ID: <OFF96E6099.C65123CE-ON85257044.007772B6-85257044.0077FE08@ca.ibm.com>
David, As we discussed today, the use case is that a customer wants to evolve their message to include <nad:country/> which is already defined in a corporate schema but not in the V1 version of the <shipTo> schema. They create V2 which adds <nad:country> but don't want existing V1 clients to break when they recieve the V2 messages. The <nad:country/> would be defined as optional in V2. It is therefore additive content. We want to ignore it. It is known but unexpected according to V1 of the <shipTo> schema. Arthur Ryman, Rational Desktop Tools Development phone: +1-905-413-3077, TL 969-3077 assistant: +1-905-413-2411, TL 969-2411 fax: +1-905-413-4920, TL 969-4920 mobile: +1-416-939-5063, text: 4169395063@fido.ca intranet: http://labweb.torolab.ibm.com/DRY6/ "David Orchard" <dorchard@bea.com> Sent by: www-ws-desc-request@w3.org 07/20/2005 02:47 PM To "Arthur Ryman" <arthur.ryman@gmail.com>, <www-ws-desc@w3.org> cc Subject RE: LC124: Comment on V2S and [validity]=notKnown If the customer has <nad:country> in their type library and this gets validated, then what's the problem? If they don't have <nad:country> then it gets ignored. If they want to say shipTo must have <and:country>, then they come up with a new type and the one with <nad:country> will fail because it's not valid. This is all goodness. Cheers, Dave > -----Original Message----- > From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org] On > Behalf Of Arthur Ryman > Sent: Tuesday, July 19, 2005 8:02 PM > To: www-ws-desc@w3.org > Subject: LC124: Comment on V2S and [validity]=notKnown > > > I reviewed Henry Thomas' presentation [1] that described the validate > twice with surgery (V2S) algorithm for ignoring additive content. This > algorithm makes certain assumptions about the additive content, which > I think need examination. > > The basis of V2S is that a schema processor attempts to validate a > message and in the process makes contributions to the PSVI. The key > contribution being the [validity] property which can be valid, > invalid, or notKnown. The later means that validation has not been > attempted because, e.g. there is no declaration available for the > element. > > Consider the following example from Henry's presentation: > > <shipTo> > <ad:name>HM Queen</ad:name> > <ad:street>Buck House</ad:street> > <ad:city>London</ad:city> > <nad:country>UK</nad:country> > </shipTo> > > Here it is supposed that the <nad:country> element has been added to > version 2 of the schema for the message. After attempting validation, > the <nad:country> element has [validity]=notKnown, presumably because > the processor only has version 1 of the schema available. The surgery > step chops this element out, and then the message is valid wrt version > 1. > > I am troubled by this approach because it assumes you will only add > elements that are brand new, i.e. are not part of version 1 or any > schema it references. > > I work with one customer that defines standard elements for common > data items such as customer ids, account numbers, etc. These are used > as the building blocks of messages. It seems very likely to me that > this customer may want to add one of these predefined elements to an > existing message. Even Henry's example suggest this type of > versioning. Adding something as standard as a country would likely be > done using an existing element declaration. So the element is in fact > known in this case, and the first validation pass would mark it as > [validity]=valid. The enclosing <shipTo> would still be invalid since > <nad:country> is not part of its content model. In this case V2S fails > to give the desired result. > > I think we need to carefully understand the assumptions behind V2S and > decide if they are useful enough in practice to be enshrined in WSDL > 2.0. > > [1] http://www.markuptechnology.com/XMLEu2004/
Received on Wednesday, 20 July 2005 21:50:53 UTC