[XMLSCHEMA-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Diamond problem using extensions and substitution groups

From: Michael Kay <mike@saxonica.com>
Date: Wed, 16 Aug 2006 18:34:43 +0100
To: "'Antoli, Leo'" <Leo.Antoli@Misys.com>, <xml-dev@lists.xml.org>, <xmlschema-dev@w3.org>
Message-ID: <00f601c6c15a$431d2a00$6401a8c0@turtle>
RE: Diamond problem using extensions and substitution groups

I don't think there's any way you can have MyCar in the substitution groups
of both Car and MyVehicle without one being in the substitition group of the
other.

Given that constraint, you can make Car, MyVehicle, and MyCar all derive
from Vehicle by extension, using named model groups to reuse the definitions
of the added elements.

Michael Kay
http://www.saxonica.com/
 

> -----Original Message-----
> From: xmlschema-dev-request@w3.org 
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of Antoli, Leo
> Sent: 16 August 2006 17:35
> To: xml-dev@lists.xml.org; xmlschema-dev@w3.org
> Subject: Diamond problem using extensions and substitution groups
> 
> 
> Dear all,
> 
> I have the following schema element types:
> 
> 
> Vehicle  <---   MyVehicle
> 
>      ^               ^  
>      |               |
> 
>     Car    <-- 	 MyCar
> 
> 
> Vehicle is the base element type. Car extends from Vehicle.
> 
> I want to add new elements to Vehicle, so I've created MyVehicle.
> Now I want to extend Car with MyCar, but I want MyCar also to 
> have MyVehicle new child elements.
> 
> 
> Any idea about how to get this? I don't want to change or 
> redefine Vehicle or Car as they are official elements, but I 
> want to be able to extend them to add new child elements.
> 
> The problem in Java or other languages is only solved for 
> operations (using
> interfaces) but not for properties.
> 
> I was thinking in using element groups instead of inheritance 
> but then I can't use substitution groups. I want to use them 
> so I could be able to use MyVehicle in all places in a XML 
> document where Vehicle is allowed. 
> 
> Thank you very much.
> 
> Kind Regards,
> Leo Antoli
> 
> 
Received on Wednesday, 16 August 2006 17:35:00 GMT

Subscribe to the Stylus Scoop newsletter for helpful XML tips and tutorials.
Email
First Name
Last Name
Company

Download Stylus Studio 6 XML Enterprise Edition

Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.