Creating XML Schemas

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