<!-- Copyright 1997-1999 World Wide Web Consortium, --> <!-- (Massachusetts Institute of Technology, --> <!-- Institut National de Recherche en Informatique et en Automatique, --> <!-- Keio University). All Rights Reserved. --> <!-- http://www.w3.org/Consortium/Legal/ --> <!-- Modified DTD for MathML 1.01 --> <!-- --> <!-- Original DTD: --> <!-- http://www.w3.org/1999/07/REC-MathML-19990707/mmlents.zip --> <!-- --> <!-- modified 20. June 2001: --> <!-- 1) added "math:" namespace prefix --> <!-- 2) removed entity include files --> <!-- 3) added copyright notice above to comply with --> <!-- W3C IPR Software Notice --> <!-- 4) added this comment block --> <!-- Modifications are intended to ease validation --> <!-- of MathML files written by StarMath 6.0 --> <!-- Content model for content and presentation --> <!-- and browser interface tags in MathML --> <!-- initial draft 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 --> <!-- revised 4.april.1998 by s.buswell --> <!-- 21.February.1999 entities and small revisions by d.carlisle --> <!-- --> <!-- W3C Recommendation 7 April 1998 --> <!-- ************************************************* --> <!-- general attribute definitions for class & style & id & other --> <!-- : attributes shared by all mathml elements --> <!ENTITY % att-globalatts 'math:class CDATA #IMPLIED math:style CDATA #IMPLIED math:id ID #IMPLIED math:other CDATA #IMPLIED' > <!-- ************************************************* --> <!-- Presentation element set --> <!-- presentation attribute definitions --> <!ENTITY % att-fontsize 'math:fontsize CDATA #IMPLIED' > <!ENTITY % att-fontweight 'math:fontweight (normal | bold) #IMPLIED' > <!ENTITY % att-fontstyle 'math:fontstyle (normal | italic) #IMPLIED' > <!ENTITY % att-fontfamily 'math:fontfamily CDATA #IMPLIED' > <!ENTITY % att-color 'math:color CDATA #IMPLIED' > <!ENTITY % att-fontinfo '%att-fontsize; %att-fontweight; %att-fontstyle; %att-fontfamily; %att-color;' > <!ENTITY % att-form 'math:form (prefix | infix | postfix) #IMPLIED' > <!ENTITY % att-fence 'math:fence (true | false ) #IMPLIED' > <!ENTITY % att-separator 'math:separator (true | false ) #IMPLIED' > <!ENTITY % att-lspace 'math:lspace CDATA #IMPLIED' > <!ENTITY % att-rspace 'math:rspace CDATA #IMPLIED' > <!ENTITY % att-stretchy 'math:stretchy (true | false ) #IMPLIED' > <!ENTITY % att-symmetric 'math:symmetric (true | false ) #IMPLIED' > <!ENTITY % att-maxsize 'math:maxsize CDATA #IMPLIED' > <!ENTITY % att-minsize 'math:minsize CDATA #IMPLIED' > <!ENTITY % att-largeop 'math:largeop (true | false ) #IMPLIED' > <!ENTITY % att-movablelimits 'math:movablelimits (true | false ) #IMPLIED' > <!ENTITY % att-accent 'math: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 'math:width CDATA #IMPLIED' > <!ENTITY % att-height 'math:height CDATA #IMPLIED' > <!ENTITY % att-depth 'math:depth CDATA #IMPLIED' > <!ENTITY % att-sizeinfo '%att-width; %att-height; %att-depth;' > <!ENTITY % att-lquote 'math:lquote CDATA #IMPLIED' > <!ENTITY % att-rquote 'math:rquote CDATA #IMPLIED' > <!ENTITY % att-linethickness 'math:linethickness CDATA #IMPLIED' > <!ENTITY % att-scriptlevel 'math:scriptlevel CDATA #IMPLIED'> <!ENTITY % att-displaystyle 'math:displaystyle (true | false) #IMPLIED'> <!ENTITY % att-scriptsizemultiplier 'math:scriptsizemultiplier CDATA #IMPLIED' > <!ENTITY % att-scriptminsize 'math:scriptminsize CDATA #IMPLIED'> <!ENTITY % att-background 'math:background CDATA #IMPLIED' > <!ENTITY % att-open 'math:open CDATA #IMPLIED' > <!ENTITY % att-close 'math:close CDATA #IMPLIED' > <!ENTITY % att-separators 'math:separators CDATA #IMPLIED' > <!ENTITY % att-subscriptshift 'math:subscriptshift CDATA #IMPLIED'> <!ENTITY % att-superscriptshift 'math:superscriptshift CDATA #IMPLIED' > <!ENTITY % att-accentunder 'math:accentunder (true | false) #IMPLIED'> <!ENTITY % att-align 'math:align CDATA #IMPLIED' > <!ENTITY % att-rowalign 'math:rowalign CDATA #IMPLIED' > <!ENTITY % att-columnalign 'math:columnalign CDATA #IMPLIED' > <!ENTITY % att-groupalign 'math:groupalign CDATA #IMPLIED' > <!ENTITY % att-alignmentscope 'math:alignmentscope CDATA #IMPLIED' > <!ENTITY % att-rowspacing 'math:rowspacing CDATA #IMPLIED' > <!ENTITY % att-columnspacing 'math:columnspacing CDATA #IMPLIED' > <!ENTITY % att-rowlines 'math:rowlines CDATA #IMPLIED' > <!ENTITY % att-columnlines 'math:columnlines CDATA #IMPLIED' > <!ENTITY % att-frame 'math:frame (none | solid | dashed) #IMPLIED' > <!ENTITY % att-framespacing 'math:framespacing CDATA #IMPLIED' > <!ENTITY % att-equalrows 'math:equalrows CDATA #IMPLIED' > <!ENTITY % att-equalcolumns 'math: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 'math:rowspan CDATA #IMPLIED' > <!ENTITY % att-columnspan 'math:columnspan CDATA #IMPLIED' > <!ENTITY % att-edge 'math:edge (left | right) #IMPLIED ' > <!ENTITY % att-actiontype 'math:actiontype CDATA #IMPLIED' > <!ENTITY % att-selection 'math:selection CDATA #IMPLIED ' > <!-- presentation token schemata with content--> <!ENTITY % ptoken "math:mi | math:mn | math:mo | math:mtext | math:ms" > <!ATTLIST math:mi %att-fontinfo; %att-globalatts; > <!ATTLIST math:mn %att-fontinfo; %att-globalatts; > <!ATTLIST math:mo %att-fontinfo; %att-opinfo; %att-globalatts; > <!ATTLIST math:mtext %att-fontinfo; %att-globalatts; > <!ATTLIST math:ms %att-fontinfo; %att-lquote; %att-rquote; %att-globalatts; > <!-- empty presentation token schemata --> <!ENTITY % petoken "math:mspace" > <!ELEMENT math:mspace EMPTY > <!ATTLIST math:mspace %att-sizeinfo; %att-globalatts; > <!-- presentation general layout schemata --> <!ENTITY % pgenschema "math:mrow|math:mfrac|math:msqrt|math:mroot| math:mstyle|math:merror|math:mpadded| math:mphantom|math:mfenced" > <!ATTLIST math:mrow %att-globalatts; > <!ATTLIST math:mfrac %att-linethickness; %att-globalatts; > <!ATTLIST math:msqrt %att-globalatts; > <!ATTLIST math:mroot %att-globalatts; > <!ATTLIST math:mstyle %att-fontinfo; %att-opinfo; %att-lquote; %att-rquote; %att-linethickness; %att-scriptlevel; %att-scriptsizemultiplier; %att-scriptminsize; %att-background; %att-open; %att-close; %att-separators; %att-subscriptshift; %att-superscriptshift; %att-accentunder; %att-tableinfo; %att-rowspan; %att-columnspan; %att-edge; %att-actiontype; %att-selection; %att-globalatts; > <!ATTLIST math:merror %att-globalatts; > <!ATTLIST math:mpadded %att-sizeinfo; %att-lspace; %att-globalatts; > <!ATTLIST math:mphantom %att-globalatts; > <!ATTLIST math:mfenced %att-open; %att-close; %att-separators; %att-globalatts; > <!-- presentation layout schemata : scripts and limits --> <!ENTITY % pscrschema "math:msub|math:msup|math:msubsup| math:munder|math:mover|math:munderover|math:mmultiscripts" > <!ATTLIST math:msub %att-subscriptshift; %att-globalatts; > <!ATTLIST math:msup %att-superscriptshift; %att-globalatts; > <!ATTLIST math:msubsup %att-subscriptshift; %att-superscriptshift; %att-globalatts; > <!ATTLIST math:munder %att-accentunder; %att-globalatts; > <!ATTLIST math:mover %att-accent; %att-globalatts; > <!ATTLIST math:munderover %att-accent; %att-accentunder; %att-globalatts; > <!ATTLIST math:mmultiscripts %att-subscriptshift; %att-superscriptshift; %att-globalatts; > <!-- presentation layout schemata: script empty elements --> <!ENTITY % pscreschema "math:mprescripts|math:none" > <!ELEMENT math:mprescripts EMPTY > <!ATTLIST math:mprescripts %att-globalatts; > <!ELEMENT math:none EMPTY > <!ATTLIST math:none %att-globalatts; > <!-- presentation layout schemata: tables --> <!ENTITY % ptabschema "math:mtable|math:mtr|math:mtd" > <!ATTLIST math:mtable %att-tableinfo; %att-globalatts; > <!ATTLIST math:mtr %att-rowalign; %att-columnalign; %att-groupalign; %att-globalatts; > <!ATTLIST math:mtd %att-rowalign; %att-columnalign; %att-groupalign; %att-rowspan; %att-columnspan; %att-globalatts; > <!ENTITY % plschema "%pgenschema;|%pscrschema;|%ptabschema;" > <!-- empty presentation layout schemata --> <!ENTITY % peschema "math:maligngroup | math:malignmark" > <!ELEMENT math:malignmark EMPTY > <!ATTLIST math:malignmark %att-edge; %att-globalatts; > <!ELEMENT math:maligngroup EMPTY > <!ATTLIST math:maligngroup %att-groupalign; %att-globalatts; > <!-- presentation action schemata --> <!ENTITY % pactions "math:maction" > <!ATTLIST math: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 'math:base CDATA "10"' > <!ENTITY % att-closure 'math:closure CDATA "closed"' > <!ENTITY % att-definition 'math:definitionURL CDATA ""' > <!ENTITY % att-encoding 'math:encoding CDATA ""' > <!ENTITY % att-nargs 'math:nargs CDATA "1"' > <!ENTITY % att-occurence 'math:occurence CDATA "function-model"' > <!ENTITY % att-order 'math:order CDATA "numeric"' > <!ENTITY % att-scope 'math:scope CDATA "local"' > <!ENTITY % att-type 'math:type CDATA #IMPLIED' > <!-- content leaf token elements --> <!ENTITY % ctoken "math:ci | math:cn" > <!ATTLIST math:ci %att-type; %att-globalatts; > <!ATTLIST math:cn %att-type; %att-base; %att-globalatts; > <!-- content elements - specials --> <!ENTITY % cspecial "math:apply | math:reln | math:lambda" > <!ATTLIST math:apply %att-globalatts; > <!ATTLIST math:reln %att-globalatts; > <!ATTLIST math:lambda %att-globalatts; > <!-- content elements - others --> <!ENTITY % cother "math:condition | math:declare | math:sep" > <!ATTLIST math:condition %att-globalatts; > <!ATTLIST math:declare %att-type; %att-scope; %att-nargs; %att-occurence; %att-definition; %att-globalatts; > <!ELEMENT math:sep EMPTY > <!ATTLIST math:sep %att-globalatts; > <!-- content elements - semantic mapping --> <!ENTITY % csemantics "math:semantics | math:annotation | math:annotation-xml" > <!ATTLIST math:semantics %att-definition; %att-globalatts; > <!ATTLIST math:annotation %att-encoding; %att-globalatts; > <!ATTLIST math:annotation-xml %att-encoding; %att-globalatts; > <!-- content elements - constructors --> <!ENTITY % cconstructor "math:interval | math:list | math:matrix | math:matrixrow | math:set | math:vector" > <!ATTLIST math:interval %att-closure; %att-globalatts; > <!ATTLIST math:set %att-globalatts; > <!ATTLIST math:list %att-order; %att-globalatts; > <!ATTLIST math:vector %att-globalatts; > <!ATTLIST math:matrix %att-globalatts; > <!ATTLIST math:matrixrow %att-globalatts; > <!-- content elements - operators --> <!ENTITY % cfuncop1ary "math:inverse | math:ident " > <!ELEMENT math:inverse EMPTY > <!ATTLIST math:inverse %att-definition; %att-globalatts; > <!ENTITY % cfuncopnary "math:fn | math:compose" > <!ATTLIST math:fn %att-definition; %att-globalatts; > <!ELEMENT math:ident EMPTY > <!ATTLIST math:ident %att-definition; %att-globalatts; > <!ELEMENT math:compose EMPTY > <!ATTLIST math:compose %att-definition; %att-globalatts; > <!ENTITY % carithop1ary "math:abs | math:conjugate | math:exp | math:factorial" > <!ELEMENT math:exp EMPTY > <!ATTLIST math:exp %att-definition; %att-globalatts; > <!ELEMENT math:abs EMPTY > <!ATTLIST math:abs %att-definition; %att-globalatts; > <!ELEMENT math:conjugate EMPTY > <!ATTLIST math:conjugate %att-definition; %att-globalatts; > <!ELEMENT math:factorial EMPTY > <!ATTLIST math:factorial %att-definition; %att-globalatts; > <!ENTITY % carithop1or2ary "math:minus" > <!ELEMENT math:minus EMPTY > <!ATTLIST math:minus %att-definition; %att-globalatts; > <!ENTITY % carithop2ary "math:quotient | math:divide | math:power | math:rem" > <!ELEMENT math:quotient EMPTY > <!ATTLIST math:quotient %att-definition; %att-globalatts; > <!ELEMENT math:divide EMPTY > <!ATTLIST math:divide %att-definition; %att-globalatts; > <!ELEMENT math:power EMPTY > <!ATTLIST math:power %att-definition; %att-globalatts; > <!ELEMENT math:rem EMPTY > <!ATTLIST math:rem %att-definition; %att-globalatts; > <!ENTITY % carithopnary "math:plus | math:times | math:max | math:min | math:gcd" > <!ELEMENT math:plus EMPTY > <!ATTLIST math:plus %att-definition; %att-globalatts; > <!ELEMENT math:max EMPTY > <!ATTLIST math:max %att-definition; %att-globalatts; > <!ELEMENT math:min EMPTY > <!ATTLIST math:min %att-definition; %att-globalatts; > <!ELEMENT math:times EMPTY > <!ATTLIST math:times %att-definition; %att-globalatts; > <!ELEMENT math:gcd EMPTY > <!ATTLIST math:gcd %att-definition; %att-globalatts; > <!ENTITY % carithoproot "math:root" > <!ELEMENT math:root EMPTY > <!ATTLIST math:root %att-definition; %att-globalatts; > <!ENTITY % clogicopquant "math:exists | math:forall" > <!ELEMENT math:exists EMPTY > <!ATTLIST math:exists %att-definition; %att-globalatts; > <!ELEMENT math:forall EMPTY > <!ATTLIST math:forall %att-definition; %att-globalatts; > <!ENTITY % clogicopnary "math:and | math:or | math:xor" > <!ELEMENT math:and EMPTY > <!ATTLIST math:and %att-definition; %att-globalatts; > <!ELEMENT math:or EMPTY > <!ATTLIST math:or %att-definition; %att-globalatts; > <!ELEMENT math:xor EMPTY > <!ATTLIST math:xor %att-definition; %att-globalatts; > <!ENTITY % clogicop1ary "math:not" > <!ELEMENT math:not EMPTY > <!ATTLIST math:not %att-definition; %att-globalatts; > <!ENTITY % clogicop2ary "math:implies" > <!ELEMENT math:implies EMPTY > <!ATTLIST math:implies %att-definition; %att-globalatts; > <!ENTITY % ccalcop "math:log | math:int | math:diff | math:partialdiff" > <!ELEMENT math:log EMPTY > <!ATTLIST math:log %att-definition; %att-globalatts; > <!ELEMENT math:int EMPTY > <!ATTLIST math:int %att-definition; %att-globalatts; > <!ELEMENT math:diff EMPTY > <!ATTLIST math:diff %att-definition; %att-globalatts; > <!ELEMENT math:partialdiff EMPTY > <!ATTLIST math:partialdiff %att-definition; %att-globalatts; > <!ENTITY % ccalcop1ary "math:ln" > <!ELEMENT math:ln EMPTY > <!ATTLIST math:ln %att-definition; %att-globalatts; > <!ENTITY % csetop2ary "math:setdiff" > <!ELEMENT math:setdiff EMPTY > <!ATTLIST math:setdiff %att-definition; %att-globalatts; > <!ENTITY % csetopnary "math:union | math:intersect" > <!ELEMENT math:union EMPTY > <!ATTLIST math:union %att-definition; %att-globalatts; > <!ELEMENT math:intersect EMPTY > <!ATTLIST math:intersect %att-definition; %att-globalatts; > <!ENTITY % cseqop "math:sum | math:product | math:limit" > <!ELEMENT math:sum EMPTY > <!ATTLIST math:sum %att-definition; %att-globalatts; > <!ELEMENT math:product EMPTY > <!ATTLIST math:product %att-definition; %att-globalatts; > <!ELEMENT math:limit EMPTY > <!ATTLIST math:limit %att-definition; %att-globalatts; > <!ENTITY % ctrigop "math:sin | math:cos | math:tan | math:sec | math:csc | math:cot | math:sinh | math:cosh | math:tanh | math:sech | math:csch | math:coth | math:arcsin | math:arccos | math:arctan" > <!ELEMENT math:sin EMPTY > <!ATTLIST math:sin %att-definition; %att-globalatts; > <!ELEMENT math:cos EMPTY > <!ATTLIST math:cos %att-definition; %att-globalatts; > <!ELEMENT math:tan EMPTY > <!ATTLIST math:tan %att-definition; %att-globalatts; > <!ELEMENT math:sec EMPTY > <!ATTLIST math:sec %att-definition; %att-globalatts; > <!ELEMENT math:csc EMPTY > <!ATTLIST math:csc %att-definition; %att-globalatts; > <!ELEMENT math:cot EMPTY > <!ATTLIST math:cot %att-definition; %att-globalatts; > <!ELEMENT math:sinh EMPTY > <!ATTLIST math:sinh %att-definition; %att-globalatts; > <!ELEMENT math:cosh EMPTY > <!ATTLIST math:cosh %att-definition; %att-globalatts; > <!ELEMENT math:tanh EMPTY > <!ATTLIST math:tanh %att-definition; %att-globalatts; > <!ELEMENT math:sech EMPTY > <!ATTLIST math:sech %att-definition; %att-globalatts; > <!ELEMENT math:csch EMPTY > <!ATTLIST math:csch %att-definition; %att-globalatts; > <!ELEMENT math:coth EMPTY > <!ATTLIST math:coth %att-definition; %att-globalatts; > <!ELEMENT math:arcsin EMPTY > <!ATTLIST math:arcsin %att-definition; %att-globalatts; > <!ELEMENT math:arccos EMPTY > <!ATTLIST math:arccos %att-definition; %att-globalatts; > <!ELEMENT math:arctan EMPTY > <!ATTLIST math:arctan %att-definition; %att-globalatts; > <!ENTITY % cstatopnary "math:mean | math:sdev | math:variance | math:median | math:mode" > <!ELEMENT math:mean EMPTY > <!ATTLIST math:mean %att-definition; %att-globalatts; > <!ELEMENT math:sdev EMPTY > <!ATTLIST math:sdev %att-definition; %att-globalatts; > <!ELEMENT math:variance EMPTY > <!ATTLIST math:variance %att-definition; %att-globalatts; > <!ELEMENT math:median EMPTY > <!ATTLIST math:median %att-definition; %att-globalatts; > <!ELEMENT math:mode EMPTY > <!ATTLIST math:mode %att-definition; %att-globalatts; > <!ENTITY % cstatopmoment "math:moment" > <!ELEMENT math:moment EMPTY > <!ATTLIST math:moment %att-definition; %att-globalatts; > <!ENTITY % clalgop1ary "math:determinant | math:transpose" > <!ELEMENT math:determinant EMPTY > <!ATTLIST math:determinant %att-definition; %att-globalatts; > <!ELEMENT math:transpose EMPTY > <!ATTLIST math:transpose %att-definition; %att-globalatts; > <!ENTITY % clalgopnary "math:selector" > <!ELEMENT math:selector EMPTY > <!ATTLIST math:selector %att-definition; %att-globalatts; > <!-- content elements - relations --> <!ENTITY % cgenrel2ary "math:neq" > <!ELEMENT math:neq EMPTY > <!ATTLIST math:neq %att-definition; %att-globalatts; > <!ENTITY % cgenrelnary "math:eq | math:leq | math:lt | math:geq | math:gt" > <!ELEMENT math:eq EMPTY > <!ATTLIST math:eq %att-definition; %att-globalatts; > <!ELEMENT math:gt EMPTY > <!ATTLIST math:gt %att-definition; %att-globalatts; > <!ELEMENT math:lt EMPTY > <!ATTLIST math:lt %att-definition; %att-globalatts; > <!ELEMENT math:geq EMPTY > <!ATTLIST math:geq %att-definition; %att-globalatts; > <!ELEMENT math:leq EMPTY > <!ATTLIST math:leq %att-definition; %att-globalatts; > <!ENTITY % csetrel2ary "math:in | math:notin | math:notsubset | math:notprsubset" > <!ELEMENT math:in EMPTY > <!ATTLIST math:in %att-definition; %att-globalatts; > <!ELEMENT math:notin EMPTY > <!ATTLIST math:notin %att-definition; %att-globalatts; > <!ELEMENT math:notsubset EMPTY > <!ATTLIST math:notsubset %att-definition; %att-globalatts; > <!ELEMENT math:notprsubset EMPTY > <!ATTLIST math:notprsubset %att-definition; %att-globalatts; > <!ENTITY % csetrelnary "math:subset | math:prsubset" > <!ELEMENT math:subset EMPTY > <!ATTLIST math:subset %att-definition; %att-globalatts; > <!ELEMENT math:prsubset EMPTY > <!ATTLIST math:prsubset %att-definition; %att-globalatts; > <!ENTITY % cseqrel2ary "math:tendsto" > <!ELEMENT math:tendsto EMPTY > <!ATTLIST math:tendsto %att-definition; %att-type; %att-globalatts; > <!-- content elements - quantifiers --> <!ENTITY % cquantifier "math:lowlimit | math:uplimit | math:bvar | math:degree | math:logbase" > <!ATTLIST math:lowlimit %att-globalatts; > <!ATTLIST math:uplimit %att-globalatts; > <!ATTLIST math:bvar %att-globalatts; > <!ATTLIST math:degree %att-globalatts; > <!ATTLIST math: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 "math:ci | math:cn | math:apply | math:fn | math:lambda | math:reln | math:interval | math:list | math:matrix |math:matrixrow | math:set | math:vector | math:semantics" > <!--dpc--> <!-- ************************************************* --> <!-- 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 math:ci (#PCDATA | %PresInCont;)* > <!ELEMENT math:cn (#PCDATA | math:sep | %PresInCont;)* > <!-- content special elements --> <!ELEMENT math:apply (%ContentExpression;) > <!ELEMENT math:reln (%ContentExpression;) > <!ELEMENT math:lambda (%ContentExpression;) > <!-- content other elements --> <!ELEMENT math:condition (%ContentExpression;) > <!ELEMENT math:declare (%ContentExpression;) > <!-- content semantics elements --> <!ELEMENT math:semantics (%ContentExpression;) > <!ELEMENT math:annotation (#PCDATA) > <!ELEMENT math:annotation-xml (%ContentExpression;) > <!-- content constructor elements --> <!ELEMENT math:interval (%ContentExpression;) > <!ELEMENT math:set (%ContentExpression;) > <!ELEMENT math:list (%ContentExpression;) > <!ELEMENT math:vector (%ContentExpression;) > <!ELEMENT math:matrix (%ContentExpression;) > <!ELEMENT math:matrixrow (%ContentExpression;) > <!-- content operator element (user-defined) --> <!ELEMENT math:fn (%ContentExpression;) > <!-- content quantifier elements --> <!ELEMENT math:lowlimit (%ContentExpression;) > <!ELEMENT math:uplimit (%ContentExpression;) > <!ELEMENT math:bvar (%ContentExpression;) > <!ELEMENT math:degree (%ContentExpression;) > <!ELEMENT math:logbase (%ContentExpression;) > <!-- ************************************************* --> <!-- presentation layout schema contain tokens, layout and content schema --> <!ELEMENT math:mstyle (%PresExpression;) > <!ELEMENT math:merror (%PresExpression;) > <!ELEMENT math:mphantom (%PresExpression;) > <!ELEMENT math:mrow (%PresExpression;) > <!ELEMENT math:mfrac (%PresExpression;) > <!ELEMENT math:msqrt (%PresExpression;) > <!ELEMENT math:mroot (%PresExpression;) > <!ELEMENT math:msub (%PresExpression;) > <!ELEMENT math:msup (%PresExpression;) > <!ELEMENT math:msubsup (%PresExpression;) > <!ELEMENT math:mmultiscripts (%PresExpression;) > <!ELEMENT math:munder (%PresExpression;) > <!ELEMENT math:mover (%PresExpression;) > <!ELEMENT math:munderover (%PresExpression;) > <!ELEMENT math:mtable (%PresExpression;) > <!ELEMENT math:mtr (%PresExpression;) > <!ELEMENT math:mtd (%PresExpression;) > <!ELEMENT math:maction (%PresExpression;) > <!ELEMENT math:mfenced (%PresExpression;) > <!ELEMENT math:mpadded (%PresExpression;) > <!-- presentation tokens contain PCDATA or malignmark constructs --> <!ELEMENT math:mi (#PCDATA | math:malignmark )* > <!ELEMENT math:mn (#PCDATA | math:malignmark )* > <!ELEMENT math:mo (#PCDATA | math:malignmark )* > <!ELEMENT math:mtext (#PCDATA | math:malignmark )* > <!ELEMENT math:ms (#PCDATA | math:malignmark )* > <!-- ************************************************* --> <!-- browser interface definition --> <!-- attributes for top level math element --> <!ENTITY % att-macros 'math:macros CDATA #IMPLIED' > <!ENTITY % att-mode 'math:mode CDATA #IMPLIED' > <!ENTITY % att-topinfo '%att-globalatts; %att-macros; %att-mode;' > <!-- attributes for browser interface element element --> <!ENTITY % att-name 'math:name CDATA #IMPLIED' > <!ENTITY % att-baseline 'math:baseline CDATA #IMPLIED' > <!ENTITY % att-overflow 'math:overflow (scroll|elide|truncate|scale) "scroll"' > <!ENTITY % att-altimg 'math:altimg CDATA #IMPLIED' > <!ENTITY % att-alttext 'math: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:math (%MathExpression;) > <!ATTLIST math:math %att-topinfo; %att-browif; > <!-- ENTITY sets --> <!-- ... removed ... --> <!-- MathML new characters --> <!-- ... removed ... --> <!-- end of ENTITY sets --> <!-- end of DTD fragment --> <!-- ************************************************* -->