<grammar xmlns="http://relaxng.org/ns/structure/1.0"> <define name="cd.token.unary.class" combine="choice"> <choice> <ref name="inverse.token"/> <ref name="ident.token"/> <ref name="domain.token"/> <ref name="codomain.token"/> <ref name="image.token"/> <ref name="otherwise.token"/> </choice> </define> <define name="cd.token.binary.class" combine="choice"> <choice> <ref name="interval.token"/> <ref name="piece.token"/> </choice> </define> <define name="cd.token.nary.class" combine="choice"> <choice> <ref name="compose.token"/> <ref name="piecewise.token"/> </choice> </define> <define name="cd.binder.class" combine="choice"> <ref name="lambda.token"/> </define> <define name="interval.content"> <ref name="Token.type"/> <optional> <attribute name="closure"> <ref name="MathMLtype"/> </attribute> </optional> </define> <define name="interval.token"> <element name="interval"> <ref name="interval.content"/> </element> </define> <define name="inverse.content"> <ref name="Token.type"/> </define> <define name="inverse.token"> <element name="inverse"> <ref name="inverse.content"/> </element> </define> <define name="lambda.content"> <ref name="Token.type"/> </define> <define name="lambda.token"> <element name="lambda"> <ref name="lambda.content"/> </element> </define> <define name="compose.content"> <ref name="Token.type"/> </define> <define name="compose.token"> <element name="compose"> <ref name="compose.content"/> </element> </define> <define name="ident.content"> <ref name="Token.type"/> </define> <define name="ident.token"> <element name="ident"> <ref name="ident.content"/> </element> </define> <define name="domain.content"> <ref name="Token.type"/> </define> <define name="domain.token"> <element name="domain"> <ref name="domain.content"/> </element> </define> <define name="codomain.content"> <ref name="Token.type"/> </define> <define name="codomain.token"> <element name="codomain"> <ref name="codomain.content"/> </element> </define> <define name="image.content"> <ref name="Token.type"/> </define> <define name="image.token"> <element name="image"> <ref name="image.content"/> </element> </define> <define name="piecewise.content"> <ref name="Token.type"/> <zeroOrMore> <ref name="ContExp"/> </zeroOrMore> </define> <define name="piecewise.token"> <element name="piecewise"> <ref name="piecewise.content"/> </element> </define> <define name="piece.content"> <ref name="Token.type"/> </define> <define name="piece.token"> <element name="piece"> <ref name="piece.content"/> </element> </define> <define name="otherwise.content"> <ref name="Token.type"/> </define> <define name="otherwise.token"> <element name="otherwise"> <ref name="otherwise.content"/> </element> </define> </grammar>