W3C home > Mailing lists > Public > www-ws-desc@w3.org > June 2002

RE: Doubly revised extensibility proposal

From: Jonathan Marsh <jmarsh@microsoft.com>
Date: Tue, 4 Jun 2002 13:11:03 -0700
Message-ID: <330564469BFEC046B84E591EB3D4D59C0634C28F@red-msg-08.redmond.corp.microsoft.com>
To: "Roberto Chinnici" <roberto.chinnici@sun.com>
Cc: <www-ws-desc@w3.org>

I don't think you addressed my point.  Yes, case (1) seems interesting
until you look at it and realize that the presence of a single element
not marked as optional causes the WSDL (along with all of the elements
marked as optional) to fail.  So the net effect is as I describe below,
that there is utility in marking the namespace as required, and
individual elements as optional unless they are ALL optional.  In this
case having both namespace and element-level granularity doesn't provide
any benefit.

I think your MUST/MUST NOT terminology is what MAY/MUST originally
intended (though I've taken the table out of context).  I have certainly
been looking at the output of the extensibility proposal as a boolean
answer to the question - "Do I understand this WSDL or not?"  This
should be a simple calculation based on the namespaces in use in the
WSDL document, the list of extensions a processor understands,
represented by a list of URIs or QNames or whatever, and the wsdl
extension flags such as wsdl:extension and @wsdl:required.

> -----Original Message-----
> From: Roberto Chinnici [mailto:roberto.chinnici@sun.com]
> Sent: Sunday, June 02, 2002 8:21 PM
> To: Jonathan Marsh
> Cc: www-ws-desc@w3.org
> Subject: Re: Doubly revised extensibility proposal
> 
> With the current proposal, there is a difference between the following
> two cases: (1) having a required extension declaration and an
extension
> element belonging to it and marked optional; (2) having a required
> extension
> declaration and an extension element belonging to it and marked as
> required
> (either by specifying wsdl:required="true" or omitting it).
> 
> The difference is in the behavior of a processor in case of failure at
> handling the extension element: in the first case, the processor MUST
> continue processing the document as if the extension element had not
> been present, while in the second case it MUST abort processing.
> 
> Incidentally, this shows that there are some aspects of the processing
> rules contained in my proposal which are not captured by the table.
> This can be seen as being either good or bad, of course!
> 
> Roberto
> 
> 
> Jonathan Marsh wrote:
> >
> > During the telcon it occurred to me that a couple of values in the
table
> > for Roberto's proposal have little practical value.
> >
> >                         -- wsdl:extension omitted
> >                         |    -- wsdl:extension @required omitted
> >                         |    |    -- wsdl:extension @required false
> >                         |    |    |    -- wsdl:extension @required
true
> >                         |    |    |    |
> > @wsdl:required omitted MAY  MUST MAY  MUST
> > @wsdl:required false   MAY >MAY< MAY >MAY<
> > @wsdl:required true    MUST MUST MUST MUST
> >
> > The values marked >MAY< enable an extension namespace to be marked
as
> > required, while making specific elements in that namespace optional,
as
> > in the following example:
> >
> >   <wsdl:extension namespace="uri1" required="true"/>
> >   ...
> >   <x xmlns="uri1"/>
> >   ...
> >   <y xmlns="uri1" wsdl:required="false"/>
> >
> > But, a WSDL processor not understanding the uri1 namespace will stop
> > when it sees the first required use of this namespace.  So,
> > wsdl:required="false" only has utility if there is no wsdl:extension
> > with required="true" (in which case wsdl:required="false" is a
no-op),
> > or if every occurrence of the namespace is marked as
> > wsdl:required="false" (in which case the presence of wsdl:extension
with
> > required="true" is somewhere between irrelevant and semantically
> > inaccurate).
> >
> > The inverse also seems to have little utility:  wsdl:extension with
> > required="false" and wsdl:required="true".
> >
> >   <wsdl:extension namespace="uri1" required="false"/>
> >   ...
> >   <x xmlns="uri1" wsdl:required="true"/>
> >   ...
> >   <y xmlns="uri1"/>
> >
> > The presence of wsdl:required="true" means that a processor not
> > understanding the uri1 namespace will stop.  The optionality of
> > non-required use of the namespace will not change the behavior.
> >
> > So, it seems to me that a single instance of a required extension is
> > enough to cause the whole WSDL to crash and burn.  Doesn't this mean
> > that any need for finer granularity than a namespace is an illusion?
> > What differences in behavior are there between the two examples
above
> > and the example below?  Doesn't this mean that @wsdl:required is
> > unnecessary?
> >
> >   <wsdl:extension namespace="uri1"/>
> >   ...
> >   <x xmlns="uri1"/>
> >   ...
> >   <y xmlns="uri1"/>
Received on Tuesday, 4 June 2002 16:11:36 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:20 GMT