<grammar xmlns=“relaxng.org/ns/structure/1.0”>

<define name="inline">
  <zeroOrMore>
    <ref name="inline.class"/>
  </zeroOrMore>
</define>

<define name="inline.class">
  <choice>
    <text/>
    <element name="bold">
      <ref name="inline"/>
    </element>
    <element name="italic">
      <ref name="inline"/>
    </element>
  </choice>
</define>

<start>
  <element name="doc">
    <zeroOrMore>
      <element name="p">
        <ref name="inline"/>
      </element>
    </zeroOrMore>
  </element>
</start>

<define name="inline.class" combine="choice">
  <choice>
    <element name="code">
      <ref name="inline"/>
    </element>
    <element name="em">
      <ref name="inline"/>
    </element>
  </choice>
</define>

</grammar>