MathML DTD
<!-- Content model for content and presentation -->
<!-- and browser interface tags in MathML -->
<!-- status = draft. date = 9.May.1997 syntax = XML -->
<!-- author = s.buswell sb@stilo.demon.co.uk -->
<!-- revised 14.May.1997 by Robert Miner -->
<!-- revised 29.June.1997 and 2.July.1997 by s.buswell -->
<!-- -->
<!-- revised 20-21.December.1997 by s.buswell -->
<!-- -->
<!-- ************************************************* -->
<!-- general attribute definitions for class & style & other -->
<!-- : attributes shared by all mathml elements -->
<!ENTITY % att-class-style 'class CDATA #IMPLIED
style CDATA #IMPLIED
other CDATA #IMPLIED' >
<!-- ************************************************* -->
<!-- Presentation tag element set -->
<!-- presentation attribute definitions -->
<!ENTITY % att-fontsize 'fontsize CDATA #IMPLIED' >
<!ENTITY % att-fontweight 'fontweight (plain | bold) "plain"' >
<!ENTITY % att-fontslant 'fontslant (plain | italic) #IMPLIED' >
<!ENTITY % att-fontfamily 'fontfamily CDATA #IMPLIED' >
<!ENTITY % att-fontcolor 'fontcolor CDATA #IMPLIED' >
<!ENTITY % att-fontinfo '%att-fontsize;
%att-fontweight;
%att-fontslant;
%att-fontfamily;
%att-fontcolor;' >
<!ENTITY % att-form 'form (prefix | infix | postfix) #IMPLIED' >
<!ENTITY % att-fence 'fence (true | false ) #IMPLIED' >
<!ENTITY % att-separator 'separator (true | false ) #IMPLIED' >
<!ENTITY % att-lspace 'lspace CDATA #IMPLIED' >
<!ENTITY % att-rspace 'rspace CDATA #IMPLIED' >
<!ENTITY % att-stretchy 'stretchy (true | false ) #IMPLIED' >
<!ENTITY % att-symetric 'symetric (true | false ) #IMPLIED' >
<!ENTITY % att-maxsize 'maxsize CDATA #IMPLIED' >
<!ENTITY % att-minsize 'minsize CDATA #IMPLIED' >
<!ENTITY % att-largeop 'largeop (true | false ) #IMPLIED' >
<!ENTITY % att-movablelimits 'movablelimits (true | false )
#IMPLIED' >
<!ENTITY % att-accent 'accent (true | false ) #IMPLIED' >
<!ENTITY % att-opinfo '%att-form;
%att-fence;
%att-separator;
%att-lspace;
%att-rspace;
%att-stretchy;
%att-symetric;
%att-maxsize;
%att-minsize;
%att-largeop;
%att-movablelimits;
%att-accent;' >
<!ENTITY % att-width 'width CDATA "0"' >
<!ENTITY % att-height 'height CDATA "0"' >
<!ENTITY % att-depth 'depth CDATA "0"' >
<!ENTITY % att-sizeinfo '%att-width;
%att-height;
%att-depth;' >
<!ENTITY % att-lquote 'lquote CDATA """' >
<!ENTITY % att-rquote 'rquote CDATA """' >
<!ENTITY % att-linethickness 'linethickness CDATA "1"' >
<!ENTITY % att-scriptlevel 'scriptlevel CDATA #IMPLIED'>
<!ENTITY % att-displaystyle 'displaystyle (true | false)
#IMPLIED'>
<!ENTITY % att-scriptsizemultiplier 'scriptsizemultiplier CDATA "0.71"' >
<!ENTITY % att-scriptminsize 'scriptminsize CDATA "8"'>
<!ENTITY % att-background 'background CDATA #IMPLIED' >
<!ENTITY % att-open 'open CDATA "("' >
<!ENTITY % att-close 'close CDATA ")"' >
<!ENTITY % att-separators 'separators CDATA ","' >
<!ENTITY % att-subscriptshift 'subscriptshift CDATA #IMPLIED'>
<!ENTITY % att-superscriptshift 'superscriptshift CDATA #IMPLIED' >
<!ENTITY % att-accentunder 'accentunder (true | false)
#IMPLIED'>
<!ENTITY % att-accent 'accent (true | false) #IMPLIED'>
<!ENTITY % att-align 'align CDATA "axis"' >
<!ENTITY % att-rowalign 'rowalign CDATA #IMPLIED' >
<!ENTITY % att-columnalign 'columnalign CDATA #IMPLIED' >
<!ENTITY % att-groupalign 'groupalign CDATA "{left}"' >
<!ENTITY % att-alignmentscope 'alignmentscope CDATA "true"' >
<!ENTITY % att-rowspacing 'rowspacing CDATA "1.0"' >
<!ENTITY % att-columnspacing 'columnspacing CDATA "0.8"' >
<!ENTITY % att-rowlines 'rowlines CDATA "none"' >
<!ENTITY % att-columnlines 'columnlines CDATA "none"' >
<!ENTITY % att-frame 'frame (none | solid | dashed)
"none"' >
<!ENTITY % att-framespacing 'framespacing CDATA "0.4 0.5"' >
<!ENTITY % att-equalrows 'equalrows CDATA "true"' >
<!ENTITY % att-equalcolumns 'equalcolumns CDATA "true"' >
<!ENTITY % att-tableinfo '%att-align;
%att-rowalign;
%att-columnalign;
%att-groupalign;
%att-alignmentscope;
%att-rowspacing;
%att-columnspacing;
%att-rowlines;
%att-columnlines;
%att-frame;
%att-framespacing;
%att-equalrows;
%att-equalcolumns;
%att-displaystyle;' >
<!ENTITY % att-rowspan 'rowspan CDATA "1"' >
<!ENTITY % att-columnspan 'columnspan CDATA "1"' >
<!ENTITY % att-edge 'edge (left | right) "left" ' >
<!ENTITY % att-actiontype 'actiontype CDATA #IMPLIED' >
<!ENTITY % att-selection 'selection CDATA "1" ' >
<!-- presentation token schemata with content-->
<!ENTITY % ptoken "mi | mn | mo | mtext | ms" >
<!ATTLIST mi %att-fontinfo;
%att-class-style; >
<!ATTLIST mn %att-fontinfo;
%att-class-style; >
<!ATTLIST mo %att-fontinfo;
%att-opinfo;
%att-class-style; >
<!ATTLIST mtext %att-fontinfo;
%att-class-style; >
<!ATTLIST ms %att-fontinfo;
%att-lquote;
%att-rquote;
%att-class-style; >
<!-- empty presentation token schemata -->
<!ENTITY % petoken "mspace" >
<!ELEMENT mspace EMPTY >
<!ATTLIST mspace %att-sizeinfo;
%att-class-style; >
<!-- presentation general layout schemata -->
<!ENTITY % pgenschema "mrow|mfrac|msqrt|mroot|
mstyle|merror|mpadded| mphantom|mfenced" >
<!ATTLIST mrow %att-class-style; >
<!ATTLIST mfrac %att-linethickness;
%att-class-style; >
<!ATTLIST msqrt %att-class-style; >
<!ATTLIST mroot %att-class-style; >
<!ATTLIST mstyle %att-fontinfo;
%att-opinfo;
%att-lquote;
%att-rquote;
%att-linethickness;
%att-scriptlevel;
%att-displaystyle;
%att-scriptsizemultiplier;
%att-scriptminsize;
%att-background;
%att-open;
%att-close;
%att-separators;
%att-subscriptshift;
%att-superscriptshift
%att-accent;
%att-accentunder;
%att-tableinfo;
%att-rowspan;
%att-columnspan;
%att-edge;
%att-actiontype;
%att-selection;
%att-class-style; >
<!ATTLIST merror %att-class-style; >
<!ATTLIST mpadded %att-sizeinfo;
%att-lspace;
%att-class-style; >
<!ATTLIST mphantom %att-class-style; >
<!ATTLIST mfenced %att-open;
%att-close;
%att-separators;
%att-class-style; >
<!-- presentation layout schemata : scripts and limits -->
<!ENTITY % pscrschema "msub|msup|msubsup|
munder|mover|munderover|mmultiscripts" >
<!ATTLIST msub %att-subscriptshift;
%att-class-style; >
<!ATTLIST msup %att-superscriptshift;
%att-class-style; >
<!ATTLIST msubsup %att-subscriptshift;
%att-superscriptshift;
%att-class-style; >
<!ATTLIST munder %att-accentunder;
%att-class-style; >
<!ATTLIST mover %att-accent;
%att-class-style; >
<!ATTLIST munderover %att-accent;
%att-accentunder;
%att-class-style; >
<!ATTLIST mmultiscripts
%att-subscriptshift;
%att-superscriptshift;
%att-class-style; >
<!-- presentation layout schemata: tables -->
<!ENTITY % ptabschema "mtable|mtr|mtd" >
<!ATTLIST mtable %att-tableinfo;
%att-class-style; >
<!ATTLIST mtr %att-rowalign;
%att-columnalign;
%att-groupalign;
%att-class-style; >
<!ATTLIST mtd %att-rowalign;
%att-columnalign;
%att-groupalign;
%att-rowspan;
%att-columnspan;
%att-class-style; >
<!ENTITY % plschema "%pgenschema|%pscrschema|%ptabschema" >
<!-- empty presentation layout schemata -->
<!ENTITY % peschema "maligngroup | malignmark" >
<!ELEMENT malignmark EMPTY >
<!ATTLIST malignmark %att-edge;
%att-class-style; >
<!ELEMENT maligngroup EMPTY >
<!ATTLIST maligngroup %att-groupalign;
%att-class-style; >
<!-- presentation action schemata -->
<!ENTITY % pactions "maction" >
<!ATTLIST maction %att-actiontype;
%att-selection;
%att-class-style; >
<!-- Presentation entity for substitution into content tag constructs -->
<!ENTITY % Presentation "%ptoken; | %petoken; |
%plschema; | %peschema; | %pactions;">
<!-- ************************************************* -->
<!-- Content tag element set -->
<!-- attribute definitions -->
<!ENTITY % att-base 'base CDATA "10"' >
<!ENTITY % att-closure 'closure CDATA "closed"' >
<!ENTITY % att-definition 'definition CDATA ""' >
<!ENTITY % att-encoding 'encoding CDATA ""' >
<!ENTITY % att-nargs 'nargs CDATA "1"' >
<!ENTITY % att-occurence 'occurence CDATA "function-model"' >
<!ENTITY % att-order 'order CDATA "numeric"' >
<!ENTITY % att-scope 'scope CDATA "local"' >
<!ENTITY % att-type 'type CDATA #IMPLIED' >
<!-- content leaf token elements -->
<!ENTITY % ctoken "ci | cn" >
<!ATTLIST ci %att-type;
%att-class-style; >
<!ATTLIST cn %att-type;
%att-base;
%att-class-style; >
<!-- content elements - specials -->
<!ENTITY % cspecial "apply | relation | lambda" >
<!ATTLIST apply %att-class-style; >
<!ATTLIST relation %att-class-style; >
<!ATTLIST lambda %att-class-style; >
<!-- content elements - others -->
<!ENTITY % cother "condition | declare | sep" >
<!ATTLIST condition %att-class-style; >
<!ATTLIST declare %att-type;
%att-scope;
%att-nargs;
%att-occurence;
%att-definition;
%att-class-style; >
<!ELEMENT sep EMPTY >
<!ATTLIST sep %att-class-style; >
<!-- content elements - semantic mapping -->
<!ENTITY % csemantics "semantics | annotation | xml-annotation" >
<!ATTLIST semantics %att-definition;
%att-class-style; >
<!ATTLIST annotation %att-encoding;
%att-class-style; >
<!ATTLIST xml-annotation %att-encoding;
%att-class-style; >
<!-- content elements - constructors -->
<!ENTITY % cconstructor "interval | list | matrix | matrixrow | set |
vector" >
<!ATTLIST interval %att-closure;
%att-class-style; >
<!ATTLIST set %att-class-style; >
<!ATTLIST list %att-order;
%att-class-style; >
<!ATTLIST vector %att-class-style; >
<!ATTLIST matrix %att-class-style; >
<!ATTLIST matrixrow %att-class-style; >
<!-- content elements - operators -->
<!ENTITY % cfuncop1ary "inverse" >
<!ELEMENT inverse EMPTY >
<!ATTLIST inverse %att-definition;
%att-class-style; >
<!ENTITY % cfuncopnary "fn" >
<!ATTLIST fn %att-definition;
%att-class-style; >
<!ENTITY % carithop1ary "exp | factorial | minus" >
<!ELEMENT exp EMPTY >
<!ATTLIST exp %att-definition;
%att-class-style; >
<!ELEMENT factorial EMPTY >
<!ATTLIST factorial %att-definition;
%att-class-style; >
<!ELEMENT minus EMPTY >
<!ATTLIST minus %att-definition;
%att-class-style; >
<!ENTITY % carithop2ary "quotient | divide | minus | power | rem" >
<!ELEMENT idiv EMPTY >
<!ATTLIST idiv %att-definition;
%att-class-style; >
<!ELEMENT over EMPTY >
<!ATTLIST over %att-definition;
%att-class-style; >
<!ELEMENT power EMPTY >
<!ATTLIST power %att-definition;
%att-class-style; >
<!ELEMENT rem EMPTY >
<!ATTLIST rem %att-definition;
%att-class-style; >
<!ENTITY % carithopnary "plus | times | max | min | gcd" >
<!ELEMENT plus EMPTY >
<!ATTLIST plus %att-definition;
%att-class-style; >
<!ELEMENT max EMPTY >
<!ATTLIST max %att-definition;
%att-class-style; >
<!ELEMENT min EMPTY >
<!ATTLIST min %att-definition;
%att-class-style; >
<!ELEMENT times EMPTY >
<!ATTLIST times %att-definition;
%att-class-style; >
<!ELEMENT gcd EMPTY >
<!ATTLIST gcd %att-definition;
%att-class-style; >
<!ENTITY % carithoproot "root" >
<!ELEMENT root EMPTY >
<!ATTLIST root %att-definition;
%att-class-style; >
<!ENTITY % clogicopnary "and | or | xor" >
<!ELEMENT and EMPTY >
<!ATTLIST and %att-definition;
%att-class-style; >
<!ELEMENT or EMPTY >
<!ATTLIST or %att-definition;
%att-class-style; >
<!ELEMENT xor EMPTY >
<!ATTLIST xor %att-definition;
%att-class-style; >
<!ENTITY % clogicop1ary "not" >
<!ELEMENT not EMPTY >
<!ATTLIST not %att-definition;
%att-class-style; >
<!ENTITY % clogicop2ary "implies" >
<!ELEMENT implies EMPTY >
<!ATTLIST implies %att-definition;
%att-class-style; >
<!ENTITY % ccalcop "log | int | diff | partialdiff" >
<!ELEMENT log EMPTY >
<!ATTLIST log %att-definition;
%att-class-style; >
<!ELEMENT int EMPTY >
<!ATTLIST int %att-definition;
%att-class-style; >
<!ELEMENT diff EMPTY >
<!ATTLIST diff %att-definition;
%att-class-style; >
<!ELEMENT partialdiff EMPTY >
<!ATTLIST partialdiff %att-definition;
%att-class-style; >
<!ENTITY % ccalcop1ary "ln | totaldiff" >
<!ELEMENT ln EMPTY >
<!ATTLIST ln %att-definition;
%att-class-style; >
<!ELEMENT totaldiff EMPTY >
<!ATTLIST totaldiff %att-definition;
%att-class-style; >
<!ENTITY % csetop2ary "setdiff" >
<!ELEMENT setdiff EMPTY >
<!ATTLIST setdiff %att-definition;
%att-class-style; >
<!ENTITY % csetopnary "union | intersect" >
<!ELEMENT union EMPTY >
<!ATTLIST union %att-definition;
%att-class-style; >
<!ELEMENT intersect EMPTY >
<!ATTLIST intersect %att-definition;
%att-class-style; >
<!ENTITY % cseqop "sum | product | limit" >
<!ELEMENT sum EMPTY >
<!ATTLIST sum %att-definition;
%att-class-style; >
<!ELEMENT product EMPTY >
<!ATTLIST product %att-definition;
%att-class-style; >
<!ELEMENT limit EMPTY >
<!ATTLIST limit %att-definition;
%att-class-style; >
<!ENTITY % ctrigop "sin | cos | tan | sec | cosec | cotan | sinh
| cosh | tanh | sech | cosech | cotanh
| arcsin | arccos | arctan" >
<!ELEMENT sin EMPTY >
<!ATTLIST sin %att-definition;
%att-class-style; >
<!ELEMENT cos EMPTY >
<!ATTLIST cos %att-definition;
%att-class-style; >
<!ELEMENT tan EMPTY >
<!ATTLIST tan %att-definition;
%att-class-style; >
<!ELEMENT sec EMPTY >
<!ATTLIST sec %att-definition;
%att-class-style; >
<!ELEMENT cosec EMPTY >
<!ATTLIST cosec %att-definition;
%att-class-style; >
<!ELEMENT cotan EMPTY >
<!ATTLIST cotan %att-definition;
%att-class-style; >
<!ELEMENT sinh EMPTY >
<!ATTLIST sinh %att-definition;
%att-class-style; >
<!ELEMENT cosh EMPTY >
<!ATTLIST cosh %att-definition;
%att-class-style; >
<!ELEMENT tanh EMPTY >
<!ATTLIST tanh %att-definition;
%att-class-style; >
<!ELEMENT sech EMPTY >
<!ATTLIST sech %att-definition;
%att-class-style; >
<!ELEMENT cosech EMPTY >
<!ATTLIST cosech %att-definition;
%att-class-style; >
<!ELEMENT cotanh EMPTY >
<!ATTLIST cotanh %att-definition;
%att-class-style; >
<!ELEMENT arcsin EMPTY >
<!ATTLIST arcsin %att-definition;
%att-class-style; >
<!ELEMENT arccos EMPTY >
<!ATTLIST arccos %att-definition;
%att-class-style; >
<!ELEMENT arctan EMPTY >
<!ATTLIST arctan %att-definition;
%att-class-style; >
<!ENTITY % cstatopnary "mean | sdev | var | median | mode" >
<!ELEMENT mean EMPTY >
<!ATTLIST mean %att-definition;
%att-class-style; >
<!ELEMENT sdev EMPTY >
<!ATTLIST sdev %att-definition;
%att-class-style; >
<!ELEMENT var EMPTY >
<!ATTLIST var %att-definition;
%att-class-style; >
<!ELEMENT median EMPTY >
<!ATTLIST median %att-definition;
%att-class-style; >
<!ELEMENT mode EMPTY >
<!ATTLIST mode %att-definition;
%att-class-style; >
<!ENTITY % cstatopmoment "moment" >
<!ELEMENT moment EMPTY >
<!ATTLIST moment %att-definition;
%att-class-style; >
<!ENTITY % clalgop1ary "determinant | transpose" >
<!ELEMENT determinant EMPTY >
<!ATTLIST determinant %att-definition;
%att-class-style; >
<!ELEMENT transpose EMPTY >
<!ATTLIST transpose %att-definition;
%att-class-style; >
<!-- content elements - relations -->
<!ENTITY % cgenrel2ary "neq" >
<!ELEMENT neq EMPTY >
<!ATTLIST neq %att-definition;
%att-class-style; >
<!ENTITY % cgenrelnary "eq | leq | lt | geq | gt" >
<!ELEMENT eq EMPTY >
<!ATTLIST eq %att-definition;
%att-class-style; >
<!ELEMENT gt EMPTY >
<!ATTLIST gt %att-definition;
%att-class-style; >
<!ELEMENT lt EMPTY >
<!ATTLIST lt %att-definition;
%att-class-style; >
<!ELEMENT geq EMPTY >
<!ATTLIST geq %att-definition;
%att-class-style; >
<!ELEMENT leq EMPTY >
<!ATTLIST leq %att-definition;
%att-class-style; >
<!ENTITY % csetrel2ary "in | notin | notsubset | notprsubset" >
<!ELEMENT in EMPTY >
<!ATTLIST in %att-definition;
%att-class-style; >
<!ELEMENT notin EMPTY >
<!ATTLIST notin %att-definition;
%att-class-style; >
<!ELEMENT notsubset EMPTY >
<!ATTLIST notsubset %att-definition;
%att-class-style; >
<!ELEMENT notprsubset EMPTY >
<!ATTLIST notprsubset %att-definition;
%att-class-style; >
<!ENTITY % csetrelnary "subset | prsubset" >
<!ELEMENT subset EMPTY >
<!ATTLIST subset %att-definition;
%att-class-style; >
<!ELEMENT prsubset EMPTY >
<!ATTLIST prsubset %att-definition;
%att-class-style; >
<!ENTITY % cseqrel2ary "tendsto" >
<!ELEMENT tendsto EMPTY >
<!ATTLIST tendsto %att-definition;
%att-type;
%att-class-style; >
<!-- content elements - quantifiers -->
<!ENTITY % cquantifier "lowlimit | uplimit | bvar | degree | logbase" >
<!ATTLIST lowlimit %att-class-style; >
<!ATTLIST uplimit %att-class-style; >
<!ATTLIST bvar %att-class-style; >
<!ATTLIST degree %att-class-style; >
<!ATTLIST logbase %att-class-style; >
<!-- operator groups -->
<!ENTITY % cop1ary "%cfuncop1ary; | %carithop1ary; | %clogicop1ary;
| %ccalcop1ary; | %ctrigop; | %clalgop1ary; " >
<!ENTITY % cop2ary "%carithop2ary; | %clogicop2ary;| %csetop2ary; " >
<!ENTITY % copnary "%cfuncopnary; | %carithopnary; | %clogicopnary;
| %csetopnary; | %cstatopnary; " >
<!ENTITY % copmisc "%carithoproot; | %ccalcop; | %cseqop; |
%cstatopmoment; " >
<!-- relation groups -->
<!ENTITY % crel2ary "%cgenrel2ary; | %csetrel2ary; | %cseqrel2ary; " >
<!ENTITY % crelnary "%cgenrelnary; | %csetrelnary;" >
<!-- content constructs for substitution in presentation structures -->
<!ENTITY % Content "%ctoken; | %cspecial; | %cother; | %csemantics;
|%cconstructor; | %cquantifier;
|%cop1ary; |%cop2ary; |%copnary; |%copmisc;
|%crel2ary; |%crelnary;" >
<!-- ************************************************* -->
<!-- recursive definition for content of expressions -->
<!-- include presentation tag constructs at lowest level -->
<!-- so presentation tokens hold PCDATA or Content at leaf level -->
<!-- include Content tag constructs at lowest level -->
<!-- so Content tokens hold PCDATA or Presentation at leaf level -->
<!ENTITY % MathExpression "%Presentation; |%Content; " >
<!ENTITY % MathContent "(%MathExpression;)*" >
<!-- content token elements -->
<!ELEMENT ci (#PCDATA | %Presentation;)* >
<!ELEMENT cn (#PCDATA | sep | %Presentation;)* >
<!-- content special elements -->
<!ELEMENT apply (%MathContent;) >
<!ELEMENT relation (%MathContent;) >
<!ELEMENT lambda (%MathContent;) >
<!-- content other elements -->
<!ELEMENT condition (%MathContent;) >
<!ELEMENT declare (%MathContent;) >
<!-- content semantics elements -->
<!ELEMENT semantics (%MathContent;) >
<!ELEMENT annotation (%MathContent;) >
<!ELEMENT xml-annotation (%MathContent;) >
<!-- content constructor elements -->
<!ELEMENT interval (%MathContent;) >
<!ELEMENT set (%MathContent;) >
<!ELEMENT list (%MathContent;) >
<!ELEMENT vector (%MathContent;) >
<!ELEMENT matrix (%MathContent;) >
<!ELEMENT matrixrow (%MathContent;) >
<!-- content operator element (user-defined) -->
<!ELEMENT fn (%MathContent;) >
<!-- content qualiifier elements -->
<!ELEMENT lowlimit (%MathContent;) >
<!ELEMENT uplimit (%MathContent;) >
<!ELEMENT bvar (%MathContent;) >
<!ELEMENT degree (%MathContent;) >
<!ELEMENT logbase (%MathContent;) >
<!-- ************************************************* -->
<!-- presentation layout schema contain tokens, layout and content
schemata -->
<!ELEMENT mstyle (%MathContent;) >
<!ELEMENT merror (%MathContent;) >
<!ELEMENT mphantom (%MathContent;) >
<!ELEMENT mrow (%MathContent;) >
<!ELEMENT mfrac (%MathContent;) >
<!ELEMENT msqrt (%MathContent;) >
<!ELEMENT mroot (%MathContent;) >
<!ELEMENT msub (%MathContent;) >
<!ELEMENT msup (%MathContent;) >
<!ELEMENT msuper (%MathContent;) >
<!ELEMENT msubsup (%MathContent;) >
<!ELEMENT mmultiscripts (%MathContent;) >
<!ELEMENT munder (%MathContent;) >
<!ELEMENT mover (%MathContent;) >
<!ELEMENT munderover (%MathContent;) >
<!ELEMENT mtable (%MathContent;) >
<!ELEMENT mtr (%MathContent;) >
<!ELEMENT mtd (%MathContent;) >
<!ELEMENT maction (%MathContent;) >
<!ELEMENT mfenced (%MathContent;) >
<!ELEMENT mpadded (%MathContent;) >
<!-- presentation tokens contain PCDATA or Content constructs -->
<!ELEMENT mi (#PCDATA | %Content;)* >
<!ELEMENT mn (#PCDATA | %Content;)* >
<!ELEMENT mo (#PCDATA | %Content;)* >
<!ELEMENT mtext (#PCDATA | %Content;)* >
<!ELEMENT ms (#PCDATA | %Content;)* >
<!-- ************************************************* -->
<!-- browser interface definition -->
<!-- attributes for top level math element -->
<!ENTITY % att-macros 'macros CDATA #IMPLIED' >
<!ENTITY % att-mode 'macros CDATA #IMPLIED' >
<!ENTITY % att-topinfo '%att-class-style;
%att-macros;
%att-mode;' >
<!-- attributes for browser interface element element -->
<!ENTITY % att-name 'name CDATA #IMPLIED' >
<!ENTITY % att-height 'height CDATA #IMPLIED' >
<!ENTITY % att-width 'width CDATA #IMPLIED' >
<!ENTITY % att-baseline 'baseline CDATA #IMPLIED' >
<!ENTITY % att-overflow 'overflow
(pan|scroll|elide|truncate|scale) "pan"' >
<!ENTITY % att-altimg 'altimg CDATA #IMPLIED' >
<!ENTITY % att-alttext 'alttext CDATA #IMPLIED' >
<!ENTITY % att-browif '%att-type;
%att-name;
%att-height;
%att-width;
%att-baseline;
%att-overflow;
%att-altimg;
%att-alttext; ' >
<!-- the top level math element -->
<!-- math contains MathML encoded mathematics -->
<!-- math has the browser info attributes iff it is the
browser interface element also -->
<!ELEMENT math (%MathContent;) >
<!ATTLIST math %att-topinfo;
%att-browif; >
<!-- end of DTD fragment -->
<!-- ************************************************* -->
Up: Table of Contents