RE: LC124: Comment on V2S and [validity]=notKnown

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