- From: Martin Gudgin <mgudgin@microsoft.com>
- Date: Thu, 14 Apr 2005 10:59:18 -0700
- To: "Glen Daniels" <gdaniels@sonicsoftware.com>, "Matt Long" <mlong@mvsquared.net>, "David Booth" <dbooth@w3.org>
- Cc: <www-ws-desc@w3.org>
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 17:59:22 UTC