- From: Jonathan Marsh <jmarsh@microsoft.com>
- Date: Tue, 28 May 2002 15:44:21 -0700
- To: "Roberto Chinnici" <roberto.chinnici@sun.com>, <www-ws-desc@w3.org>
> One small change that might go unnoticed is that the default value for
the
> "required" attribute of a wsdl:extension element is now "true".
So Jeffrey's table changes from:
-- wsdl:extension omitted
| -- wsdl:extension @required omitted
| | -- wsdl:extension @required false
| | | -- wsdl:extension @required
true
| | | |
@wsdl:required omitted MAY MAY MAY MUST
@wsdl:required false MAY MAY MAY MAY
@wsdl:required true MUST MUST MUST MUST
to:
-- 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
> -----Original Message-----
> From: Roberto Chinnici [mailto:roberto.chinnici@sun.com]
> Sent: Tuesday, May 28, 2002 11:58 AM
> To: www-ws-desc@w3.org
> Subject: Doubly revised extensibility proposal
>
> Here's the latest version of the extensibility proposal.
>
> I extended it (excuse the pun) with attribute extensions, since we've
been
> discussing
> them on the mailing list. Also, I got rid of the "recommendations"
section
> (since it
> doesn't seem to belong with the rest) and moved some paragraphs
around.
>
> One small change that might go unnoticed is that the default value for
the
> "required" attribute of a wsdl:extension element is now "true".
>
> Regards,
> Roberto
>
> --
> Roberto Chinnici
> Java and XML Software
> Sun Microsystems, Inc.
>
> ========
>
> 1. Allow extension elements on every WSDL element, e.g. by adding
> <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
> processContents="lax"/>
> to every complex type in the WSDL schema.
>
> Similarly, allow extension attributes on every WSDL element, e.g. by
> adding
> <xsd:anyAttribute namespace="##other" processContents="lax"/>.
>
> Any element or attribute matching the rules above is an Extension.
For
> clarity,
> in what follows we'll sometime use the terms Element Extension
(resp.
> Attribute
> Extension) to indicate an Extension which is an element (resp. an
> attribute).
>
> 2. Modify the wsdl grammar (section 2.1 of the spec) to add Extension
> Declarations immediately inside a wsdl:definition element:
>
> <wsdl:definitions name="nmtoken"? targetNamespace="uri"?>
>
> <wsdl:extension namespace="uri" required="boolean"?/>*
>
> <wsdl:import namespace="uri" location="uri"/>*
>
> <!-- rest of the wsdl grammar follows -->
>
> The default value for the "required" attribute of the
"wsdl:extension"
> element is "true".
>
> [Extension Declarations are at the beginning of the document
> so that by the time a processor sees any non-trivial wsdl
content,
> it's aware of all the processing rules.]
>
> [Later on, we'll want to add all built-in extensions to the set of
> required
> extension namespace names, so that they don't get declared in
each
> wsdl document.]
>
> 3. Keep the wsdl:required attribute (of type xsd:boolean) from WSDL
1.1.
> This
> attribute is meaningful only when applied to Element Extensions.
>
> 4. Define the following terms:
>
> The "set of extension namespace names" is formed by collecting
> the values of all the "namespace" attributes of the
"wsdl:extension"
> elements.
>
> The "set of required extension namespace names" is formed by
> collecting the values of all the "namespace" attributes of the
> "wsdl:extension"
> elements whose "required" attribute has a value of "true".
>
> An Attribute Extension is Required if its namespace name is a
member
> of the set
> of required extension namespace names.
>
> An Element Extension is Required if: (a) its namespace name is a
> member of
> the set of required extension namespace names AND the Extension
does
> not
> have a wsdl:required attribute whose value is "false", or (b) the
> Extension
> has a wsdl:required attribute whose value is "true".
>
> 5. Mandate the following processing model:
>
> a) Extension Declarations
>
> A processor that encounters an Extension Declaration whose
> "required"
> attribute has the value of "true" and that does not recognize
its
> namespace
> MUST stop processing the wsdl document at once.
>
> A processor that recognizes an Extension Declaration whose
> "required"
> attribute has the value of "true" MUST obey its rules for the
> entire duration
> of its processing of the wsdl document in which it appears.
Such
> rules are
> allowed to override other wsdl processing rules defined by
this
> specification.
>
> It is recommended that the effect of these rules be as
localized
> as possible;
> in particular, their effect SHOULD be local to elements that
> contain
> Extensions belonging to that particular vocabulary.
>
> b) Required Extensions
>
> A processor that encounters a Required Extension and that
either
> doesn't
> recognize its vocabulary or fails to process it successfully
MUST
> stop
> processing the wsdl document.
>
> c) Other Extensions
>
> A processor that encounters an Extension which is not Required
and
> whose
> vocabulary it does not recognize MUST ignore it.
>
> A processor that encounters an Extension which is not Required
and
> whose
> vocabulary it understands MUST attempt to process it following
the
> rules
> for that vocabulary. In case of failure, the processor MUST
> continue
> processing the document as if the Extension had not been
present
> (thus
> having the same effect as if the Extension's vocabulary had
not
> been
> recognized by the processor).
>
Received on Tuesday, 28 May 2002 18:44:27 UTC