Understanding Restrictions on Groups

I'm trying to understand what I can and can't do with restrictions on 
groups.

What I want to do is redefine a group in order to completely replace its 
members, rather than extending its members. What I have that works 
(using OxygenXML 8.2, which I believe uses XercesJ 2.9):

Base.xsd:

<xs:group name="a">
   <xs:sequence>
     <xs:element ref="A"/>
   </xs:sequence>
</xs:group>

Redefiner.xsd:

<xs:group name="b">
   <xs:sequence>
    <xs:element ref="B"/>
   </xs:sequence>
</xs:group>

<xs:redefine schemaLocation="Base.xsd">

   <xs:group name="a">
     <xs:choice>
       <xs:group ref="a"/>
       <xs:group ref="b"/>
     </xs:choice>
   </xs:group>
</xs:redefine>

But what I want is to disallow the element type "A" from the redefined 
group.

However, I can't see a way to do it and simply omitting the internal 
reference to the group "a" produces an invalid derivation error.

I must be missing something but so far I haven't figured out what it is. 
Surely it must be possible to do what I want or the redefinition 
mechanism is of somewhat limited utility (or at best, is not a complete 
solution to enabling reference-time configuration of schema components).

Thanks,

Eliot
-- 
W. Eliot Kimber
Professional Services
Innodata Isogen
8500 N. Mopac, Suite 402
Austin, TX 78759
(214) 954-5198

ekimber@innodata-isogen.com
www.innodata-isogen.com

Received on Monday, 25 June 2007 23:36:44 UTC