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

Re: "recursive" interface inheritance

From: Steve Graham <sggraham@us.ibm.com>
Date: Wed, 30 Apr 2003 17:32:47 -0400
To: www-ws-desc@w3.org, www-ws-desc-request@w3.org
Message-ID: <OF48D9C819.8290A9B6-ON85256D18.00765617@us.ibm.com>


Steve Graham
(919)254-0615 (T/L 444)
Emerging Technologies

                      Weerawarana"             To:       <www-ws-desc@w3.org>                                                          
                      <sanjiva@watson.i        cc:                                                                                     
                      bm.com>                  Subject:  Re: "recursive" interface inheritance                                         
                      Sent by:                                                                                                         
                      04/30/2003 03:19                                                                                                 

I would think that we should disallow circular inheritance like
what you indicate. I believe the wording was put into support
"diamond" inheritance where are single interface inherits the
same super interface via two or more inheritance paths.


----- Original Message -----
From: "Liu, Kevin" <kevin.liu@sap.com>
To: <www-ws-desc@w3.org>
Sent: Thursday, May 01, 2003 1:12 AM
Subject: "recursive" interface inheritance

> Hi all,
> The current editor draft of part 1 spec [1] reads like that extensions
be layered, but it doesn't say anything about if an interface can appear
multiple times in the inheritance hierarchy, for example,  is it legal for
interface A to extend interface B and C, while B extends A,  C extends B,
> and so on? For lack of good terms, I call it "recursive" inheritance.
> We did discuss how to handle operation name conflicts, and added the
following rule: " In cases where, due to a interface extending one or more
other interfaces, two or more interface operation components have the same
value for their {name} and {target namespace} properties, then the
> models of those interface operation components MUST be equivalent (see
2.15 Equivalence of components)If the interface operation components are
equivalent then they are considered to collapse into a single component. It
is an error if two interface operation components have the same value for
> {name} and {target namespace} properties but are not equivalent".
> "recursive" inheritance may be considered as a special situation for
operation name conflicts.  But I don't think it's the intention of this
group to allow "recursive" inheritance. If the group agree, It would be
helpful to make it explicit in the spec:
> -  layered extension should be allowed
> - "recursive" inheritance should be disallowed.
> [1]

> Best Regards,
> Kevin
Received on Wednesday, 30 April 2003 17:35:06 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:06:29 UTC