Report about @ignoreUnknown to Schema WG/IG

Hi Paul.

This is the email I had prepared for the Schema IG. It should be a
good basis for your action item.

Cheers,

Hugo

----8<--

I am sending this email after discussion with Michael Sperberg-McQueen
about a new requirement for versioning in the current work happening
around XML Schema.

The gist of the email is that the Working Group made an important
distinction between unknown content and unexpected content, and
decided that it's the latter that is really interesting.

• Background information

At the Workshop on XML Schema 1.0 User Experiences, members of the Web
Services Description Working Group presented discussions in the
context of WSDL 2.0 about versioning of services and ignoring unknown
content:
- WSDL overview by Jonathan Marsh:
  http://www.w3.org/2005/06/21-xsd-user-minutes.html#item02
- discussion around our LC124 issue by Paul Downey:
  http://www.w3.org/2005/06/22-schema-workshop/LC124/slides.html and
  minutes at http://www.w3.org/2005/06/22-xsd-user-minutes.html#item03

For background information, LC124 against the first Last Call WD of
WSDL 2.0 is at:

    LC124: Support of evolution of messages described in Schema 1.0
    http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC124

• LC124 discussion

We considered adding an @ignoreUnkown marker to specify that a service
ignores ignore unkwown content:

  The "ignoreUnknown" property set to "true" denotes that the service
  accepts without faulting additional _unexpected items_ in messages
  sent to that service.  _Unexpected items_ are attributes and
  elements not defined by the schema for a particular element in the
  input message.  _Unexpected items_ may appear in any namespace
  including the targetNamespace of a known schema, as well as in a
  namespace for which no schema is currently known.  _Unexpected
  items_ includes the descendents of the item, such any child
  elements, attributes and content.  

We wanted to use Henry Thompson's V2S (validate twice with surgery) to
do this with existing XML Schema 1.0 technology.

A summary of the original proposal are at:

    Proposal for LC124
    http://lists.w3.org/Archives/Public/www-ws-desc/2005Jun/0012

However, we realized that there was a difference between ignoring
unknown content and unexpected content, unexpected content being
elements and attributes that may be otherwise known but were not
expected at this place in the message:

    LC124: Comment on V2S and [validity]=notKnown
    http://lists.w3.org/Archives/Public/www-ws-desc/2005Jul/0102.html

It turns out that the majority of the WG was much more interested in
ignoring unexpected content than unknown content, which I believe is
some feedback that would be interesting to Schema folks who have
mostly been considering unknown content in versioning scenarios.

As we were wary of designing such a mechanism from scratch at the last
minute just before starting another Last Call, the WG decided (after a
formal vote) to close the issue without action.

The (lengthy) discussion at the face-to-face is at:

    http://lists.w3.org/Archives/Public/www-ws-desc/2005Jul/att-0128/20050720-ws-desc-minutes.html#item04
    http://lists.w3.org/Archives/Public/www-ws-desc/2005Jul/att-0128/20050721-ws-desc-minutes.html#item01

• Epilogue

The WSDWG may do more work in order to come up with an
@ignoreUnexpected proposal and specification. In the meantime, this
report is to express what happened about @ignoreUnknown.

Cheers,

Hugo

-->8----

-- 
Hugo Haas - W3C
mailto:hugo@w3.org - http://www.w3.org/People/Hugo/

Received on Friday, 16 September 2005 11:36:47 UTC