Re: component designators spec - where art thou?

Sanjiva,

Even though the operation a#operation(Ia/o1) is inherited by the interface 
b#(Ib), it still has the same URI-reference, i.e. a#operation(Ia/o1) 
because it is defined in the a namespace.

The operations of interface b#interface(Ib) are:

a#operation(Ia/o1)
b#operation(Ib/o2)

To continue the example, if you added another operation to Ib, with the 
local name o1, then the operations of interface b#interface(Ib) would be:

a#operation(Ia/o1)
b#operation(Ib/o1)
b#operation(Ib/o2)

So you only need one URI to identify a component, namely the namepace 
where it is defined, not where it is used.

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
intranet: http://w3.torolab.ibm.com/DEAB/

"Sanjiva Weerawarana" <sanjiva@watson.ibm.com> wrote on 03/25/2004 
11:19:37 AM:

> Hi Arthur,
> 
> Just incorporated the new text with a few edits. Please review.
> 
> I'm a bit unsure about whether the operation syntax will
> work in the presence of inheritance. Consider:
> 
>     <definitions targetNamespace="a">
>       <interface name="Ia">
>         <operation name="o1"> .. </operation>
>       </interface>
>     </definitions>
> 
>     <definitions targetNamespace="b" xmlns:na="a">
>       <interface name="Ib" extends="na:Ia">
>         <operation name="o2"> .. </operation>
>       </interface>
>     </definitions>
> 
> Now b#operation(Ib/o2) is ok, but what about the other operation?
> Clearly b#operation(Ib/o1) is not ok!
> 
> The problem is that to identify the operation we MAY need to give
> two namespaces .. ala what we do in binding.
> 
> Sanjiva.

Received on Thursday, 25 March 2004 11:55:41 UTC