[This local archive copy mirrored from the canonical site: http://www.w3.org/TR/WD-math/appendixA.html; links may not have complete integrity, so use the canonical document at this URL if possible.]
Up: Table of Contents | Working Draft 6-Jan-98 |
<!-- 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 --> <!-- ************************************************* -->