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 15.December.1997 by s.buswell -->
<!-- revised 8.February.1998 by s.buswell -->
<!-- ************************************************* -->
<!-- general attribute definitions for class & style & id & other -->
<!-- : attributes shared by all mathml elements -->
<!ENTITY % att-globalatts 'class CDATA #IMPLIED
style CDATA #IMPLIED
id ID #IMPLIED
other CDATA #IMPLIED' >
<!-- ************************************************* -->
<!-- Presentation element set -->
<!-- presentation attribute definitions -->
<!ENTITY % att-fontsize 'fontsize CDATA #IMPLIED' >
<!ENTITY % att-fontweight 'fontweight (normal | bold) #IMPLIED' >
<!ENTITY % att-fontstyle 'fontstyle (normal | italic) #IMPLIED' >
<!ENTITY % att-fontfamily 'fontfamily CDATA #IMPLIED' >
<!ENTITY % att-color 'color CDATA #IMPLIED' >
<!ENTITY % att-fontinfo '%att-fontsize;
%att-fontweight;
%att-fontstyle;
%att-fontfamily;
%att-color;' >
<!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-symmetric 'symmetric (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-symmetric;
%att-maxsize;
%att-minsize;
%att-largeop;
%att-movablelimits;
%att-accent;' >
<!ENTITY % att-width 'width CDATA #IMPLIED' >
<!ENTITY % att-height 'height CDATA #IMPLIED' >
<!ENTITY % att-depth 'depth CDATA #IMPLIED' >
<!ENTITY % att-sizeinfo '%att-width;
%att-height;
%att-depth;' >
<!ENTITY % att-lquote 'lquote CDATA #IMPLIED' >
<!ENTITY % att-rquote 'rquote CDATA #IMPLIED' >
<!ENTITY % att-linethickness 'linethickness CDATA #IMPLIED' >
<!ENTITY % att-scriptlevel 'scriptlevel CDATA #IMPLIED'>
<!ENTITY % att-displaystyle 'displaystyle (true | false)
#IMPLIED'>
<!ENTITY % att-scriptsizemultiplier 'scriptsizemultiplier CDATA
#IMPLIED' >
<!ENTITY % att-scriptminsize 'scriptminsize CDATA #IMPLIED'>
<!ENTITY % att-background 'background CDATA #IMPLIED' >
<!ENTITY % att-open 'open CDATA #IMPLIED' >
<!ENTITY % att-close 'close CDATA #IMPLIED' >
<!ENTITY % att-separators 'separators CDATA #IMPLIED' >
<!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 #IMPLIED' >
<!ENTITY % att-rowalign 'rowalign CDATA #IMPLIED' >
<!ENTITY % att-columnalign 'columnalign CDATA #IMPLIED' >
<!ENTITY % att-groupalign 'groupalign CDATA #IMPLIED' >
<!ENTITY % att-alignmentscope 'alignmentscope CDATA #IMPLIED' >
<!ENTITY % att-rowspacing 'rowspacing CDATA #IMPLIED' >
<!ENTITY % att-columnspacing 'columnspacing CDATA #IMPLIED' >
<!ENTITY % att-rowlines 'rowlines CDATA #IMPLIED' >
<!ENTITY % att-columnlines 'columnlines CDATA #IMPLIED' >
<!ENTITY % att-frame 'frame (none | solid | dashed)
#IMPLIED' >
<!ENTITY % att-framespacing 'framespacing CDATA #IMPLIED' >
<!ENTITY % att-equalrows 'equalrows CDATA #IMPLIED' >
<!ENTITY % att-equalcolumns 'equalcolumns CDATA #IMPLIED' >
<!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 #IMPLIED' >
<!ENTITY % att-columnspan 'columnspan CDATA #IMPLIED' >
<!ENTITY % att-edge 'edge (left | right) #IMPLIED ' >
<!ENTITY % att-actiontype 'actiontype CDATA #IMPLIED' >
<!ENTITY % att-selection 'selection CDATA #IMPLIED ' >
<!-- presentation token schemata with content-->
<!ENTITY % ptoken "mi | mn | mo | mtext | ms" >
<!ATTLIST mi %att-fontinfo;
%att-globalatts; >
<!ATTLIST mn %att-fontinfo;
%att-globalatts; >
<!ATTLIST mo %att-fontinfo;
%att-opinfo;
%att-globalatts; >
<!ATTLIST mtext %att-fontinfo;
%att-globalatts; >
<!ATTLIST ms %att-fontinfo;
%att-lquote;
%att-rquote;
%att-globalatts; >
<!-- empty presentation token schemata -->
<!ENTITY % petoken "mspace" >
<!ELEMENT mspace EMPTY >
<!ATTLIST mspace %att-sizeinfo;
%att-globalatts; >
<!-- presentation general layout schemata -->
<!ENTITY % pgenschema "mrow|mfrac|msqrt|mroot|
mstyle|merror|mpadded| mphantom|mfenced" >
<!ATTLIST mrow %att-globalatts; >
<!ATTLIST mfrac %att-linethickness;
%att-globalatts; >
<!ATTLIST msqrt %att-globalatts; >
<!ATTLIST mroot %att-globalatts; >
<!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-globalatts; >
<!ATTLIST merror %att-globalatts; >
<!ATTLIST mpadded %att-sizeinfo;
%att-lspace;
%att-globalatts; >
<!ATTLIST mphantom %att-globalatts; >
<!ATTLIST mfenced %att-open;
%att-close;
%att-separators;
%att-globalatts; >
<!-- presentation layout schemata : scripts and limits -->
<!ENTITY % pscrschema "msub|msup|msubsup|
munder|mover|munderover|mmultiscripts" >
<!ATTLIST msub %att-subscriptshift;
%att-globalatts; >
<!ATTLIST msup %att-superscriptshift;
%att-globalatts; >
<!ATTLIST msubsup %att-subscriptshift;
%att-superscriptshift;
%att-globalatts; >
<!ATTLIST munder %att-accentunder;
%att-globalatts; >
<!ATTLIST mover %att-accent;
%att-globalatts; >
<!ATTLIST munderover %att-accent;
%att-accentunder;
%att-globalatts; >
<!ATTLIST mmultiscripts
%att-subscriptshift;
%att-superscriptshift;
%att-globalatts; >
<!-- presentation layout schemata: script empty elements -->
<!ENTITY % pscreschema "mprescripts|none" >
<!ELEMENT mprescripts EMPTY >
<!ATTLIST mprescripts %att-globalatts; >
<!ELEMENT none EMPTY >
<!ATTLIST none %att-globalatts; >
<!-- presentation layout schemata: tables -->
<!ENTITY % ptabschema "mtable|mtr|mtd" >
<!ATTLIST mtable %att-tableinfo;
%att-globalatts; >
<!ATTLIST mtr %att-rowalign;
%att-columnalign;
%att-groupalign;
%att-globalatts; >
<!ATTLIST mtd %att-rowalign;
%att-columnalign;
%att-groupalign;
%att-rowspan;
%att-columnspan;
%att-globalatts; >
<!ENTITY % plschema "%pgenschema|%pscrschema|%ptabschema" >
<!-- empty presentation layout schemata -->
<!ENTITY % peschema "maligngroup | malignmark" >
<!ELEMENT malignmark EMPTY >
<!ATTLIST malignmark %att-edge;
%att-globalatts; >
<!ELEMENT maligngroup EMPTY >
<!ATTLIST maligngroup %att-groupalign;
%att-globalatts; >
<!-- presentation action schemata -->
<!ENTITY % pactions "maction" >
<!ATTLIST maction %att-actiontype;
%att-selection;
%att-globalatts; >
<!-- Presentation entity for substitution into content tag constructs -->
<!-- excludes elements which are not valid as expressions -->
<!ENTITY % PresInCont "%ptoken; | %petoken; |
%plschema; | %peschema; | %pactions;">
<!-- Presentation entity - all presentation constructs -->
<!ENTITY % Presentation "%ptoken; | %petoken; | %pscreschema; |
%plschema; | %peschema; | %pactions;">
<!-- ************************************************* -->
<!-- Content element set -->
<!-- attribute definitions -->
<!ENTITY % att-base 'base CDATA "10"' >
<!ENTITY % att-closure 'closure CDATA "closed"' >
<!ENTITY % att-definition 'definitionURL 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-globalatts; >
<!ATTLIST cn %att-type;
%att-base;
%att-globalatts; >
<!-- content elements - specials -->
<!ENTITY % cspecial "apply | reln | lambda" >
<!ATTLIST apply %att-globalatts; >
<!ATTLIST reln %att-globalatts; >
<!ATTLIST lambda %att-globalatts; >
<!-- content elements - others -->
<!ENTITY % cother "condition | declare | sep" >
<!ATTLIST condition %att-globalatts; >
<!ATTLIST declare %att-type;
%att-scope;
%att-nargs;
%att-occurence;
%att-definition;
%att-globalatts; >
<!ELEMENT sep EMPTY >
<!ATTLIST sep %att-globalatts; >
<!-- content elements - semantic mapping -->
<!ENTITY % csemantics "semantics | annotation | annotation-xml" >
<!ATTLIST semantics %att-definition;
%att-globalatts; >
<!ATTLIST annotation %att-encoding;
%att-globalatts; >
<!ATTLIST annotation-xml %att-encoding;
%att-globalatts; >
<!-- content elements - constructors -->
<!ENTITY % cconstructor "interval | list | matrix | matrixrow | set |
vector" >
<!ATTLIST interval %att-closure;
%att-globalatts; >
<!ATTLIST set %att-globalatts; >
<!ATTLIST list %att-order;
%att-globalatts; >
<!ATTLIST vector %att-globalatts; >
<!ATTLIST matrix %att-globalatts; >
<!ATTLIST matrixrow %att-globalatts; >
<!-- content elements - operators -->
<!ENTITY % cfuncop1ary "inverse | ident " >
<!ELEMENT inverse EMPTY >
<!ATTLIST inverse %att-definition;
%att-globalatts; >
<!ENTITY % cfuncopnary "fn | compose" >
<!ATTLIST fn %att-definition;
%att-globalatts; >
<!ELEMENT ident EMPTY >
<!ATTLIST ident %att-definition;
%att-globalatts; >
<!ELEMENT compose EMPTY >
<!ATTLIST compose %att-definition;
%att-globalatts; >
<!ENTITY % carithop1ary "exp | factorial" >
<!ELEMENT exp EMPTY >
<!ATTLIST exp %att-definition;
%att-globalatts; >
<!ELEMENT factorial EMPTY >
<!ATTLIST factorial %att-definition;
%att-globalatts; >
<!ENTITY % carithop1or2ary "minus" >
<!ELEMENT minus EMPTY >
<!ATTLIST minus %att-definition;
%att-globalatts; >
<!ENTITY % carithop2ary "quotient | divide | power | rem" >
<!ELEMENT quotient EMPTY >
<!ATTLIST quotient %att-definition;
%att-globalatts; >
<!ELEMENT divide EMPTY >
<!ATTLIST divide %att-definition;
%att-globalatts; >
<!ELEMENT power EMPTY >
<!ATTLIST power %att-definition;
%att-globalatts; >
<!ELEMENT rem EMPTY >
<!ATTLIST rem %att-definition;
%att-globalatts; >
<!ENTITY % carithopnary "plus | times | max | min | gcd" >
<!ELEMENT plus EMPTY >
<!ATTLIST plus %att-definition;
%att-globalatts; >
<!ELEMENT max EMPTY >
<!ATTLIST max %att-definition;
%att-globalatts; >
<!ELEMENT min EMPTY >
<!ATTLIST min %att-definition;
%att-globalatts; >
<!ELEMENT times EMPTY >
<!ATTLIST times %att-definition;
%att-globalatts; >
<!ELEMENT gcd EMPTY >
<!ATTLIST gcd %att-definition;
%att-globalatts; >
<!ENTITY % carithoproot "root" >
<!ELEMENT root EMPTY >
<!ATTLIST root %att-definition;
%att-globalatts; >
<!ENTITY % clogicopquant "exists | forall" >
<!ELEMENT exists EMPTY >
<!ATTLIST exists %att-definition;
%att-globalatts; >
<!ELEMENT forall EMPTY >
<!ATTLIST forall %att-definition;
%att-globalatts; >
<!ENTITY % clogicopnary "and | or | xor" >
<!ELEMENT and EMPTY >
<!ATTLIST and %att-definition;
%att-globalatts; >
<!ELEMENT or EMPTY >
<!ATTLIST or %att-definition;
%att-globalatts; >
<!ELEMENT xor EMPTY >
<!ATTLIST xor %att-definition;
%att-globalatts; >
<!ENTITY % clogicop1ary "not" >
<!ELEMENT not EMPTY >
<!ATTLIST not %att-definition;
%att-globalatts; >
<!ENTITY % clogicop2ary "implies" >
<!ELEMENT implies EMPTY >
<!ATTLIST implies %att-definition;
%att-globalatts; >
<!ENTITY % ccalcop "log | int | diff | partialdiff" >
<!ELEMENT log EMPTY >
<!ATTLIST log %att-definition;
%att-globalatts; >
<!ELEMENT int EMPTY >
<!ATTLIST int %att-definition;
%att-globalatts; >
<!ELEMENT diff EMPTY >
<!ATTLIST diff %att-definition;
%att-globalatts; >
<!ELEMENT partialdiff EMPTY >
<!ATTLIST partialdiff %att-definition;
%att-globalatts; >
<!ENTITY % ccalcop1ary "ln | totaldiff" >
<!ELEMENT ln EMPTY >
<!ATTLIST ln %att-definition;
%att-globalatts; >
<!ELEMENT totaldiff EMPTY >
<!ATTLIST totaldiff %att-definition;
%att-globalatts; >
<!ENTITY % csetop2ary "setdiff" >
<!ELEMENT setdiff EMPTY >
<!ATTLIST setdiff %att-definition;
%att-globalatts; >
<!ENTITY % csetopnary "union | intersect" >
<!ELEMENT union EMPTY >
<!ATTLIST union %att-definition;
%att-globalatts; >
<!ELEMENT intersect EMPTY >
<!ATTLIST intersect %att-definition;
%att-globalatts; >
<!ENTITY % cseqop "sum | product | limit" >
<!ELEMENT sum EMPTY >
<!ATTLIST sum %att-definition;
%att-globalatts; >
<!ELEMENT product EMPTY >
<!ATTLIST product %att-definition;
%att-globalatts; >
<!ELEMENT limit EMPTY >
<!ATTLIST limit %att-definition;
%att-globalatts; >
<!ENTITY % ctrigop "sin | cos | tan | sec | csc | cot | sinh
| cosh | tanh | sech | csch | coth
| arcsin | arccos | arctan" >
<!ELEMENT sin EMPTY >
<!ATTLIST sin %att-definition;
%att-globalatts; >
<!ELEMENT cos EMPTY >
<!ATTLIST cos %att-definition;
%att-globalatts; >
<!ELEMENT tan EMPTY >
<!ATTLIST tan %att-definition;
%att-globalatts; >
<!ELEMENT sec EMPTY >
<!ATTLIST sec %att-definition;
%att-globalatts; >
<!ELEMENT csc EMPTY >
<!ATTLIST csc %att-definition;
%att-globalatts; >
<!ELEMENT cot EMPTY >
<!ATTLIST cot %att-definition;
%att-globalatts; >
<!ELEMENT sinh EMPTY >
<!ATTLIST sinh %att-definition;
%att-globalatts; >
<!ELEMENT cosh EMPTY >
<!ATTLIST cosh %att-definition;
%att-globalatts; >
<!ELEMENT tanh EMPTY >
<!ATTLIST tanh %att-definition;
%att-globalatts; >
<!ELEMENT sech EMPTY >
<!ATTLIST sech %att-definition;
%att-globalatts; >
<!ELEMENT csch EMPTY >
<!ATTLIST csch %att-definition;
%att-globalatts; >
<!ELEMENT coth EMPTY >
<!ATTLIST coth %att-definition;
%att-globalatts; >
<!ELEMENT arcsin EMPTY >
<!ATTLIST arcsin %att-definition;
%att-globalatts; >
<!ELEMENT arccos EMPTY >
<!ATTLIST arccos %att-definition;
%att-globalatts; >
<!ELEMENT arctan EMPTY >
<!ATTLIST arctan %att-definition;
%att-globalatts; >
<!ENTITY % cstatopnary "mean | sdev | var | median | mode" >
<!ELEMENT mean EMPTY >
<!ATTLIST mean %att-definition;
%att-globalatts; >
<!ELEMENT sdev EMPTY >
<!ATTLIST sdev %att-definition;
%att-globalatts; >
<!ELEMENT var EMPTY >
<!ATTLIST var %att-definition;
%att-globalatts; >
<!ELEMENT median EMPTY >
<!ATTLIST median %att-definition;
%att-globalatts; >
<!ELEMENT mode EMPTY >
<!ATTLIST mode %att-definition;
%att-globalatts; >
<!ENTITY % cstatopmoment "moment" >
<!ELEMENT moment EMPTY >
<!ATTLIST moment %att-definition;
%att-globalatts; >
<!ENTITY % clalgop1ary "determinant | transpose" >
<!ELEMENT determinant EMPTY >
<!ATTLIST determinant %att-definition;
%att-globalatts; >
<!ELEMENT transpose EMPTY >
<!ATTLIST transpose %att-definition;
%att-globalatts; >
<!ENTITY % clalgopnary "select" >
<!ELEMENT select EMPTY >
<!ATTLIST select %att-definition;
%att-globalatts; >
<!-- content elements - relations -->
<!ENTITY % cgenrel2ary "neq" >
<!ELEMENT neq EMPTY >
<!ATTLIST neq %att-definition;
%att-globalatts; >
<!ENTITY % cgenrelnary "eq | leq | lt | geq | gt" >
<!ELEMENT eq EMPTY >
<!ATTLIST eq %att-definition;
%att-globalatts; >
<!ELEMENT gt EMPTY >
<!ATTLIST gt %att-definition;
%att-globalatts; >
<!ELEMENT lt EMPTY >
<!ATTLIST lt %att-definition;
%att-globalatts; >
<!ELEMENT geq EMPTY >
<!ATTLIST geq %att-definition;
%att-globalatts; >
<!ELEMENT leq EMPTY >
<!ATTLIST leq %att-definition;
%att-globalatts; >
<!ENTITY % csetrel2ary "in | notin | notsubset | notprsubset" >
<!ELEMENT in EMPTY >
<!ATTLIST in %att-definition;
%att-globalatts; >
<!ELEMENT notin EMPTY >
<!ATTLIST notin %att-definition;
%att-globalatts; >
<!ELEMENT notsubset EMPTY >
<!ATTLIST notsubset %att-definition;
%att-globalatts; >
<!ELEMENT notprsubset EMPTY >
<!ATTLIST notprsubset %att-definition;
%att-globalatts; >
<!ENTITY % csetrelnary "subset | prsubset" >
<!ELEMENT subset EMPTY >
<!ATTLIST subset %att-definition;
%att-globalatts; >
<!ELEMENT prsubset EMPTY >
<!ATTLIST prsubset %att-definition;
%att-globalatts; >
<!ENTITY % cseqrel2ary "tendsto" >
<!ELEMENT tendsto EMPTY >
<!ATTLIST tendsto %att-definition;
%att-type;
%att-globalatts; >
<!-- content elements - quantifiers -->
<!ENTITY % cquantifier "lowlimit | uplimit | bvar | degree | logbase" >
<!ATTLIST lowlimit %att-globalatts; >
<!ATTLIST uplimit %att-globalatts; >
<!ATTLIST bvar %att-globalatts; >
<!ATTLIST degree %att-globalatts; >
<!ATTLIST logbase %att-globalatts; >
<!-- operator groups -->
<!ENTITY % cop1ary "%cfuncop1ary; | %carithop1ary; | %clogicop1ary;
| %ccalcop1ary; | %ctrigop; | %clalgop1ary; " >
<!ENTITY % cop2ary "%carithop2ary; | %clogicop2ary;| %csetop2ary; " >
<!ENTITY % copnary "%cfuncopnary; | %carithopnary; | %clogicopnary;
| %csetopnary; | %cstatopnary; | %clalgopnary; " >
<!ENTITY % copmisc "%carithoproot; | %carithop1or2ary | %ccalcop;
| %cseqop; | %cstatopmoment; | %clogicopquant" >
<!-- relation groups -->
<!ENTITY % crel2ary "%cgenrel2ary; | %csetrel2ary; | %cseqrel2ary; " >
<!ENTITY % crelnary "%cgenrelnary; | %csetrelnary;" >
<!-- content constructs - all -->
<!ENTITY % Content "%ctoken; | %cspecial; | %cother; | %csemantics;
|%cconstructor; | %cquantifier;
|%cop1ary; |%cop2ary; |%copnary; |%copmisc;
|%crel2ary; |%crelnary;" >
<!-- content constructs for substitution in presentation structures -->
<!ENTITY % ContInPres "ci | cn | apply | fn | lambda | reln
| interval | list | matrix |matrixrow
| set | vector" >
<!-- ************************************************* -->
<!-- recursive definition for content of expressions -->
<!-- include presentation tag constructs at lowest level -->
<!-- so presentation layout schemata hold presentation or Content -->
<!-- include Content tag constructs at lowest level -->
<!-- so Content tokens hold PCDATA or Presentation at leaf level -->
<!-- (for permitted substitutable elements in context) -->
<!ENTITY % ContentExpression "(%Content; | %PresInCont;)* " >
<!ENTITY % PresExpression "(%Presentation; | %ContInPres;)* " >
<!ENTITY % MathExpression "(%PresInCont; | %ContInPres;)* " >
<!-- content token elements (may hold embedded presentation constructs)
-->
<!ELEMENT ci (#PCDATA | %PresInCont;)* >
<!ELEMENT cn (#PCDATA | sep | %PresInCont;)* >
<!-- content special elements -->
<!ELEMENT apply (%ContentExpression;) >
<!ELEMENT reln (%ContentExpression;) >
<!ELEMENT lambda (%ContentExpression;) >
<!-- content other elements -->
<!ELEMENT condition (%ContentExpression;) >
<!ELEMENT declare (%ContentExpression;) >
<!-- content semantics elements -->
<!ELEMENT semantics (%ContentExpression;) >
<!ELEMENT annotation (#PCDATA) >
<!ELEMENT annotation-xml (%ContentExpression;) >
<!-- content constructor elements -->
<!ELEMENT interval (%ContentExpression;) >
<!ELEMENT set (%ContentExpression;) >
<!ELEMENT list (%ContentExpression;) >
<!ELEMENT vector (%ContentExpression;) >
<!ELEMENT matrix (%ContentExpression;) >
<!ELEMENT matrixrow (%ContentExpression;) >
<!-- content operator element (user-defined) -->
<!ELEMENT fn (%ContentExpression;) >
<!-- content quantifier elements -->
<!ELEMENT lowlimit (%ContentExpression;) >
<!ELEMENT uplimit (%ContentExpression;) >
<!ELEMENT bvar (%ContentExpression;) >
<!ELEMENT degree (%ContentExpression;) >
<!ELEMENT logbase (%ContentExpression;) >
<!-- ************************************************* -->
<!-- presentation layout schema contain tokens, layout and content
schema -->
<!ELEMENT mstyle (%PresExpression;) >
<!ELEMENT merror (%PresExpression;) >
<!ELEMENT mphantom (%PresExpression;) >
<!ELEMENT mrow (%PresExpression;) >
<!ELEMENT mfrac (%PresExpression;) >
<!ELEMENT msqrt (%PresExpression;) >
<!ELEMENT mroot (%PresExpression;) >
<!ELEMENT msub (%PresExpression;) >
<!ELEMENT msup (%PresExpression;) >
<!ELEMENT msuper (%PresExpression;) >
<!ELEMENT msubsup (%PresExpression;) >
<!ELEMENT mmultiscripts (%PresExpression;) >
<!ELEMENT munder (%PresExpression;) >
<!ELEMENT mover (%PresExpression;) >
<!ELEMENT munderover (%PresExpression;) >
<!ELEMENT mtable (%PresExpression;) >
<!ELEMENT mtr (%PresExpression;) >
<!ELEMENT mtd (%PresExpression;) >
<!ELEMENT maction (%PresExpression;) >
<!ELEMENT mfenced (%PresExpression;) >
<!ELEMENT mpadded (%PresExpression;) >
<!-- presentation tokens contain PCDATA or malignmark constructs -->
<!ELEMENT mi (#PCDATA | malignmark )* >
<!ELEMENT mn (#PCDATA | malignmark )* >
<!ELEMENT mo (#PCDATA | malignmark )* >
<!ELEMENT mtext (#PCDATA | malignmark )* >
<!ELEMENT ms (#PCDATA | malignmark )* >
<!-- ************************************************* -->
<!-- browser interface definition -->
<!-- attributes for top level math element -->
<!ENTITY % att-macros 'macros CDATA #IMPLIED' >
<!ENTITY % att-mode 'mode CDATA #IMPLIED' >
<!ENTITY % att-topinfo '%att-globalatts;
%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 (%MathExpression;) >
<!ATTLIST math %att-topinfo;
%att-browif; >
<!-- end of DTD fragment -->
<!-- ************************************************* -->
Up: Table of Contents