- From: Jacek Kopecky <jacek.kopecky@systinet.com>
- Date: Thu, 11 Mar 2004 16:16:33 +0100
- To: ygoland@bea.com
- Cc: WS-Description WG <www-ws-desc@w3.org>
Yaron, why appendix? Why not, say, section 3? (with all sections starting with the current 3 bumped up) I agree with Amy that the text doesn't belong in an appendix, but I could see it in a section following the functional definition section. On the other hand, I kinda see the drawbacks for implementors, and I think that the audience that would really benefit from your proposed changes is already targeted by the primer. Best regards, Jacek Kopecky Systinet Corporation http://www.systinet.com/ On Wed, 2004-03-10 at 19:00, Yaron Y. Goland wrote: > In writing a specification one tries to strike a balance between > readability and reference-ability. WSDL 2.0 has done a good job in > striking this balance by adopting a structure for section 2 where the > functional behaviors are described in sections 2.x.1 and infoset/xml > information is presented in sections 2.x.2 and 2.x.3. > > We would propose a small organizational change which we believe will > make WSDL 2.0's readability better without harming its > reference-ability. The purpose of this change is to let the reader focus > on the functional definition of the components in a single section and > then have a separate section to understand how the functional component > model is represented in the infoset and XML > > Specifically, we propose the following transformation: > > Step 1. A new appendix A entitled "Component Model XML/InfoSet Bindings > - Normative" should be added. All existing appendix's should have > their letters bumped up by one. > > Step 2. Appendix A should have a hierarchy structure that is identical > to the 2.x hierarchy structure. E.g. A.1 Definitions, A.2 Interface, etc. > > Step 3. All sections 2.x.2 and 2.x.3 should be moved into their > corresponding A.X and be renumbered A.x.1 and A.x.2. > > Step 4. Each 2.x title (e.g. 2.8 Binding) should be deleted and each > 2.x.1 title (e.g. 2.8.1 Binding Component) should be promoted (e.g. 2.8 > Binding Component). > > Step 5. At the end of each 2.x section the line "The [Insert Section > text title here] is represented in XML as:". Following this line the XML > short form schema definition should be copied from section A.x.1. E.g. > "The Binding Component is represented in XML as:". > > None of the previous applies to sections 2.14 - 2.16. > > I realize that step 5 introduces redundant text, the XML definition will > now appear in two sections. The reason for the redundancy is that I > think most people will more quickly grasp what's being said if they can > see the XML pseudo-schema. > > I have included a small sample of what section 2.1 would look like after > the suggested transformation. > > Thanks, > > Yaron > > > > ______________________________________________________________________ > > Web Services Description Language (WSDL) Version 2.0 Part 1: Core > Language > 2. Component Model > 2.1 Definitions Component > At the abstract level, the Definitions component is just a container > for two categories of component; WSDL components and type system > components. > > WSDL components are interfaces, bindings and services. > > Type system components are element declarations and type definitions > drawn from some type system. The former define the [local name], > [namespace name], [children] and [attributes] properties of an element > information item; the latter define only the [children] and > [attributes] properties. > > The properties of the Definitions component are as follows: > > * {interfaces} A set of named interface definitions > * {bindings} A set of named binding definitions > * {services} A set of named service definitions > * {element declarations} A set of named element declarations, > each one isomorphic to a global element declaration as defined > by XML Schema > > > The set of interfaces/binding/services/etc. available in the > Definitions component include those that are defined within the > component itself and those that are imported and/or included. Note > that at the component model level, there is no distinction between > directly defined components vs. imported/included components. > > The components directly defined within a single Definitions component > are said to belong to the same target namespace. The target namespace > therefore groups a set of related component definitions and provides a > hint of the intended semantics of the components. > > Note: > > It is RECOMMENDED that the value of the targetNamespace attribute > information item SHOULD be a dereferencible URI and that it resolve to > a WSDL document which provides service description information for > that namespace. > > If the service description is split into multiple documents (which may > be combined as needed via 4.1 Including Descriptions), then the > targetNamespace attribute information item SHOULD resolve to a master > document which includes all the WSDL documents for that namespace. > This approach enables the WSDL component designators' fragment > identifiers to be properly resolvable. > > Imported components have different target namespace values from the > Definitions component that is importing them. Thus importing is the > mechanism to use components from one namespace in another set of > definitions. > > Each WSDL or type/element component MUST be uniquely identified by its > qualified name. That is, if two distinct components of the same kind > (Interface, Binding etc.) are in the same target namespace, then their > QNames MUST be unique. However, different kids of components (e.g., an > Interface component and a Binding component) MAY have the same QName. > Thus, QNames of components must be unique within the space of those > components in a given target namespace. > > In addition to WSDL components and type and element components, > additional extension components MAY be added via extensibility 6. > Language Extensibility. Further, additional properties to WSDL and > type/element components MAY also be added via extensibility. > > The definitions component is represented in XML as: > > <definitions > > targetNamespace="xs:anyURI" > > > <documentation />? > > [ <import /> | <include /> ]* > > <types />? > > [ <interface /> | <binding /> | <service /> ]* > > </definitions> > > A. Component Model XML/InfoSet Bindings - Normative > A.1 Definitions > A.1.1 XML Representation of Definitions Component > <definitions > > targetNamespace="xs:anyURI" > > > <documentation />? > > [ <import /> | <include /> ]* > > <types />? > > [ <interface /> | <binding /> | <service /> ]* > > </definitions> > > > WSDL definitions are represented in XML by one or more WSDL > Information Sets (Infosets), that is one or more definitions element > information items. A WSDL Infoset contains representations for a > collection of WSDL components which share a common target namespace. A > WSDL Infoset which contains one or more import element information > items 4.2 Importing Descriptions corresponds to a collection with > components drawn from multiple target namespaces. > > The target namespace represents an unambiguous name for the intended > semantics of the WSDL Infoset. The targetNamespace URI SHOULD point to > a human or machine processable document that directly or indirectly > defines the semantics of the WSDL Infoset. > > The definitions element information item has the following Infoset > properties: > > * A [local name] of definitions . > * A [namespace name] of "http://www.w3.org/@@@@/@@/wsdl". > * One or more attribute information items amongst its > [attributes] as follows: > * A REQUIRED targetNamespace attribute information item as > described below in 2.1.2.1 targetNamespace attribute > information item. > * Zero or more namespace qualified attribute information items. > The [namespace name] of such attribute information items MUST > NOT be "http://www.w3.org/@@@@/@@/wsdl". > * Zero or more element information items amongst its [children], > in order as follows: > * An OPTIONAL documentation element information item (see 5. > Documentation). > * Zero or more element information items from among the > following, in any order: > * Zero or more include element information items (see 4.1 > Including Descriptions) > * Zero or more import element information items (see 4.2 > Importing Descriptions) > * Zero or more namespace-qualified element information items. > The [namespace name] of such element information items MUST > NOT be "http://www.w3.org/@@@@/@@/wsdl". > * An OPTIONAL types element information item (see 3. Types). > * Zero or more element information items from among the > following, in any order: > * interface element information items (see 2.2.2 XML > Representation of Interface Component). > * binding element information items (see 2.8.2 XML > Representation of Binding Component). > * service element information items (see 2.12.2 XML > Representation of Service Component). > * Zero or more namespace-qualified element information items. > The [namespace name] of such element information items MUST > NOT be "http://www.w3.org/@@@@/@@/wsdl". > > A.1.1.1 targetNamespace attribute information item > The targetNamespace attribute information item defines the namespace > affiliation of top-level components defined in this definitions > element information item. Interfaces, Bindings and Services are > top-level components. > > The targetNamespace attribute information item has the following > Infoset properties: > > * A [local name] of targetNamespace > * A [namespace name] which has no value > > > The type of the targetNamespace attribute information item is > xs:anyURI. > > > A.1.2 Mapping Definitions' XML Representation to Component Properties > The mapping between the properties of the Definitions component (see > 2.1.1 The Definitions Component) and the XML Representation of the > definitions element information item (see 2.1.2 XML Representation of > Definitions Component) is described in Table 2-1. > > Table 2-1. Mapping between > Definitions Component Properties > and XML Representation > > Property > > Mapping > > {interfaces} > > The interface definitions > corresponding to all the interface > element information items in the > [children] of the definitions > element information item, if any, > plus any included or imported > interface definitions (see 4. > Modularizing WSDL descriptions). > > {bindings} > > The binding definitions > corresponding to all the binding > element information items in the > [children] of the definitions > element information item, if any, > plus any included or imported > binding definitions (see 4. > Modularizing WSDL descriptions). > > {services} > > The service definitions > corresponding to all the service > element information items in the > [children] of the definitions > element information item, if any, > plus any included or imported > service definitions (see 4. > Modularizing WSDL descriptions). > > {element declarations} > > The element declaration components > corresponding to all the element > declarations defined as descendants > of the types element information > item, if any, plus any imported > element definitions. At a minimum > this will include all the global > element declarations defined by XML > Schema element element information > items. It MAY also include any > definition from some other type > system which describes the [local > name], [namespace name], > [attributes] and [children] > properties of an element > information item. >
Received on Thursday, 11 March 2004 10:16:40 UTC