RE: Doubly revised extensibility proposal

> 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