Use trang:
<xs:element name="book">
<xs:complexType>
<xs:sequence>
<xs:group ref="db:db.book.info"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="db:db.navigation.components"/>
<xs:element ref="db:db.components"/>
<xs:element ref="db:db.divisions"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="db:db.book.attlist"/>
</xs:complexType>
</xs:element>
(Approximates the RELAX NG patterns for MathML/SVG extensions because of wildcard limitations.)