<grammar xmlns="http://relaxng.org/ns/structure/1.0"> <start> <element name="data"> <interleave> <text/> <ref name="inline.class"/> </interleave> </element> </start> <define name="inline.class"> <choice> <element name="bold"> <ref name="inline"/> </element> <element name="italic"> <ref name="inline"/> </element> </choice> </define> <define name="inline"> <zeroOrMore> <choice> <text/> <element name="code"> <ref name="inline"/> </element> <element name="em"> <ref name="inline"/> </element> <!-- etc --> </choice> </zeroOrMore> </define> </grammar>