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

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

From: Martin Gudgin <martin.gudgin@btconnect.com>
Date: Wed, 17 Apr 2002 09:09:35 +0100
Message-ID: <001c01c1e5e7$36990a90$b47ba8c0@zerogravitas>
To: "Jonathan Marsh" <jmarsh@microsoft.com>, <www-ws-desc@w3.org>

----- 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.

What do you mean here by 'default namespace'. Do you mean the namespace
which does not have a prefix? Or the namespace specified by the
targetNamespace attribute? I have a feeling you must mean the latter, as the
former is already supported by the QName resolution mechanism in XML Schema.

I really don't think we should go there. It would take us out of line with
XML Schema, for no good technical reason. I also think that potentially
having two defaults, the 'default' from targetNamespace and the default if
someone says xmlns='urn:baz:quux' leads to even more confusion.

Gudge
Received on Wednesday, 17 April 2002 04:09:34 GMT

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