"recursive" interface inheritance

Hi all,

The current editor draft of part 1 spec [1] reads like that extensions can 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 component
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 their
{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] http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.html#Interface

Best Regards, 
Kevin 

Received on Wednesday, 30 April 2003 15:12:52 UTC