RE: Diamond problem using extensions and substitution groups

XML Schema made a design decision to go with single rather than multiple 
inheritance in the type system.  First of all, there are quite a few 
complexities that come of doing multiple inheritance in any language. Look 
careuflly at what C++ does to achieve this, for example, and you'll 
realize that it's tricky.  In the particular case of XML, there is the 
issue that the order of elements is significant.  If you inherit from 
complex combinations of base types, it can be rather tricky to figure out 
what a sensible order for the actual content would be, and whether users 
would even like it.

Sunstitution groups in XML Schema depend on the type system, so the 
constraint to single inheritance is "inherited" there.

Noah

--------------------------------------
Noah Mendelsohn 
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------

Received on Wednesday, 16 August 2006 18:24:16 UTC