- From: Jean-Jacques Moreau <moreau@crf.canon.fr>
- Date: Thu, 30 May 2002 17:01:01 +0200
- To: Sanjiva Weerawarana <sanjiva@watson.ibm.com>
- CC: www-ws-desc@w3.org
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 11:02:26 UTC