<?xml version="1.0" encoding="iso-8859-1"?>

<!-- file: xhtml-list-1.rng

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved.
     Revision: $Id: xhtml-list-1.rng,v 1.1 2010/12/12 23:24:11 smccarro Exp $

     This RelaxNG module is identified by URI:
        
        http://www.w3.org/MarkUp/RELAXNG/xhtml-list-1.rng
     .................................................................... -->
<!-- List Module -->
<grammar xmlns="http://relaxng.org/ns/structure/1.0">

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

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

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

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

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

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

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

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

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

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

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

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

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

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

</grammar>
