blob: 0349e3031acf4d81a8861ef486439e7a94489ce5 [file] [log] [blame]
<!-- 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 -->
<!-- ************************************************* -->