Re: Comments


The answer is "no", we mean more. The problem is that we are assigning 
QNames to "nested" components. In the case you cite, the Interface Fault 
component is nested in an Interface component. While the QName of the 
Interface component is enough to uniquely identlfy it, the Interface Fault 
QName is "local" to the parent Interface.

Put another way, each Interface component defines a new symbol space for 
Interface Fault component names.

We do have a way to globally identify an Interface Fault, and in fact any 
component. This identifier is defined in the media type Appendix A [1] 
where we define Fragment Ids for every WSDL 2.0 component. This is like 
the XML Schema Component Desiginators scheme since WSDL and XSD have 
similar structure and use of QNames.

It is convenient to associate a QName with an Interface Fault since we 
allow inheritance. The namespace of the InterfaceFault QName gives us an 
extra level of qualification and avoids name collisions when we combine 
Interfaces. However, we still can encounter collisions within a target 
namespace so it is a best practice to use unique QNames if you plan to use 
Interface extension.


Arthur Ryman,
Rational Desktop Tools Development

phone: +1-905-413-3077, TL 969-3077
assistant: +1-905-413-2411, TL 969-2411
fax: +1-905-413-4920, TL 969-4920
mobile: +1-416-939-5063, text:

Rich Salz <> 
Sent by:
05/27/2005 01:54 PM

Jonathan Marsh <>
Re: Comments

> After discussing this for some time, it became apparent there are
> multiple ways to interpret this comment.  For instance, we don't see any
> improper use of namespaces.  Can you elaborate a bit more, and point out
> what you think the worst example is so we can focus on this issue more
> directly?

I will try.  It's been awhile and I've forgotten many details.

Consider the last few paragraphs of section 2.3.1.

I don't understand the "Note" paragraphs.  Are they simply saying to 
compare two QName's, you ahve to compare (namespace-uri,local-name) and 
tha you can't just compare "foo:bar" and "foo:bar" since foo might have 
different bindings?

If the answer is yes, then my response is "well, duh" and you don't have 
to say this every single time.

If the answer is no, and that more is meant, then either I don't 
understand you, which is most likely, or you're using QName's "wrong."

Hope this helps.


Rich Salz, Chief Security Architect
DataPower Technology                 
XS40 XML Security Gateway

Received on Friday, 27 May 2005 18:35:11 UTC