Small language clarification in portType extension

Section 2.5.1 (The Port Type Operation Component) reads:

"Note:
Due to the above rules, if two port types that have the same value for 
their {target namespace} property also have one or more operations that 
have the same value for their {name} property then those two port types 
cannot both form part of the derivation chain of a derived port type. 
Therefore it is considered good practice to ensure that operation names 
within a namespace are unique, thus allowing such derivation to occur 
without error."

I suggest adding the word, "... if two DIFFERENT port types have the same 
value ...".  A reviewer questioned whether the current language meant that 
the diamond inheritance case is illegal (B extends A, C extends A, D 
extends B and C).  But, of course, we specifically decided the diamond 
inheritance case is legal, as reflected in the main normative text right 
above this, which reads:

"In cases where, due to a port type extending one or more other port types, 
two or more port type operation components have the same value for their 
{name} and {target namespace} properties, then the component models of 
those port type operation components MUST be equivalent (see 2.12 
Equivalence of components). If the port type operation components are 
equivalent then they are considered to collapse into a component. It is an 
error if two port type operation components have the same value for their 
{name} and {target namespace} properties but are not equivalent."

I think the addition of the word "different" would make the intent of this 
note more clear.

-Steve

Received on Thursday, 20 March 2003 20:54:09 UTC