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.