- From: Jonathan Marsh <jmarsh@microsoft.com>
- Date: Fri, 31 May 2002 10:21:25 -0700
- 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
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