RE: Doubly revised extensibility proposal

This is the most fundametal difference to require by default or not in those *restricted* cases.
Otherwise it's of course all the same.

-- 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: Thursday, May 30, 2002 11:58 AM
To: www-ws-desc@w3.org
Subject: Re: Doubly revised extensibility proposal



They're both the same .. its just a question of what the default is: required or not. I was saying default is required and Jean-Jacques is saying that default is optional.

Both are obviously equal and both will work just fine.

Sanjiva.

----- Original Message -----
From: "Sedukhin, Igor" <Igor.Sedukhin@ca.com>
To: "Jean-Jacques Moreau" <moreau@crf.canon.fr>; "Sanjiva Weerawarana" <sanjiva@watson.ibm.com>
Cc: <www-ws-desc@w3.org>
Sent: Thursday, May 30, 2002 9:05 PM
Subject: RE: Doubly revised extensibility proposal


>
> Aha, wee we have at least two opposing opinions now :). This is why I 
> was
lobbying to open the content model properly and satisfy both camps with simple enough rules. We, even internally, have people who like it differently too.
>
> -- Igor Sedukhin .. (Igor.Sedukhin@ca.com)
> -- (631) 342-4325 .. 1 CA Plaza, Islandia, NY 11788
>
>
>
> -----Original Message-----
> From: Jean-Jacques Moreau [mailto:moreau@crf.canon.fr]
> Sent: Thursday, May 30, 2002 11:01 AM
> To: Sanjiva Weerawarana
> Cc: www-ws-desc@w3.org
> Subject: Re: Doubly revised extensibility proposal
>
>
>
> I think the emphasis should be more on which extensions must be 
> supported,
rather than on which extensions are optional. I would thus suggest that we swap the default as follows. This would also be more consistent with the default for the SOAP mustUnderstand attribute.
>
>     > How do I declare a >>required one<<?
>
>     You do it at on a per-element level using >>wsdl:required=true.<<
>
>     > So then how do I declare an >>optional extension<<?
>
>     Everything is >>optional unless otherwise indicated<< (see above).
>
> Jean-Jacques.
>
> Sanjiva Weerawarana wrote:
>
> > 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 12:25:26 UTC