- From: Roberto Chinnici <roberto.chinnici@sun.com>
- Date: Thu, 06 Jun 2002 09:49:25 -0700
- To: www-ws-desc@w3.org
Although Glen got the action item, I tried to write up today's version of the extensibility proposal, since it seems quite close to the one I circulated last week (or at least that's what Glen and I thought when we discussed the matter a couple of days ago). Glen, by all means correct me if I got this wrong! 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. 2. Modify the wsdl grammar (section 2.1 of the spec) to add Required Extension Declarations immediately inside a wsdl:definition element: <wsdl:definitions name="nmtoken"? targetNamespace="uri"?> <wsdl:requiredExtension name="uri"/>* <wsdl:import namespace="uri" location="uri"/>* <!-- rest of the wsdl grammar follows --> [Required 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. Remove the wsdl:required attribute defined in WSDL 1.1. 4. Mandate the following processing model: a) Required Extension Declarations A processor that encounters a Required Extension Declaration and that does not recognize its name MUST stop processing the wsdl document at once. A processor that recognizes a Required Extension Declaration 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. Since the name of a Required Extension Declaration is a URI, it can be used as a namespace name. In the interest of user-friendliness, it is recommended that the specification for an extension define the semantics of all elements defined in its namespace. It is also recommended that the effect of the processing rules specified by a given extension be as localized as possible; in particular, their effect should be local to elements that contain Extensions belonging to that particular vocabulary. b) Recognized Extensions A processor MUST attempt to process all Extensions it recognizes. c) Unrecognized Extensions A processor MUST ignore all extensions that it doesn't recognize.
Received on Thursday, 6 June 2002 12:49:41 UTC