RE: Doubly revised extensibility proposal

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 Friday, 31 May 2002 13:22:39 UTC