1<?xml version="1.0" encoding="iso-8859-1"?> 2<!-- Basic Tables Module --> 3<grammar xmlns="http://relaxng.org/ns/structure/1.0"> 4 5<define name="table"> 6 <element name="table"> 7 <ref name="table.attlist"/> 8 <optional> 9 <ref name="caption"/> 10 </optional> 11 <oneOrMore> 12 <ref name="tr"/> 13 </oneOrMore> 14 </element> 15</define> 16 17<define name="table.attlist"> 18 <ref name="Common.attrib"/> 19 <optional> 20 <attribute name="summary"> 21 <ref name="Text.datatype"/> 22 </attribute> 23 </optional> 24</define> 25 26<define name="caption"> 27 <element name="caption"> 28 <ref name="caption.attlist"/> 29 <ref name="Inline.model"/> 30 </element> 31</define> 32 33<define name="caption.attlist"> 34 <ref name="Common.attrib"/> 35</define> 36 37<define name="tr"> 38 <element name="tr"> 39 <ref name="tr.attlist"/> 40 <oneOrMore> 41 <choice> 42 <ref name="th"/> 43 <ref name="td"/> 44 </choice> 45 </oneOrMore> 46 </element> 47</define> 48 49<define name="tr.attlist"> 50 <ref name="Common.attrib"/> 51 <ref name="CellHAlign.attrib"/> 52 <ref name="CellVAlign.attrib"/> 53</define> 54 55<define name="th"> 56 <element name="th"> 57 <ref name="th.attlist"/> 58 <ref name="Flow.model"/> 59 </element> 60</define> 61 62<define name="th.attlist"> 63 <ref name="Cell.attrib"/> 64</define> 65 66<define name="td"> 67 <element name="td"> 68 <ref name="td.attlist"/> 69 <ref name="Flow.model"/> 70 </element> 71</define> 72 73<define name="td.attlist"> 74 <ref name="Cell.attrib"/> 75</define> 76 77<define name="Cell.attrib"> 78 <ref name="Common.attrib"/> 79 <optional> 80 <attribute name="abbr"> 81 <ref name="Text.datatype"/> 82 </attribute> 83 </optional> 84 <optional> 85 <attribute name="axis"/> 86 </optional> 87 <optional> 88 <attribute name="headers"> 89 <ref name="IDREFS.datatype"/> 90 </attribute> 91 </optional> 92 <ref name="scope.attrib"/> 93 <optional> 94 <attribute name="rowspan"> 95 <ref name="Number.datatype"/> 96 </attribute> 97 </optional> 98 <optional> 99 <attribute name="colspan"> 100 <ref name="Number.datatype"/> 101 </attribute> 102 </optional> 103 <ref name="CellHAlign.attrib"/> 104 <ref name="CellVAlign.attrib"/> 105</define> 106 107<define name="CellHAlign.attrib"> 108 <optional> 109 <attribute name="align"> 110 <choice> 111 <value>left</value> 112 <value>center</value> 113 <value>right</value> 114 </choice> 115 </attribute> 116 </optional> 117</define> 118 119<define name="CellVAlign.attrib"> 120 <optional> 121 <attribute name="valign"> 122 <choice> 123 <value>top</value> 124 <value>middle</value> 125 <value>bottom</value> 126 </choice> 127 </attribute> 128 </optional> 129</define> 130 131<define name="scope.attrib"> 132 <optional> 133 <attribute name="scope"> 134 <choice> 135 <value>row</value> 136 <value>col</value> 137 </choice> 138 </attribute> 139 </optional> 140</define> 141 142<define name="Block.class" combine="choice"> 143 <ref name="table"/> 144</define> 145 146</grammar>