summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-table.rng
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rng/xhtml-table.rng')
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-table.rng263
1 files changed, 263 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-table.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-table.rng
new file mode 100644
index 00000000000..89d5acc42a5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-table.rng
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Tables Module -->
+ <!--
+ This builds on the basic tables module, unlike with the DTD
+ implementation.
+ -->
+ <include href="xhtml-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">
+ <interleave>
+ <ref name="th.attlist"/>
+ <ref name="Flow.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="td">
+ <element name="td">
+ <interleave>
+ <ref name="td.attlist"/>
+ <ref name="Flow.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="CellHAlign.attrib">
+ <interleave>
+ <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>
+ </interleave>
+ </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">
+ <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>
+ </interleave>
+ </define>
+ <define name="col">
+ <element name="col">
+ <ref name="col.attlist"/>
+ </element>
+ </define>
+ <define name="col.attlist">
+ <interleave>
+ <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"/>
+ </interleave>
+ </define>
+ <define name="colgroup">
+ <element name="colgroup">
+ <interleave>
+ <ref name="colgroup.attlist"/>
+ <zeroOrMore>
+ <ref name="col"/>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="colgroup.attlist">
+ <interleave>
+ <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"/>
+ </interleave>
+ </define>
+ <define name="tbody">
+ <element name="tbody">
+ <interleave>
+ <ref name="tbody.attlist"/>
+ <oneOrMore>
+ <ref name="tr"/>
+ </oneOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="tbody.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <ref name="CellHAlign.attrib"/>
+ <ref name="CellVAlign.attrib"/>
+ </interleave>
+ </define>
+ <define name="thead">
+ <element name="thead">
+ <interleave>
+ <ref name="thead.attlist"/>
+ <oneOrMore>
+ <ref name="tr"/>
+ </oneOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="thead.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <ref name="CellHAlign.attrib"/>
+ <ref name="CellVAlign.attrib"/>
+ </interleave>
+ </define>
+ <define name="tfoot">
+ <element name="tfoot">
+ <interleave>
+ <ref name="tfoot.attlist"/>
+ <oneOrMore>
+ <ref name="tr"/>
+ </oneOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="tfoot.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <ref name="CellHAlign.attrib"/>
+ <ref name="CellVAlign.attrib"/>
+ </interleave>
+ </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>