+
+<!ENTITY % TML.node "i|n|o|sp|sb|g|c|row|cell|cursor">
+
+<!ENTITY % TML.common.attrib "
+ id CDATA #IMPLIED
+ xref CDATA #IMPLIED
+">
+
+<!ELEMENT tex (math|cursor)>
+
+<!ELEMENT math (g)>
+<!ATTLIST math
+ %TML.common.attrib;
+ display (0|1) true
+>
+
+<!ELEMENT i EMPTY>
+<!ATTLIST i
+ %TML.common.attrib;
+ val CDATA #REQUIRED
+ name NMTOKEN #IMPLIED>
+<!ELEMENT n EMPTY>
+<!ATTLIST n
+ %TML.common.attrib;
+ val CDATA #REQUIRED
+ name NMTOKEN #IMPLIED>
+<!ELEMENT o EMPTY>
+<!ATTLIST o
+ %TML.common.attrib;
+ val CDATA #REQUIRED
+ name NMTOKEN #IMPLIED>
+
+<!ELEMENT row (cell)+>
+<!ELEMENT cell (%TML.node;)>
+
+<!ELEMENT sb (%TML.node;,%TML.node;)>
+<!ATTLIST sb
+ %TML.common.attrib;
+ under (0|1) #IMPLIED
+>
+<!ELEMENT sp (%TML.node;,%TML.node;)>
+<!ATTLIST sp
+ %TML.common.attrib;
+ over (0|1) #IMPLIED
+>
+
+<!ELEMENT g (%TML.node;)+>
+<!ATTLIST g %TML.common.attrib;>
+
+<!ELEMENT c (%TML.node;)+>
+<!ATTLIST c
+ %TML.common.attrib;
+ name NMTOKEN #REQUIRED
+ left-open (0|1) #IMPLIED>
+
+<!ELEMENT cursor EMPTY>
+<!ATTLIST %TML.common.attrib; val CDATA #REQUIRED>
+