<?xml version="1.0" encoding="iso-8859-1"?>
<!-- List Module -->
<grammar xmlns="http://relaxng.org/ns/structure/1.0">

<define name="dl">
  <element name="dl">
    <ref name="dl.attlist"/>
    <oneOrMore>
      <choice>
	<ref name="dt"/>
	<ref name="dd"/>
      </choice>
    </oneOrMore>
  </element>
</define>

<define name="dl.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="dt">
  <element name="dt">
    <ref name="dt.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="dt.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="dd">
  <element name="dd">
    <ref name="dd.attlist"/>
    <ref name="Flow.model"/>
  </element>
</define>

<define name="dd.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="ol">
  <element name="ol">
    <ref name="ol.attlist"/>
    <oneOrMore>
      <ref name="li"/>
    </oneOrMore>
  </element>
</define>

<define name="ol.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="ul">
  <element name="ul">
    <ref name="ul.attlist"/>
    <oneOrMore>
      <ref name="li"/>
    </oneOrMore>
  </element>
</define>

<define name="ul.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="li">
  <element name="li">
    <ref name="li.attlist"/>
    <ref name="Flow.model"/>
  </element>
</define>  

<define name="li.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="List.class">
  <choice>
    <ref name="ul"/>
    <ref name="ol"/>
    <ref name="dl"/>
  </choice>
</define>

<define name="Block.class" combine="choice">
  <ref name="List.class"/>
</define>

</grammar>