RE: Doubly revised extensibility proposal

We seem to be contending a lot on the requiredness of extension elements that appear in the WSDL document. How about we separate the requiredness processing rules from extensions and try to accept the extensions proposal that way. We'll leave requiredness for further discussion just as we did with annotations.

In other words, extensions are all the elements/attributes from other than WSDL namespace that appear in the document. Unless anything otherwise stated, it's up to the WSDL processor to take care of the extension elements/attributes and its requiredness. If WSDL processor does not understand an extension, it can still try to process WSDL document.

And we will define wsdl:required and wsdl:extension with proper processing rules separately from the above statement.

-- Igor Sedukhin .. (Igor.Sedukhin@ca.com)
-- (631) 342-4325 .. 1 CA Plaza, Islandia, NY 11788



-----Original Message-----
From: Roberto Chinnici [mailto:roberto.chinnici@sun.com] 
Sent: Sunday, June 02, 2002 11: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 Monday, 3 June 2002 10:08:59 UTC