W3C home > Mailing lists > Public > www-ws-desc@w3.org > April 2002

RE: issue: support cross references within a WSDL file using ncnames?

From: Jonathan Marsh <jmarsh@microsoft.com>
Date: Wed, 24 Apr 2002 14:38:35 -0700
Message-ID: <330564469BFEC046B84E591EB3D4D59C05C06078@red-msg-08.redmond.corp.microsoft.com>
To: "Anne Thomas Manes" <anne@manes.net>, <www-ws-desc@w3.org>
> -----Original Message-----
> From: Anne Thomas Manes [mailto:anne@manes.net]
> Sent: Wednesday, April 24, 2002 6:03 AM
> To: Sanjiva Weerawarana; www-ws-desc@w3.org
> Subject: RE: issue: support cross references within a WSDL file using
> ncnames?
> 
> I have one concern regarding this discussion. Jonathan said:
> 
> > > That is, the targetNamespace attribute acts as a kind of default
> > > namespace for name attributes, but not for type attributes.
> 
> The default namespace is whatever namespace is defined as xmlns="uri"
--
> and
> in most circumstances, the default namespace (if there is one) is the
wsdl
> namespace, not the targetnamespace.

That's why I said "kind of" a default namespace.  Perhaps this was a
poor description.  The full name of an abstract portType (for instance)
is really the combination the value of the name attribute (the local
name) and the value of the targetNamespace attribute.  References to the
portType require the full name, represented as a QName.  I think that's
the fundamental usability problem recorded in this issue - that in some
places the abstract name is represented using targetNamespace/name and
in some places a QName.  (Please correct me if I've missed the whole
point of the issue here :-)

I imagine the primary reason for the two different forms is that they
allow different syntactic restrictions.  For instance,
targetNamespace/name forces all the names in the document to come from
the same targetNamespace, while QName allows references to imported
items.

> If we're following schema syntax rules, then we should require a Qname
in
> the <binding type= attribute. After all it might refer to a <portType>
> defined in an imported schema.

I believe that is what WSDL 1.1 does now.

