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.)