<?xml version="1.0" encoding="UTF-8"?>
<grammar ns="http://www.w3.org/2002/06/xhtml2"
         xmlns="http://relaxng.org/ns/structure/1.0"
         xmlns:x="http://www.w3.org/1999/xhtml">

<x:p>Checks exclusions applying to the line element.
     This schema is intended to be used in addition to xhtml2.rng.</x:p>

  <start>
    <ref name="normalElement"/>
  </start>

  <define name="normalElement">
    <element>
      <anyName>
        <except>
          <name>line</name>
        </except>
      </anyName>
      <ref name="normalContent"/>
    </element>
  </define>

  <define name="normalContent">
    <zeroOrMore>
      <choice>
        <ref name="normalElement"/>
        <ref name="lineElement"/>
        <ref name="anyAttribute"/>
        <text/>
      </choice>
    </zeroOrMore>
  </define>

  <define name="lineElement">
    <element name="line">
      <ref name="lineContent"/>
    </element>
  </define>

  <define name="lineContent">
    <zeroOrMore>
      <choice>
        <element>
          <anyName>
            <except>
              <name>line</name>
            </except>
          </anyName>
          <ref name="lineContent"/>
        </element>
        <ref name="anyAttribute"/>
        <text/>
      </choice>
    </zeroOrMore>
  </define>

  <define name="anyAttribute">
    <attribute>
      <anyName/>
    </attribute>
  </define>

</grammar>
