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

RE: Doubly revised extensibility proposal

From: Jonathan Marsh <jmarsh@microsoft.com>
Date: Fri, 31 May 2002 10:21:25 -0700
Message-ID: <330564469BFEC046B84E591EB3D4D59C0634BF3A@red-msg-08.redmond.corp.microsoft.com>
To: <www-ws-desc@w3.org>

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

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

  <wsdl:extension namespace="uri1"/>
  <x xmlns="uri1"/>
  <y xmlns="uri1"/>
Received on Friday, 31 May 2002 13:22:39 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:06:23 UTC