Re: Doubly revised extensibility proposal

I would still prefer to just have the simple form in the first
WD and make it more powerful (as the following supports) later
if we feel the need for it.

This my personal approach: I don't like to solve problems
that I don't know exist. If there are no use-cases, or expected
use-cases, that justify this flexibility then I'm -1 on putting
it in.

The simple form is:

    Declare extension namespace:
        <wsdl:extension namespace="anyURI"/>

    Use it:
        .. somewhere xmlns:ext="anyURI"
        .. <ext:fooElem .../> or ext:barAttr="value"

    Indicate not requiredness:
        <ext:fooElem wsdl:required="false" ../>

The simple form doesn't have attribute level optionality. IMO
that's ok.

Sanjiva.

----- Original Message -----
From: "Sedukhin, Igor" <Igor.Sedukhin@ca.com>
To: "Jonathan Marsh" <jmarsh@microsoft.com>; "Roberto Chinnici"
<roberto.chinnici@sun.com>; <www-ws-desc@w3.org>
Sent: Thursday, May 30, 2002 6:47 AM
Subject: RE: Doubly revised extensibility proposal


> That is right. Let's embed the second table into the spec. I'm +1.
>
> -- Igor Sedukhin .. (Igor.Sedukhin@ca.com)
> -- (631) 342-4325 .. 1 CA Plaza, Islandia, NY 11788
>
>
>
> -----Original Message-----
> From: Jonathan Marsh [mailto:jmarsh@microsoft.com]
> Sent: Tuesday, May 28, 2002 6:44 PM
> To: Roberto Chinnici; www-ws-desc@w3.org
> Subject: 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 Wednesday, 29 May 2002 23:00:30 UTC