<?xml version="1.0" encoding="iso-8859-1"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<!-- $Id: table.rng 42702 2004-03-13 12:34:18Z gregor $ -->
    
<!-- Tables Module -->
<!-- This builds on the basic tables module, unlike with the DTD
implementation. -->
<grammar xmlns="http://relaxng.org/ns/structure/1.0">

<include href="basic-table.rng">

  <define name="table">
    <element name="table">
      <ref name="table.attlist"/>
      <optional>
	<ref name="caption"/>
      </optional>
      <choice>
	<zeroOrMore>
	  <ref name="col"/>
	</zeroOrMore>
	<zeroOrMore>
	  <ref name="colgroup"/>
	</zeroOrMore>
      </choice>
      <choice>
	<group>
	  <optional>
	    <ref name="thead"/>
	  </optional>
	  <optional>
	    <ref name="tfoot"/>
	  </optional>
	  <oneOrMore>
	    <ref name="tbody"/>
	  </oneOrMore>
	</group>
	<oneOrMore>
	  <ref name="tr"/>
	</oneOrMore>
      </choice>
    </element>
  </define>

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

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

  <define name="CellHAlign.attrib">
    <optional>
      <attribute name="align">
	<choice>
	  <value>left</value>
	  <value>center</value>
	  <value>right</value>
	  <value>justify</value>
	  <value>char</value>
	</choice>
      </attribute>
    </optional>
    <optional>
      <attribute name="char">
	<ref name="Character.datatype"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="charoff">
	<ref name="Length.datatype"/>
      </attribute>
    </optional>
  </define>

  <define name="CellVAlign.attrib">
    <optional>
      <attribute name="valign">
	<choice>
	  <value>top</value>
	  <value>middle</value>
	  <value>bottom</value>
	  <value>baseline</value>
	</choice>
      </attribute>
    </optional>
  </define>

  <define name="scope.attrib">
    <optional>
      <attribute name="scope">
	<choice>
	  <value>row</value>
	  <value>col</value>
	  <value>rowgroup</value>
	  <value>colgroup</value>
	</choice>
      </attribute>
    </optional>
  </define>

</include>

<define name="table.attlist" combine="interleave">
  <optional>
    <attribute name="width">
      <ref name="Length.datatype"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="border">
      <ref name="Pixels.datatype"/>
    </attribute>
  </optional>
  <ref name="frame.attrib"/>
  <ref name="rules.attrib"/>
  <optional>
    <attribute name="cellspacing">
      <ref name="Length.datatype"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="cellpadding">
      <ref name="Length.datatype"/>
    </attribute>
  </optional>
</define>

<define name="col">
  <element name="col">
    <ref name="col.attlist"/>
  </element>
</define>

<define name="col.attlist">
  <ref name="Common.attrib"/>
  <optional>
    <attribute name="span">
      <ref name="Number.datatype"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="width">
      <ref name="MultiLength.datatype"/>
    </attribute>
  </optional>
  <ref name="CellHAlign.attrib"/>
  <ref name="CellVAlign.attrib"/>
</define>

<define name="colgroup">
  <element name="colgroup">
    <ref name="colgroup.attlist"/>
    <zeroOrMore>
      <ref name="col"/>
    </zeroOrMore>
  </element>
</define>

<define name="colgroup.attlist">
  <ref name="Common.attrib"/>
  <optional>
    <attribute name="span">
      <ref name="Number.datatype"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="width">
      <ref name="MultiLength.datatype"/>
    </attribute>
  </optional>
  <ref name="CellHAlign.attrib"/>
  <ref name="CellVAlign.attrib"/>
</define>

<define name="tbody">
  <element name="tbody">
    <ref name="tbody.attlist"/>
    <oneOrMore>
      <ref name="tr"/>
    </oneOrMore>
  </element>
</define>

<define name="tbody.attlist">
  <ref name="Common.attrib"/>
  <ref name="CellHAlign.attrib"/>
  <ref name="CellVAlign.attrib"/>
</define>

<define name="thead">
  <element name="thead">
    <ref name="thead.attlist"/>
    <oneOrMore>
      <ref name="tr"/>
    </oneOrMore>
  </element>
</define>

<define name="thead.attlist">
  <ref name="Common.attrib"/>
  <ref name="CellHAlign.attrib"/>
  <ref name="CellVAlign.attrib"/>
</define>

<define name="tfoot">
  <element name="tfoot">
    <ref name="tfoot.attlist"/>
    <oneOrMore>
      <ref name="tr"/>
    </oneOrMore>
  </element>
</define>

<define name="tfoot.attlist">
  <ref name="Common.attrib"/>
  <ref name="CellHAlign.attrib"/>
  <ref name="CellVAlign.attrib"/>
</define>

<define name="frame.attrib">
  <optional>
    <attribute name="frame">
      <choice>
        <value>void</value>
        <value>above</value>
        <value>below</value>
        <value>hsides</value>
        <value>lhs</value>
        <value>rhs</value>
        <value>vsides</value>
        <value>box</value>
        <value>border</value>
      </choice>
    </attribute>
  </optional>
</define>

<define name="rules.attrib">
  <optional>
    <attribute name="rules">
      <choice>
        <value>none</value>
        <value>groups</value>
        <value>rows</value>
        <value>cols</value>
        <value>all</value>
      </choice>
    </attribute>
  </optional>
</define>

</grammar>