2.6. Example of X-definition with groups
Note that in the X-definition below, the models of the "xd:mixed" and "xd:choice" groups are listed:
<xd:def xmlns:xd="http://www.xdef.org/xdef/4.2" xd:name =FO" xd:root="Owner" >
<Person Firstname ="string(1,30);"
Familyname="string(1,30);" />
<Family>
<Father xd:script="optional; ref Person;" />
<Mother xd:script="required; ref Person;" />
<xd:mixed>
<Son xd:script="occurs *; ref Person;" />
<Daughter xd:script="occurs *; ref Person;" />
</xd:mixed>
<Address xd:script="ref Address;" />
</Family>
<Owner>
<xd:choice>
<Person xd:script="ref Person;" >
<Address xd:script="ref Address;" />
</Person>
<Company xd:script="ref Company;" />
</xd:choice>
</Owner>
<Company name="string();" >
<Address xd:script="ref Address;" />
</Company>
<Address Street="string(1,30);" Number="optional int();" City="string();" />
</xd:def>
You can try it
HERE