- From: Glen Daniels <gdaniels@sonicsoftware.com>
- Date: Thu, 14 Apr 2005 14:38:38 -0400
- To: "Martin Gudgin" <mgudgin@microsoft.com>, "Matt Long" <mlong@mvsquared.net>, "David Booth" <dbooth@w3.org>
- Cc: <www-ws-desc@w3.org>
+1, then - perhaps I misunderstood what Matt was saying in his example that you +1'ed before. :) Thanks, --G > -----Original Message----- > From: Martin Gudgin [mailto:mgudgin@microsoft.com] > Sent: Thursday, April 14, 2005 1:59 PM > To: Glen Daniels; Matt Long; David Booth > Cc: www-ws-desc@w3.org > Subject: RE: Contradictions regarding transitivity of wsdl:import > > No, I'm saying the exact opposite. This is encapsulation. A imports B. > That's all A needs to do in order to use the stuff in B. A > doesn't need > to know that B imports C. > > Gudge > > > -----Original Message----- > From: Glen Daniels [mailto:gdaniels@sonicsoftware.com] > Sent: Thursday, April 14, 2005 10:33 AM > To: Martin Gudgin; Matt Long; David Booth > Cc: www-ws-desc@w3.org > Subject: RE: Contradictions regarding transitivity of wsdl:import > > > Hi Gudge, all: > > Are you saying that if I extend an interface "I" in namespace "foo" it > isn't good enough to import "foo", but I also MUST import any > namespaces > used by components inside "I"? In other words, the child WSDL below > would NOT be legal without <import namespace="http://NSGrandparent"/>? > > WSDL for "http://NSChild": > --------- > <import namespace="http://NSParent"/> > <interface name="child" extends="p:parent" > xmlns:p="http://NSParent"> > ... > </interface> > --------- > > > WSDL for "http://NSParent": > --------- > <import namespace="http://NSGrandparent"/> > <interface name="parent" extends="g:grandparent" > xmlns:g="http://NSGrandparent"> > ... > </interface> > --------- > > If so this seems a bit annoying. Does schema work this way? > > --Glen > > > -----Original Message----- > > From: www-ws-desc-request@w3.org > > [mailto:www-ws-desc-request@w3.org] On Behalf Of Martin Gudgin > > Sent: Thursday, April 14, 2005 1:15 PM > > To: Matt Long; David Booth > > Cc: www-ws-desc@w3.org > > Subject: RE: Contradictions regarding transitivity of wsdl:import > > > > > > +1 > > > > Gudge > > > > -----Original Message----- > > From: Matt Long [mailto:mlong@mvsquared.net] > > Sent: Thursday, April 14, 2005 3:58 AM > > To: David Booth; Martin Gudgin > > Cc: www-ws-desc@w3.org > > Subject: RE: Contradictions regarding transitivity of wsdl:import > > > > Correct me if I am wrong, but the value of wsdl:import is > that you can > > utilize a reference to a different target namespace than > the importing > > document. Therefore, in the list of QName encoded with > > 'extends' may be > > contain a QName that references a different target > namespace than the > > importing document such that wsdl:import is required. > > > > If A inherits B inherits C, where A imports B imports C, it seems > > imperative > > to understand which target namespaces A, B, C belong, and which > > documents > > wsdl:import which namespaces. > > > > Example 1: > > If 'A' imports 'B' imports 'C': then for 'A' inherits 'B' > inherits 'C' > > to > > exist: > > > > 'A' must wsdl:import *both* 'B' and 'C' namespaces. > > > > > > Example 1 is actually non-transitive (even if it does look that way) > > because > > *if* 'A' does not wsdl:import 'C' namespace, then only 'A' > > inherits 'B' > > (B > > does not inherit C with respect to 'A', which is what makes in > > non-transitive) > > > > >From [1] > > > > "...Specifically, it can be used to import components from WSDL > > descriptions > > that do not share a target namespace with the importing document. > > Components > > in directly imported descriptions are part of the component > > model of the > > importing description. Directly imported means that component > > importation is > > not transitive; components imported by one of the imported > > documents are > > not > > available to the original importing document unless the are imported > > directly by that document. ..." > > > > [1] http://www.w3.org/TR/wsdl20/#imports > > > > > > -- > > Matt Long > > MV Squared Technologies > > mlong@mvsquared.net > > 901-848-2640 > > > > > > --------- Original Message -------- > > From: David Booth <dbooth@w3.org> > > To: Martin Gudgin <mgudgin@microsoft.com> > > Cc: www-ws-desc@w3.org > > Subject: RE: Contradictions regarding transitivity of wsdl:import > > Date: 13/04/05 22:15 > > > > > > > > > > > Hi Gudge, > > > > > > I understand that the spec was intended to make wsdl:import be > > > non-transitive, but I'm not getting that when I try to follow the > > rules > > > that are stated for the component model. Can you point > me to where > > I'm > > > going wrong? > > > > > > Section 2.1.3, in the row for the {interfaces} property > > (for example) > > > says that its value is: > > > [[ > > > The set of Interface components corresponding to all the interface > > > element information items in the [children] of the > > description element > > > information item, if any, plus any included or imported Interface > > > components (see 4. Modularizing WSDL descriptions) > > > ]] > > > So in the "A imports B imports C" example, let's > > assume that > > the > > > {interfaces} property for A, B and C are the sets Ai, Bi and Ci, > > > respectively. Further assume that I already know the set > Ci, and I > > now > > > want to determine Bi (i.e., the {interfaces} property for B). > > > > > > According to the section 2.1.3 rule excerpted above, I > > would conclude > > > that the set Bi consists of the union of {"The set > of Interface > > > components corresponding to all the interface element information > > items > > > in the [children] of the description element information > > item" of > > B} > > and > > > Ci. (I.e., Ci is a subset of Bi.) Correct? Is Ci a > subset of Bi? > > If > > > not, please explain why not. If Ci *is* a subset of Bi, > then when A > > > imports B, by the same rule Bi would be a subset of Ai, > > which implies > > > that Ci would also be a subset of Ai. > > > > > > In other words, I don't see how this rule is > differentiating between > > the > > > Ci subset of Bi, and the rest of the Bi set. You're saying that > > "the > > > components defined in B are in one namespace whereas the > > components B > > > imports from C are in another namespace", but I > don't see where > > this > > > namespace differentiation is reflected in the component model. > > AFAICT, > > > the {interfaces} property for B is simply a set that > > includes Ci as a > > > subset, per the section 2.1.3 rule excerpted above. > > > > > > Can you explain further, what you think the rule should be > > (or how you > > > think I should interpret it differently) for computing > the value of > > the > > > {interfaces} property? > > > > > > > > > On Wed, 2005-04-13 at 14:30, Martin Gudgin wrote: > > > > > > > > > -----Original Message----- > > > > > From: www-ws-desc-request@w3.org > > > > > [mailto:www-ws-desc-request@w3.org] On Behalf Of > > David Booth > > > > > Sent: 13 April 2005 10:38 > > > > > To: www-ws-desc@w3.org > > > > > Subject: Contradictions regarding transitivity of > > wsdl:import > > > > > > > > > > > > > > > Statements in Part 1 about the meaning of > > wsdl:import appear > > to > > be > > > > > contradictory. On one hand, sec 4.2 says that > wsdl:import > > is > > not > > > > > transitive. On the other hand, sec 2.1.1 says > there is no > > difference > > > > > between included/imported components and > > components derived > > > > > directly from a > > > > > WSDL 2.0 document, and this logically leads to > > import being > > > > > transitive. > > > > > > > > I don't understand why you would draw this > conclusion. The only > > > > difference between imported and included conmponents is that > > included > > > > components are in one namespace and imported > components are in > > another. > > > > > > > > > > > > > > Suppose WSDL document A imports WSDL document B, which > > imports > > WSDL > > > > > document C, which neither includes nor imports anything. > > The > > > > > components of > > > > > C will be only the components derived directly > > from the XML > > > > > Infoset of > > > > > C. Since B imports C, clearly the set of > components for B > > > > > will include the > > > > > set of components for C. > > > > > > > > > So far so good. But A now imports > > > > > B, so what > > > > > components will A have? We have already > established that > > the > > set of > > > > > components of B includes the set of components > from C as a > > > > > subset. > > > > > > > > wsdl:import like xs:import is namespace based. The components > > defined > > in > > > > C and not in the same namespace as the compontents > defined in B > > and > > so > > > > only the components from B are imported into A. > > > > > > > > > Since > > > > > there is no distinction made between the subset of > > components > > that > > > > > originated in C and the other components, the > > components of > > A > > must > > > > > therefore also include the components of C as a subset. > > This > > > > > contradicts > > > > > the statement that "wsdl:import is not > > transitive". > > > > > > > > > > The basic problem here is that the spec is > > referring to the > > > > > *components* of > > > > > the imported document. Those components only > exist if we > > > > > interpret the > > > > > meaning of the imported document according to > the WSDL 2.0 > > > > > specification, > > > > > at which point there is no way to know whether those > > imported > > > > > components > > > > > originated in the imported document or another document > > > > > (transitively). > > > > > > > > Yes there is. As noted above the components defined > in B are in > > one > > > > namespace whereas the components B imports from C are > > in another > > > > namespace. The wsdl:import in A specifies that it is > importing > > > > components in the namespace of B. > > > > > > > > > > > > > > Here are the relevant excerpts from the spec: > > > > > > > > > > Part 1 sec 4.2 Importing Descriptions > > > > > > > http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20 > > > > > .html?content-type=text/html;%20charset=utf-8#imports > > > > > second paragraph says: > > > > > [[ > > > > > Components in directly imported descriptions are > > part of the > > > > > component > > > > > model of the importing description. Directly > > imported means > > > > > that component > > > > > importation is not transitive; components > > imported by one of > > > > > the imported > > > > > documents are NOT available to the original importing > > > > > document unless the > > > > > are imported directly by that document. > > > > > ]] > > > > > > > > > > But section 2.1.1 The Description Component > > > > > > > http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20 > > > > > > > .html?content-type=text/html;%20charset=utf-8#Description_details > > > > > sixth paragraph says: > > > > > [[ > > > > > The set of interfaces/binding/services/etc. > > available in the > > > > > Description > > > > > 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. > > > > > ]] > > > > > Furthermore, sec 2.1.3 Mapping Description's XML > > Representation > > to > > > > > Component Properties > > > > > > > http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20 > > > > > > > .html?content-type=text/html;%20charset=utf-8#Description_Mapping > > > > > also shows no distinction between components that > > originated > > > > > in the WSDL > > > > > 2.0 document and components that originated in an > > > > > included/imported document. > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > David Booth > > > > > W3C Fellow / Hewlett-Packard > > > > > Telephone: +1.617.253.1273 > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > David Booth > > > W3C Fellow / Hewlett-Packard > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ________________________________________________ > > This message has been sent via webmail. > > Please forward unsolicited email (spam) to... > > abuse@hostonce.com > > > > > > > > > >
Received on Thursday, 14 April 2005 18:38:43 UTC