- From: mehdi bennani <mehdibennani@hotmail.com>
- Date: Wed, 03 Apr 2002 14:04:11 -0500
- To: W3C XML Schema Comments list <www-xml-schema-comments@w3.org>
Hi there, I have this core schema (Core.xsd) that describes a transport problem. It only contains some basic elements and complex-types and it is actually meant to be a base to extend from. Now my problem is this: How can I extend this Core.xsd schema, in say CoreExt1.xsd, by adding new elements and new types, derive from core-types and refer to these core elements without actually modifying/altering the core schema in this operation (all changes to be made are in the CoreExt1.xsd). I have tried using <xsd:redefine> to redefine the core complex-types, and it all worked fine for me until I needed to set some of the attributes (say Attribute A) newly defined in the new CoreExt1.xsd as unique (<xsd:unique>). The problem I run into is that the <xsd:unique> tag for, say attribute A (defined in the complex-type `someNewType`), cannot be defined inside the element that contains that attribute (`containingA` element). And, instead, it has to be defined in a parent of that element. (basically a scope problem) <xsd:element name="containingA" type="someNewType"> <xsd:unique name="UniqA"> <xsd:selector xpath="." /> <xsd:field xpath="@A" /> </xsd:unique> </xsd:element> (Note: I also thought of changing the selector xpath to ".//MyNamespace:Rootparent". It won't work!) Unfortunately, I don't have access to that parent element, while using redefine. (The same problem is encountered when using <xsd:key> !!) There might be a way around it using <redefine> ( I wish I could find it !) , but It has to be also a way of extending an XSD and being able to access all the elements in that XSD from within a new XSD. Thank you for your help. Mehdi Bennani Soft. Eng _________________________________________________________________ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx
Received on Wednesday, 3 April 2002 14:07:04 UTC