<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<define name="apply.content" combine="choice">
<choice>
<group>
<ref name="cd.token.unary.class"/>
<ref name="ContExp"/>
</group>
<group>
<ref name="cd.token.binary.class"/>
<ref name="ContExp"/>
<ref name="ContExp"/>
</group>
<group>
<ref name="cd.token.nary.class"/>
<oneOrMore>
<ref name="ContExp"/>
</oneOrMore>
</group>
<ref name="cd.container.class"/>
</choice>
</define>
<define name="binder.class" combine="choice">
<ref name="cd.token.binder.class"/>
</define>
<define name="ContExp" combine="choice">
<choice>
<ref name="cd.token.unary.class"/>
<ref name="cd.token.binary.class"/>
<ref name="cd.token.nary.class"/>
<ref name="cd.token.class"/>
</choice>
</define>
<define name="ContExp" combine="choice">
<ref name="cd.container.class"/>
</define>
<define name="Token.type">
<ref name="Definition.attrib"/>
<ref name="MathML.Common.attrib"/>
</define>
<define name="MathMLtype">
<data type="string"/>
</define>
<define name="cd.token.class">
<notAllowed/>
</define>
<define name="cd.token.unary.class">
<notAllowed/>
</define>
<define name="cd.token.binary.class">
<notAllowed/>
</define>
<define name="cd.token.nary.class">
<notAllowed/>
</define>
<define name="cd.token.binder.class">
<notAllowed/>
</define>
<define name="cd.token.key.class">
<notAllowed/>
</define>
<define name="cd.token.error.class">
<notAllowed/>
</define>
<define name="cd.container.class">
<notAllowed/>
</define>
<include href="algebra-logic.rng"/>
<include href="basic-content-elements.rng"/>
<include href="calculus_veccalc.rng"/>
<include href="constants.rng"/>
<include href="errors.rng"/>
<include href="linear_algebra.rng"/>
<include href="relations.rng"/>
<include href="sequences_series.rng"/>
<include href="sets.rng"/>
<include href="specfun.rng"/>
<include href="statistics.rng"/>
</grammar>