> Anne
> 
> > -----Original Message-----
> > From: www-ws-desc-request@w3.org
[mailto:www-ws-desc-request@w3.org]On
> > Behalf Of Sanjiva Weerawarana
> > Sent: Wednesday, April 24, 2002 7:34 AM
> > To: www-ws-desc@w3.org
> > Subject: Re: issue: support cross references within a WSDL file
using
> > ncnames?
> >
> >
> > Discussion on this topic seems to have died down. Do we have
> > consensus to leave intra-document cross-refs as-is with
> > improved wording?
> >
> > Sanjiva.
> >
> > ----- Original Message -----
> > From: "Martin Gudgin" <martin.gudgin@btconnect.com>
> > To: "Jonathan Marsh" <jmarsh@microsoft.com>; <www-ws-desc@w3.org>
> > Sent: Wednesday, April 17, 2002 3:59 AM
> > Subject: Re: issue: support cross references within a WSDL file
using
> > ncnames?
> >
> >
> > > I would suggest we leave WSDL in line with XML Schema. In XML
Schema
> the
> > > name AIIs of things are all NCNames and the names of things at the
> > top-level
> > > ( child EIIs of the schema EII ( let's forget about keys for
> > now )) become
> > > part of the target namespace for that schema. So the full name of
such
> > > constructs is a QName; {namespace name, localname}. All references
in
> > schema
> > > are QNames; element refs, attribute refs, group refs, attribute
> > group refs
> > > and type refs ( again leaving keys out )
> > >
> > > This AFAIR is the state of affairs in WSDL today WRT message,
> > portType and
> > > binding. All of these constructs have a name AII which becomes
> > part of the
> > > target namespace. message EIIs are referred to by message AIIs on
> input,
> > > output and fault EIIs. portType EIIs are referred to by the
> > type AII on a
> > > binding EII. binding EIIs are referred to by the binding AII on a
port
> > EII.
> > >
> > > The element and type AIIs on part EIIs can also be used to refer
to
> > > constructs in XML Schema in the same way.
> > >
> > > This approach works. It's been proven to work in XML Schema. It
> > deals well
> > > with constructs from multiple namespaces. It helps when building
> modular
> > > descriptions. I can't see any reason why we would want to move
away
> from
> > > this.
> > >
> > > Gudge
> > >
> > > ----- Original Message -----
> > > From: "Jonathan Marsh" <jmarsh@microsoft.com>
> > > To: <www-ws-desc@w3.org>
> > > Sent: Tuesday, April 16, 2002 10:34 PM
> > > Subject: RE: issue: support cross references within a WSDL file
using
> > > ncnames?
> > >
> > >
> > > > Hmmm, I got something completely different, and less
> > fundamental, out of
> > > > the discussion of this issue at the FTF.
> > > >
> > > >   <definitions name="StockQuote"
> > > >       targetNamespace="http://example.com/stockquote.wsdl"
> > > >       xmlns:tns="http://example.com/stockquote.wsdl"
> > > >       ...>
> > > >     <portType name="StockQuotePortType"
> > > >       ...
> > > >     </portType>
> > > >     <binding name="StockQuoteSoapBinding"
> > type="tns:StockQuotePortType">
> > > >       ...
> > > >     </binding>
> > > >     ...
> > > >   </definitions>
> > > >
> > > > What I thought Keith said at the FTF is that it is common to
> > forget the
> > > > "tns:" in the binding/type attribute.  The type attribute looks
like
> a
> > > > reference to the name attribute, but the lexical values don't
match.
> > > > That is, the targetNamespace attribute acts as a kind of default
> > > > namespace for name attributes, but not for type attributes.
> > It's a bit
> > > > confusing that xmlns declarations aren't used for placing
something
> in
> > > > the namespace, but they are used for referring to that
something.
> The
> > > > redundancy of the information carried by the targetNamespace and
> > > > xmlns:tns attributes clearly shows that parallel mechanisms are
> > > > employed.
> > > >
> > > > Some possible (mostly syntactic) solutions are:
> > > > 1) Make both name and type QNames.  But then it's different from
XML
> > > > Schema.
> > > > 2) Make both name and type NCNames.  But then it's different
from
> XML
> > > > Schema.
> > > > 3) Make the type attribute recognize the default namespace of
the
> WSDL
> > > > document -- I think that's the suggestion in the issue text.
But
> then
> > > > it's not a real xs:QName.
> > > > 4) Make sure the spec or primer addresses this point of
confusion
> > > > thoroughly.  But then who reads the spec :-).
> > > >
> > > > Did I totally miss Keith's point?
> > > >
> > > > > -----Original Message-----
> > > > > From: Sanjiva Weerawarana [mailto:sanjiva@watson.ibm.com]
> > > > > Sent: Friday, April 12, 2002 9:21 PM
> > > > > To: www-ws-desc@w3.org
> > > > > Subject: issue: support cross references within a WSDL file
using
> > > > ncnames?
> > > > >
> > > > > The WG would like to solicit your comments on whether we
should
> > > > > support references within a WSDL document with just an NCName
> > > > > instead of always requiring a QName.
> > > > >
> > > > > Here's the issue from the latest part1 document:
> > > > >
> > > > > <issue id="issue-references-with-qname">
> > > > >   <head>Should intra-namespace references using only
localParts be
> > > > >         supported?</head>
> > > > >   WSDL 1.1 requires all references to be QNames. For example,
a
> > > > >   reference to a portType from a binding element must always
use
> > > > >   a QName even if that portType is in the same namespace and
even
> > > > >   if it is defined in the same document. It would be
convenient
> > > > >   to support local part references for intra-namespace
references.
> > > > >   <source>Sanjiva Weerawarana</source>
> > > > > </issue>
> > > > >
> > > > > Sanjiva.
> > > >
> >
Received on Wednesday, 24 April 2002 17:39:08 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:19 GMT