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

Re: Doubly revised extensibility proposal

From: Sanjiva Weerawarana <sanjiva@watson.ibm.com>
Date: Thu, 30 May 2002 20:43:26 +0600
Message-ID: <00c101c207e8$6c3ed760$0aaa7cca@lankabook2>
To: <www-ws-desc@w3.org>

Yep, that's exactly what I was proposing! Simple, ain't it? ;-)

To answer your questions:

    > So then how do I declare an optional extension?

    You do it at on a per-element level using wsdl:required=false.

    > How do I declare a required one?

    Everything is required unless otherwise indicated (see above).

Sanjiva.

----- Original Message -----
From: "Sedukhin, Igor" <Igor.Sedukhin@ca.com>
To: "Jonathan Marsh" <jmarsh@microsoft.com>; <www-ws-desc@w3.org>
Sent: Thursday, May 30, 2002 8:27 PM
Subject: RE: Doubly revised extensibility proposal


>
> Oh, no :), I hope he didn't mean that. Sanjiva, could you please
elaborate...
>
> -- 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: Thursday, May 30, 2002 10:23 AM
> To: www-ws-desc@w3.org
> Subject: RE: Doubly revised extensibility proposal
>
>
>
> My guess is Sanjiva means something like:
>
>                          -- wsdl:extension omitted
>                          |     -- wsdl:extension present
>                          |     |
>                          |     |
>                          |     |
> @wsdl:required omitted  ERR   MUST
> @wsdl:required false    ERR   MAY
> @wsdl:required true     ERR   MUST
>
> -----Original Message-----
> From: Sedukhin, Igor [mailto:Igor.Sedukhin@ca.com]
> Sent: Thursday, May 30, 2002 7:18 AM
> To: Sanjiva Weerawarana; Jonathan Marsh; Roberto Chinnici;
www-ws-desc@w3.org
> Subject: RE: Doubly revised extensibility proposal
>
> So then how do I declare an optional extension? How do I declare a
required one?
> The table was merely summarizing that. There is no way to understand it
from the simple form below.
> -- Igor Sedukhin .. (Igor.Sedukhin@ca.com)
> -- (631) 342-4325 .. 1 CA Plaza, Islandia, NY 11788
>
> -----Original Message-----
> From: Sanjiva Weerawarana [mailto:sanjiva@watson.ibm.com]
> Sent: Wednesday, May 29, 2002 10:59 PM
> To: Sedukhin, Igor; Jonathan Marsh; Roberto Chinnici; www-ws-desc@w3.org
> Subject: 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 Thursday, 30 May 2002 10:45:21 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:20 GMT