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, 17 April 2002 03:59:13 UTC