summaryrefslogtreecommitdiff
path: root/MathMLDTD/math.dtd
diff options
context:
space:
mode:
authorDaniel Vogelheim <dvo@openoffice.org>2001-07-30 08:16:12 +0000
committerDaniel Vogelheim <dvo@openoffice.org>2001-07-30 08:16:12 +0000
commit89951154790a7f6635b0cbe792922d5c9bb45146 (patch)
tree0adfc30070c70886874aa2e4aabbdcce9fee2bde /MathMLDTD/math.dtd
parentd407b1c29e878fe51a43ca793bbb39dccc453236 (diff)
#87051# MathML DTD and W3C copyright statement
Diffstat (limited to 'MathMLDTD/math.dtd')
-rw-r--r--MathMLDTD/math.dtd1012
1 files changed, 1012 insertions, 0 deletions
diff --git a/MathMLDTD/math.dtd b/MathMLDTD/math.dtd
new file mode 100644
index 000000000000..9168ca909514
--- /dev/null
+++ b/MathMLDTD/math.dtd
@@ -0,0 +1,1012 @@
+<!-- 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 'class CDATA #IMPLIED
+ style CDATA #IMPLIED
+ id ID #IMPLIED
+ other CDATA #IMPLIED' >
+
+<!-- ************************************************* -->
+<!-- Presentation element set -->
+
+<!-- presentation attribute definitions -->
+
+<!ENTITY % att-fontsize 'fontsize CDATA #IMPLIED' >
+<!ENTITY % att-fontweight 'fontweight (normal | bold) #IMPLIED' >
+<!ENTITY % att-fontstyle 'fontstyle (normal | italic) #IMPLIED' >
+<!ENTITY % att-fontfamily 'fontfamily CDATA #IMPLIED' >
+<!ENTITY % att-color 'color CDATA #IMPLIED' >
+
+<!ENTITY % att-fontinfo '%att-fontsize;
+ %att-fontweight;
+ %att-fontstyle;
+ %att-fontfamily;
+ %att-color;' >
+
+<!ENTITY % att-form 'form (prefix | infix | postfix) #IMPLIED' >
+<!ENTITY % att-fence 'fence (true | false ) #IMPLIED' >
+<!ENTITY % att-separator 'separator (true | false ) #IMPLIED' >
+<!ENTITY % att-lspace 'lspace CDATA #IMPLIED' >
+<!ENTITY % att-rspace 'rspace CDATA #IMPLIED' >
+<!ENTITY % att-stretchy 'stretchy (true | false ) #IMPLIED' >
+<!ENTITY % att-symmetric 'symmetric (true | false ) #IMPLIED' >
+<!ENTITY % att-maxsize 'maxsize CDATA #IMPLIED' >
+<!ENTITY % att-minsize 'minsize CDATA #IMPLIED' >
+<!ENTITY % att-largeop 'largeop (true | false ) #IMPLIED' >
+<!ENTITY % att-movablelimits 'movablelimits (true | false )
+#IMPLIED' >
+<!ENTITY % att-accent 'accent (true | false) #IMPLIED'>
+
+<!ENTITY % att-opinfo '%att-form;
+ %att-fence;
+ %att-separator;
+ %att-lspace;
+ %att-rspace;
+ %att-stretchy;
+ %att-symmetric;
+ %att-maxsize;
+ %att-minsize;
+ %att-largeop;
+ %att-movablelimits;
+ %att-accent;' >
+
+<!ENTITY % att-width 'width CDATA #IMPLIED' >
+<!ENTITY % att-height 'height CDATA #IMPLIED' >
+<!ENTITY % att-depth 'depth CDATA #IMPLIED' >
+
+<!ENTITY % att-sizeinfo '%att-width;
+ %att-height;
+ %att-depth;' >
+
+<!ENTITY % att-lquote 'lquote CDATA #IMPLIED' >
+<!ENTITY % att-rquote 'rquote CDATA #IMPLIED' >
+
+<!ENTITY % att-linethickness 'linethickness CDATA #IMPLIED' >
+
+<!ENTITY % att-scriptlevel 'scriptlevel CDATA #IMPLIED'>
+<!ENTITY % att-displaystyle 'displaystyle (true | false)
+#IMPLIED'>
+<!ENTITY % att-scriptsizemultiplier 'scriptsizemultiplier CDATA
+#IMPLIED' >
+<!ENTITY % att-scriptminsize 'scriptminsize CDATA #IMPLIED'>
+<!ENTITY % att-background 'background CDATA #IMPLIED' >
+
+<!ENTITY % att-open 'open CDATA #IMPLIED' >
+<!ENTITY % att-close 'close CDATA #IMPLIED' >
+<!ENTITY % att-separators 'separators CDATA #IMPLIED' >
+
+<!ENTITY % att-subscriptshift 'subscriptshift CDATA #IMPLIED'>
+<!ENTITY % att-superscriptshift 'superscriptshift CDATA #IMPLIED' >
+
+<!ENTITY % att-accentunder 'accentunder (true | false)
+#IMPLIED'>
+
+<!ENTITY % att-align 'align CDATA #IMPLIED' >
+<!ENTITY % att-rowalign 'rowalign CDATA #IMPLIED' >
+<!ENTITY % att-columnalign 'columnalign CDATA #IMPLIED' >
+<!ENTITY % att-groupalign 'groupalign CDATA #IMPLIED' >
+<!ENTITY % att-alignmentscope 'alignmentscope CDATA #IMPLIED' >
+
+<!ENTITY % att-rowspacing 'rowspacing CDATA #IMPLIED' >
+<!ENTITY % att-columnspacing 'columnspacing CDATA #IMPLIED' >
+<!ENTITY % att-rowlines 'rowlines CDATA #IMPLIED' >
+<!ENTITY % att-columnlines 'columnlines CDATA #IMPLIED' >
+<!ENTITY % att-frame 'frame (none | solid | dashed)
+#IMPLIED' >
+<!ENTITY % att-framespacing 'framespacing CDATA #IMPLIED' >
+<!ENTITY % att-equalrows 'equalrows CDATA #IMPLIED' >
+<!ENTITY % att-equalcolumns 'equalcolumns CDATA #IMPLIED' >
+
+<!ENTITY % att-tableinfo '%att-align;
+ %att-rowalign;
+ %att-columnalign;
+ %att-groupalign;
+ %att-alignmentscope;
+ %att-rowspacing;
+ %att-columnspacing;
+ %att-rowlines;
+ %att-columnlines;
+ %att-frame;
+ %att-framespacing;
+ %att-equalrows;
+ %att-equalcolumns;
+ %att-displaystyle;' >
+
+<!ENTITY % att-rowspan 'rowspan CDATA #IMPLIED' >
+<!ENTITY % att-columnspan 'columnspan CDATA #IMPLIED' >
+
+<!ENTITY % att-edge 'edge (left | right) #IMPLIED ' >
+
+<!ENTITY % att-actiontype 'actiontype CDATA #IMPLIED' >
+<!ENTITY % att-selection 'selection CDATA #IMPLIED ' >
+
+<!-- presentation token schemata with content-->
+
+<!ENTITY % ptoken "mi | mn | mo | mtext | ms" >
+
+<!ATTLIST mi %att-fontinfo;
+ %att-globalatts; >
+
+<!ATTLIST mn %att-fontinfo;
+ %att-globalatts; >
+
+<!ATTLIST mo %att-fontinfo;
+ %att-opinfo;
+ %att-globalatts; >
+
+<!ATTLIST mtext %att-fontinfo;
+ %att-globalatts; >
+
+<!ATTLIST ms %att-fontinfo;
+ %att-lquote;
+ %att-rquote;
+ %att-globalatts; >
+
+<!-- empty presentation token schemata -->
+
+<!ENTITY % petoken "mspace" >
+<!ELEMENT mspace EMPTY >
+
+<!ATTLIST mspace %att-sizeinfo;
+ %att-globalatts; >
+
+<!-- presentation general layout schemata -->
+
+<!ENTITY % pgenschema "mrow|mfrac|msqrt|mroot|
+ mstyle|merror|mpadded| mphantom|mfenced" >
+
+<!ATTLIST mrow %att-globalatts; >
+
+<!ATTLIST mfrac %att-linethickness;
+ %att-globalatts; >
+
+<!ATTLIST msqrt %att-globalatts; >
+
+<!ATTLIST mroot %att-globalatts; >
+
+<!ATTLIST mstyle %att-fontinfo;
+ %att-opinfo;
+ %att-lquote;
+ %att-rquote;
+ %att-linethickness;
+ %att-scriptlevel;
+ %att-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 merror %att-globalatts; >
+
+<!ATTLIST mpadded %att-sizeinfo;
+ %att-lspace;
+ %att-globalatts; >
+
+<!ATTLIST mphantom %att-globalatts; >
+
+<!ATTLIST mfenced %att-open;
+ %att-close;
+ %att-separators;
+ %att-globalatts; >
+
+<!-- presentation layout schemata : scripts and limits -->
+
+<!ENTITY % pscrschema "msub|msup|msubsup|
+ munder|mover|munderover|mmultiscripts" >
+
+<!ATTLIST msub %att-subscriptshift;
+ %att-globalatts; >
+
+<!ATTLIST msup %att-superscriptshift;
+ %att-globalatts; >
+
+<!ATTLIST msubsup %att-subscriptshift;
+ %att-superscriptshift;
+ %att-globalatts; >
+
+<!ATTLIST munder %att-accentunder;
+ %att-globalatts; >
+
+<!ATTLIST mover %att-accent;
+ %att-globalatts; >
+
+<!ATTLIST munderover %att-accent;
+ %att-accentunder;
+ %att-globalatts; >
+
+<!ATTLIST mmultiscripts
+ %att-subscriptshift;
+ %att-superscriptshift;
+ %att-globalatts; >
+
+<!-- presentation layout schemata: script empty elements -->
+
+<!ENTITY % pscreschema "mprescripts|none" >
+
+<!ELEMENT mprescripts EMPTY >
+<!ATTLIST mprescripts %att-globalatts; >
+
+<!ELEMENT none EMPTY >
+<!ATTLIST none %att-globalatts; >
+
+<!-- presentation layout schemata: tables -->
+
+<!ENTITY % ptabschema "mtable|mtr|mtd" >
+
+<!ATTLIST mtable %att-tableinfo;
+ %att-globalatts; >
+
+<!ATTLIST mtr %att-rowalign;
+ %att-columnalign;
+ %att-groupalign;
+ %att-globalatts; >
+
+<!ATTLIST mtd %att-rowalign;
+ %att-columnalign;
+ %att-groupalign;
+ %att-rowspan;
+ %att-columnspan;
+ %att-globalatts; >
+
+<!ENTITY % plschema "%pgenschema;|%pscrschema;|%ptabschema;" >
+
+<!-- empty presentation layout schemata -->
+
+<!ENTITY % peschema "maligngroup | malignmark" >
+
+<!ELEMENT malignmark EMPTY >
+
+<!ATTLIST malignmark %att-edge;
+ %att-globalatts; >
+
+<!ELEMENT maligngroup EMPTY >
+<!ATTLIST maligngroup %att-groupalign;
+ %att-globalatts; >
+
+<!-- presentation action schemata -->
+
+<!ENTITY % pactions "maction" >
+<!ATTLIST maction %att-actiontype;
+ %att-selection;
+ %att-globalatts; >
+
+<!-- Presentation entity for substitution into content tag constructs -->
+<!-- excludes elements which are not valid as expressions -->
+
+<!ENTITY % PresInCont "%ptoken; | %petoken; |
+ %plschema; | %peschema; | %pactions;">
+
+<!-- Presentation entity - all presentation constructs -->
+
+<!ENTITY % Presentation "%ptoken; | %petoken; | %pscreschema; |
+ %plschema; | %peschema; | %pactions;">
+
+<!-- ************************************************* -->
+<!-- Content element set -->
+<!-- attribute definitions -->
+
+<!ENTITY % att-base 'base CDATA "10"' >
+<!ENTITY % att-closure 'closure CDATA "closed"' >
+<!ENTITY % att-definition 'definitionURL CDATA ""' >
+<!ENTITY % att-encoding 'encoding CDATA ""' >
+<!ENTITY % att-nargs 'nargs CDATA "1"' >
+<!ENTITY % att-occurence 'occurence CDATA "function-model"' >
+<!ENTITY % att-order 'order CDATA "numeric"' >
+<!ENTITY % att-scope 'scope CDATA "local"' >
+<!ENTITY % att-type 'type CDATA #IMPLIED' >
+
+<!-- content leaf token elements -->
+
+<!ENTITY % ctoken "ci | cn" >
+
+<!ATTLIST ci %att-type;
+ %att-globalatts; >
+
+<!ATTLIST cn %att-type;
+ %att-base;
+ %att-globalatts; >
+
+<!-- content elements - specials -->
+
+<!ENTITY % cspecial "apply | reln | lambda" >
+
+<!ATTLIST apply %att-globalatts; >
+
+<!ATTLIST reln %att-globalatts; >
+
+<!ATTLIST lambda %att-globalatts; >
+
+<!-- content elements - others -->
+
+<!ENTITY % cother "condition | declare | sep" >
+
+<!ATTLIST condition %att-globalatts; >
+
+<!ATTLIST declare %att-type;
+ %att-scope;
+ %att-nargs;
+ %att-occurence;
+ %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT sep EMPTY >
+<!ATTLIST sep %att-globalatts; >
+
+<!-- content elements - semantic mapping -->
+
+<!ENTITY % csemantics "semantics | annotation | annotation-xml" >
+
+<!ATTLIST semantics %att-definition;
+ %att-globalatts; >
+
+<!ATTLIST annotation %att-encoding;
+ %att-globalatts; >
+
+<!ATTLIST annotation-xml %att-encoding;
+ %att-globalatts; >
+
+<!-- content elements - constructors -->
+
+<!ENTITY % cconstructor "interval | list | matrix | matrixrow | set |
+vector" >
+
+<!ATTLIST interval %att-closure;
+ %att-globalatts; >
+
+<!ATTLIST set %att-globalatts; >
+
+<!ATTLIST list %att-order;
+ %att-globalatts; >
+
+<!ATTLIST vector %att-globalatts; >
+
+<!ATTLIST matrix %att-globalatts; >
+
+<!ATTLIST matrixrow %att-globalatts; >
+
+<!-- content elements - operators -->
+
+<!ENTITY % cfuncop1ary "inverse | ident " >
+
+<!ELEMENT inverse EMPTY >
+<!ATTLIST inverse %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % cfuncopnary "fn | compose" >
+
+<!ATTLIST fn %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT ident EMPTY >
+<!ATTLIST ident %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT compose EMPTY >
+<!ATTLIST compose %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % carithop1ary "abs | conjugate | exp | factorial" >
+
+<!ELEMENT exp EMPTY >
+<!ATTLIST exp %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT abs EMPTY >
+<!ATTLIST abs %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT conjugate EMPTY >
+<!ATTLIST conjugate %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT factorial EMPTY >
+<!ATTLIST factorial %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % carithop1or2ary "minus" >
+
+<!ELEMENT minus EMPTY >
+<!ATTLIST minus %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % carithop2ary "quotient | divide | power | rem" >
+
+<!ELEMENT quotient EMPTY >
+<!ATTLIST quotient %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT divide EMPTY >
+<!ATTLIST divide %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT power EMPTY >
+<!ATTLIST power %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT rem EMPTY >
+<!ATTLIST rem %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % carithopnary "plus | times | max | min | gcd" >
+
+<!ELEMENT plus EMPTY >
+<!ATTLIST plus %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT max EMPTY >
+<!ATTLIST max %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT min EMPTY >
+<!ATTLIST min %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT times EMPTY >
+<!ATTLIST times %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT gcd EMPTY >
+<!ATTLIST gcd %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % carithoproot "root" >
+
+<!ELEMENT root EMPTY >
+<!ATTLIST root %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % clogicopquant "exists | forall" >
+
+<!ELEMENT exists EMPTY >
+<!ATTLIST exists %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT forall EMPTY >
+<!ATTLIST forall %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % clogicopnary "and | or | xor" >
+
+<!ELEMENT and EMPTY >
+<!ATTLIST and %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT or EMPTY >
+<!ATTLIST or %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT xor EMPTY >
+<!ATTLIST xor %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % clogicop1ary "not" >
+
+<!ELEMENT not EMPTY >
+<!ATTLIST not %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % clogicop2ary "implies" >
+
+<!ELEMENT implies EMPTY >
+<!ATTLIST implies %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % ccalcop "log | int | diff | partialdiff" >
+
+<!ELEMENT log EMPTY >
+<!ATTLIST log %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT int EMPTY >
+<!ATTLIST int %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT diff EMPTY >
+<!ATTLIST diff %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT partialdiff EMPTY >
+<!ATTLIST partialdiff %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % ccalcop1ary "ln" >
+
+<!ELEMENT ln EMPTY >
+<!ATTLIST ln %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % csetop2ary "setdiff" >
+
+<!ELEMENT setdiff EMPTY >
+<!ATTLIST setdiff %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % csetopnary "union | intersect" >
+
+<!ELEMENT union EMPTY >
+<!ATTLIST union %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT intersect EMPTY >
+<!ATTLIST intersect %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % cseqop "sum | product | limit" >
+
+<!ELEMENT sum EMPTY >
+<!ATTLIST sum %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT product EMPTY >
+<!ATTLIST product %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT limit EMPTY >
+<!ATTLIST limit %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % ctrigop "sin | cos | tan | sec | csc | cot | sinh
+ | cosh | tanh | sech | csch | coth
+ | arcsin | arccos | arctan" >
+
+<!ELEMENT sin EMPTY >
+<!ATTLIST sin %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT cos EMPTY >
+<!ATTLIST cos %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT tan EMPTY >
+<!ATTLIST tan %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT sec EMPTY >
+<!ATTLIST sec %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT csc EMPTY >
+<!ATTLIST csc %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT cot EMPTY >
+<!ATTLIST cot %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT sinh EMPTY >
+<!ATTLIST sinh %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT cosh EMPTY >
+<!ATTLIST cosh %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT tanh EMPTY >
+<!ATTLIST tanh %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT sech EMPTY >
+<!ATTLIST sech %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT csch EMPTY >
+<!ATTLIST csch %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT coth EMPTY >
+<!ATTLIST coth %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT arcsin EMPTY >
+<!ATTLIST arcsin %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT arccos EMPTY >
+<!ATTLIST arccos %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT arctan EMPTY >
+<!ATTLIST arctan %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % cstatopnary "mean | sdev | variance | median | mode" >
+
+<!ELEMENT mean EMPTY >
+<!ATTLIST mean %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT sdev EMPTY >
+<!ATTLIST sdev %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT variance EMPTY >
+<!ATTLIST variance %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT median EMPTY >
+<!ATTLIST median %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT mode EMPTY >
+<!ATTLIST mode %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % cstatopmoment "moment" >
+
+<!ELEMENT moment EMPTY >
+<!ATTLIST moment %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % clalgop1ary "determinant | transpose" >
+
+<!ELEMENT determinant EMPTY >
+<!ATTLIST determinant %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT transpose EMPTY >
+<!ATTLIST transpose %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % clalgopnary "selector" >
+
+<!ELEMENT selector EMPTY >
+<!ATTLIST selector %att-definition;
+ %att-globalatts; >
+
+<!-- content elements - relations -->
+
+<!ENTITY % cgenrel2ary "neq" >
+
+<!ELEMENT neq EMPTY >
+<!ATTLIST neq %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % cgenrelnary "eq | leq | lt | geq | gt" >
+
+<!ELEMENT eq EMPTY >
+<!ATTLIST eq %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT gt EMPTY >
+<!ATTLIST gt %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT lt EMPTY >
+<!ATTLIST lt %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT geq EMPTY >
+<!ATTLIST geq %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT leq EMPTY >
+<!ATTLIST leq %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % csetrel2ary "in | notin | notsubset | notprsubset" >
+
+<!ELEMENT in EMPTY >
+<!ATTLIST in %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT notin EMPTY >
+<!ATTLIST notin %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT notsubset EMPTY >
+<!ATTLIST notsubset %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT notprsubset EMPTY >
+<!ATTLIST notprsubset %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % csetrelnary "subset | prsubset" >
+
+<!ELEMENT subset EMPTY >
+<!ATTLIST subset %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT prsubset EMPTY >
+<!ATTLIST prsubset %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % cseqrel2ary "tendsto" >
+
+<!ELEMENT tendsto EMPTY >
+<!ATTLIST tendsto %att-definition;
+ %att-type;
+ %att-globalatts; >
+
+<!-- content elements - quantifiers -->
+
+<!ENTITY % cquantifier "lowlimit | uplimit | bvar | degree | logbase" >
+
+<!ATTLIST lowlimit %att-globalatts; >
+
+<!ATTLIST uplimit %att-globalatts; >
+
+<!ATTLIST bvar %att-globalatts; >
+
+<!ATTLIST degree %att-globalatts; >
+
+<!ATTLIST logbase %att-globalatts; >
+
+<!-- operator groups -->
+
+<!ENTITY % cop1ary "%cfuncop1ary; | %carithop1ary; | %clogicop1ary;
+ | %ccalcop1ary; | %ctrigop; | %clalgop1ary; " >
+
+<!ENTITY % cop2ary "%carithop2ary; | %clogicop2ary;| %csetop2ary; " >
+
+<!ENTITY % copnary "%cfuncopnary; | %carithopnary; | %clogicopnary;
+ | %csetopnary; | %cstatopnary; | %clalgopnary; " >
+
+<!ENTITY % copmisc "%carithoproot; | %carithop1or2ary; | %ccalcop;
+ | %cseqop; | %cstatopmoment; | %clogicopquant;" >
+
+<!-- relation groups -->
+
+<!ENTITY % crel2ary "%cgenrel2ary; | %csetrel2ary; | %cseqrel2ary; " >
+
+<!ENTITY % crelnary "%cgenrelnary; | %csetrelnary;" >
+
+<!-- content constructs - all -->
+
+<!ENTITY % Content "%ctoken; | %cspecial; | %cother; | %csemantics;
+ |%cconstructor; | %cquantifier;
+ |%cop1ary; |%cop2ary; |%copnary; |%copmisc;
+ |%crel2ary; |%crelnary;" >
+
+<!-- content constructs for substitution in presentation structures -->
+
+<!ENTITY % ContInPres "ci | cn | apply | fn | lambda | reln
+ | interval | list | matrix |matrixrow
+ | set | vector | 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 ci (#PCDATA | %PresInCont;)* >
+<!ELEMENT cn (#PCDATA | sep | %PresInCont;)* >
+
+<!-- content special elements -->
+
+<!ELEMENT apply (%ContentExpression;) >
+<!ELEMENT reln (%ContentExpression;) >
+<!ELEMENT lambda (%ContentExpression;) >
+
+<!-- content other elements -->
+
+<!ELEMENT condition (%ContentExpression;) >
+<!ELEMENT declare (%ContentExpression;) >
+
+<!-- content semantics elements -->
+
+<!ELEMENT semantics (%ContentExpression;) >
+<!ELEMENT annotation (#PCDATA) >
+<!ELEMENT annotation-xml (%ContentExpression;) >
+
+<!-- content constructor elements -->
+
+<!ELEMENT interval (%ContentExpression;) >
+<!ELEMENT set (%ContentExpression;) >
+<!ELEMENT list (%ContentExpression;) >
+<!ELEMENT vector (%ContentExpression;) >
+<!ELEMENT matrix (%ContentExpression;) >
+<!ELEMENT matrixrow (%ContentExpression;) >
+
+<!-- content operator element (user-defined) -->
+
+<!ELEMENT fn (%ContentExpression;) >
+
+<!-- content quantifier elements -->
+
+<!ELEMENT lowlimit (%ContentExpression;) >
+<!ELEMENT uplimit (%ContentExpression;) >
+<!ELEMENT bvar (%ContentExpression;) >
+<!ELEMENT degree (%ContentExpression;) >
+<!ELEMENT logbase (%ContentExpression;) >
+
+<!-- ************************************************* -->
+<!-- presentation layout schema contain tokens, layout and content
+schema -->
+
+<!ELEMENT mstyle (%PresExpression;) >
+<!ELEMENT merror (%PresExpression;) >
+<!ELEMENT mphantom (%PresExpression;) >
+<!ELEMENT mrow (%PresExpression;) >
+<!ELEMENT mfrac (%PresExpression;) >
+<!ELEMENT msqrt (%PresExpression;) >
+<!ELEMENT mroot (%PresExpression;) >
+<!ELEMENT msub (%PresExpression;) >
+<!ELEMENT msup (%PresExpression;) >
+<!ELEMENT msubsup (%PresExpression;) >
+<!ELEMENT mmultiscripts (%PresExpression;) >
+<!ELEMENT munder (%PresExpression;) >
+<!ELEMENT mover (%PresExpression;) >
+<!ELEMENT munderover (%PresExpression;) >
+<!ELEMENT mtable (%PresExpression;) >
+<!ELEMENT mtr (%PresExpression;) >
+<!ELEMENT mtd (%PresExpression;) >
+<!ELEMENT maction (%PresExpression;) >
+<!ELEMENT mfenced (%PresExpression;) >
+<!ELEMENT mpadded (%PresExpression;) >
+
+<!-- presentation tokens contain PCDATA or malignmark constructs -->
+
+<!ELEMENT mi (#PCDATA | malignmark )* >
+<!ELEMENT mn (#PCDATA | malignmark )* >
+<!ELEMENT mo (#PCDATA | malignmark )* >
+<!ELEMENT mtext (#PCDATA | malignmark )* >
+<!ELEMENT ms (#PCDATA | malignmark )* >
+
+<!-- ************************************************* -->
+<!-- browser interface definition -->
+
+<!-- attributes for top level math element -->
+
+<!ENTITY % att-macros 'macros CDATA #IMPLIED' >
+<!ENTITY % att-mode 'mode CDATA #IMPLIED' >
+
+<!ENTITY % att-topinfo '%att-globalatts;
+ %att-macros;
+ %att-mode;' >
+
+<!-- attributes for browser interface element element -->
+
+<!ENTITY % att-name 'name CDATA #IMPLIED' >
+<!ENTITY % att-baseline 'baseline CDATA #IMPLIED' >
+<!ENTITY % att-overflow 'overflow
+(scroll|elide|truncate|scale) "scroll"' >
+<!ENTITY % att-altimg 'altimg CDATA #IMPLIED' >
+<!ENTITY % att-alttext 'alttext CDATA #IMPLIED' >
+
+<!ENTITY % att-browif '%att-type;
+ %att-name;
+ %att-height;
+ %att-width;
+ %att-baseline;
+ %att-overflow;
+ %att-altimg;
+ %att-alttext; ' >
+
+<!-- the top level math element -->
+<!-- math contains MathML encoded mathematics -->
+<!-- math has the browser info attributes iff it is the
+ browser interface element also -->
+
+<!ELEMENT math (%MathExpression;) >
+
+<!ATTLIST math %att-topinfo;
+ %att-browif; >
+
+
+<!-- ENTITY sets -->
+
+<!-- ISO 9573-13 -->
+
+<!ENTITY % ent-isoamsa SYSTEM "isoamsa.ent" >
+%ent-isoamsa;
+
+<!ENTITY % ent-isoamsb SYSTEM "isoamsb.ent" >
+%ent-isoamsb;
+
+<!ENTITY % ent-isoamsc SYSTEM "isoamsc.ent" >
+%ent-isoamsc;
+
+<!ENTITY % ent-isoamsn SYSTEM "isoamsn.ent" >
+%ent-isoamsn;
+
+<!ENTITY % ent-isoamso SYSTEM "isoamso.ent" >
+%ent-isoamso;
+
+<!ENTITY % ent-isoamsr SYSTEM "isoamsr.ent" >
+%ent-isoamsr;
+
+<!ENTITY % ent-isogrk3 SYSTEM "isogrk3.ent" >
+%ent-isogrk3;
+
+<!ENTITY % ent-isogrk4 SYSTEM "isogrk4.ent" >
+%ent-isogrk4;
+
+<!ENTITY % ent-isomfrk SYSTEM "isomfrk.ent" >
+%ent-isomfrk;
+
+<!ENTITY % ent-isomopf SYSTEM "isomopf.ent" >
+%ent-isomopf;
+
+<!ENTITY % ent-isomscr SYSTEM "isomscr.ent" >
+%ent-isomscr;
+
+<!ENTITY % ent-isotech SYSTEM "isotech.ent" >
+%ent-isotech;
+
+
+
+<!-- ISO 8879 -->
+
+<!ENTITY % ent-isobox SYSTEM "isobox.ent" >
+%ent-isobox;
+
+<!ENTITY % ent-isocyr1 SYSTEM "isocyr1.ent" >
+%ent-isocyr1;
+
+<!ENTITY % ent-isocyr2 SYSTEM "isocyr2.ent" >
+%ent-isocyr2;
+
+<!ENTITY % ent-isodia SYSTEM "isodia.ent" >
+%ent-isodia;
+
+<!ENTITY % ent-isogrk1 SYSTEM "isogrk1.ent" >
+%ent-isogrk1;
+
+<!ENTITY % ent-isogrk2 SYSTEM "isogrk2.ent" >
+%ent-isogrk2;
+
+<!ENTITY % ent-isolat1 SYSTEM "isolat1.ent" >
+%ent-isolat1;
+
+<!ENTITY % ent-isolat2 SYSTEM "isolat2.ent" >
+%ent-isolat2;
+
+<!ENTITY % ent-isonum SYSTEM "isonum.ent" >
+%ent-isonum;
+
+<!ENTITY % ent-isopub SYSTEM "isopub.ent" >
+%ent-isopub;
+
+<!-- MathML aliases for characters defined above -->
+
+<!ENTITY % ent-mmlalias SYSTEM "mmlalias.ent" >
+%ent-mmlalias;
+
+
+<!-- MathML new characters -->
+
+<!ENTITY % ent-mmlextra SYSTEM "mmlextra.ent" >
+%ent-mmlextra;
+
+<!-- end of ENTITY sets -->
+<!-- end of DTD fragment -->
+<!-- ************************************************* -->