summaryrefslogtreecommitdiff
path: root/MathMLDTD/math.dtd
diff options
context:
space:
mode:
Diffstat (limited to 'MathMLDTD/math.dtd')
-rw-r--r--MathMLDTD/math.dtd957
1 files changed, 957 insertions, 0 deletions
diff --git a/MathMLDTD/math.dtd b/MathMLDTD/math.dtd
new file mode 100644
index 000000000000..0349e3031acf
--- /dev/null
+++ b/MathMLDTD/math.dtd
@@ -0,0 +1,957 @@
+<!-- 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 -->
+<!-- ************************************************* -->