Version 4.0.2.1, tag libreoffice-4.0.2.1
[LibreOffice.git] / MathMLDTD / math.dtd
blob0349e3031acf4d81a8861ef486439e7a94489ce5
1 <!-- Copyright 1997-1999 World Wide Web Consortium, -->
2 <!-- (Massachusetts Institute of Technology, -->
3 <!-- Institut National de Recherche en Informatique et en Automatique, -->
4 <!-- Keio University). All Rights Reserved. -->
5 <!-- http://www.w3.org/Consortium/Legal/ -->
7 <!-- Modified DTD for MathML 1.01 -->
8 <!-- -->
9 <!-- Original DTD: -->
10 <!-- http://www.w3.org/1999/07/REC-MathML-19990707/mmlents.zip -->
11 <!-- -->
12 <!-- modified 20. June 2001: -->
13 <!-- 1) added "math:" namespace prefix -->
14 <!-- 2) removed entity include files -->
15 <!-- 3) added copyright notice above to comply with -->
16 <!-- W3C IPR Software Notice -->
17 <!-- 4) added this comment block -->
18 <!-- Modifications are intended to ease validation -->
19 <!-- of MathML files written by StarMath 6.0 -->
22 <!-- Content model for content and presentation -->
23 <!-- and browser interface tags in MathML -->
24 <!-- initial draft 9.May.1997 syntax = XML -->
25 <!-- author = s.buswell sb@stilo.demon.co.uk -->
26 <!-- -->
27 <!-- revised 14.May.1997 by Robert Miner -->
28 <!-- revised 29.June.1997 and 2.July.1997 by s.buswell -->
29 <!-- -->
30 <!-- revised 15.December.1997 by s.buswell -->
31 <!-- revised 8.February.1998 by s.buswell -->
32 <!-- revised 4.april.1998 by s.buswell -->
33 <!-- 21.February.1999 entities and small revisions by d.carlisle -->
34 <!-- -->
35 <!-- W3C Recommendation 7 April 1998 -->
36 <!-- ************************************************* -->
38 <!-- general attribute definitions for class & style & id & other -->
39 <!-- : attributes shared by all mathml elements -->
41 <!ENTITY % att-globalatts 'math:class CDATA #IMPLIED
42 math:style CDATA #IMPLIED
43 math:id ID #IMPLIED
44 math:other CDATA #IMPLIED' >
46 <!-- ************************************************* -->
47 <!-- Presentation element set -->
49 <!-- presentation attribute definitions -->
51 <!ENTITY % att-fontsize 'math:fontsize CDATA #IMPLIED' >
52 <!ENTITY % att-fontweight 'math:fontweight (normal | bold) #IMPLIED' >
53 <!ENTITY % att-fontstyle 'math:fontstyle (normal | italic) #IMPLIED' >
54 <!ENTITY % att-fontfamily 'math:fontfamily CDATA #IMPLIED' >
55 <!ENTITY % att-color 'math:color CDATA #IMPLIED' >
57 <!ENTITY % att-fontinfo '%att-fontsize;
58 %att-fontweight;
59 %att-fontstyle;
60 %att-fontfamily;
61 %att-color;' >
63 <!ENTITY % att-form 'math:form (prefix | infix | postfix) #IMPLIED' >
64 <!ENTITY % att-fence 'math:fence (true | false ) #IMPLIED' >
65 <!ENTITY % att-separator 'math:separator (true | false ) #IMPLIED' >
66 <!ENTITY % att-lspace 'math:lspace CDATA #IMPLIED' >
67 <!ENTITY % att-rspace 'math:rspace CDATA #IMPLIED' >
68 <!ENTITY % att-stretchy 'math:stretchy (true | false ) #IMPLIED' >
69 <!ENTITY % att-symmetric 'math:symmetric (true | false ) #IMPLIED' >
70 <!ENTITY % att-maxsize 'math:maxsize CDATA #IMPLIED' >
71 <!ENTITY % att-minsize 'math:minsize CDATA #IMPLIED' >
72 <!ENTITY % att-largeop 'math:largeop (true | false ) #IMPLIED' >
73 <!ENTITY % att-movablelimits 'math:movablelimits (true | false )
74 #IMPLIED' >
75 <!ENTITY % att-accent 'math:accent (true | false) #IMPLIED'>
77 <!ENTITY % att-opinfo '%att-form;
78 %att-fence;
79 %att-separator;
80 %att-lspace;
81 %att-rspace;
82 %att-stretchy;
83 %att-symmetric;
84 %att-maxsize;
85 %att-minsize;
86 %att-largeop;
87 %att-movablelimits;
88 %att-accent;' >
90 <!ENTITY % att-width 'math:width CDATA #IMPLIED' >
91 <!ENTITY % att-height 'math:height CDATA #IMPLIED' >
92 <!ENTITY % att-depth 'math:depth CDATA #IMPLIED' >
94 <!ENTITY % att-sizeinfo '%att-width;
95 %att-height;
96 %att-depth;' >
98 <!ENTITY % att-lquote 'math:lquote CDATA #IMPLIED' >
99 <!ENTITY % att-rquote 'math:rquote CDATA #IMPLIED' >
101 <!ENTITY % att-linethickness 'math:linethickness CDATA #IMPLIED' >
103 <!ENTITY % att-scriptlevel 'math:scriptlevel CDATA #IMPLIED'>
104 <!ENTITY % att-displaystyle 'math:displaystyle (true | false)
105 #IMPLIED'>
106 <!ENTITY % att-scriptsizemultiplier 'math:scriptsizemultiplier CDATA
107 #IMPLIED' >
108 <!ENTITY % att-scriptminsize 'math:scriptminsize CDATA #IMPLIED'>
109 <!ENTITY % att-background 'math:background CDATA #IMPLIED' >
111 <!ENTITY % att-open 'math:open CDATA #IMPLIED' >
112 <!ENTITY % att-close 'math:close CDATA #IMPLIED' >
113 <!ENTITY % att-separators 'math:separators CDATA #IMPLIED' >
115 <!ENTITY % att-subscriptshift 'math:subscriptshift CDATA #IMPLIED'>
116 <!ENTITY % att-superscriptshift 'math:superscriptshift CDATA #IMPLIED' >
118 <!ENTITY % att-accentunder 'math:accentunder (true | false)
119 #IMPLIED'>
121 <!ENTITY % att-align 'math:align CDATA #IMPLIED' >
122 <!ENTITY % att-rowalign 'math:rowalign CDATA #IMPLIED' >
123 <!ENTITY % att-columnalign 'math:columnalign CDATA #IMPLIED' >
124 <!ENTITY % att-groupalign 'math:groupalign CDATA #IMPLIED' >
125 <!ENTITY % att-alignmentscope 'math:alignmentscope CDATA #IMPLIED' >
127 <!ENTITY % att-rowspacing 'math:rowspacing CDATA #IMPLIED' >
128 <!ENTITY % att-columnspacing 'math:columnspacing CDATA #IMPLIED' >
129 <!ENTITY % att-rowlines 'math:rowlines CDATA #IMPLIED' >
130 <!ENTITY % att-columnlines 'math:columnlines CDATA #IMPLIED' >
131 <!ENTITY % att-frame 'math:frame (none | solid | dashed)
132 #IMPLIED' >
133 <!ENTITY % att-framespacing 'math:framespacing CDATA #IMPLIED' >
134 <!ENTITY % att-equalrows 'math:equalrows CDATA #IMPLIED' >
135 <!ENTITY % att-equalcolumns 'math:equalcolumns CDATA #IMPLIED' >
137 <!ENTITY % att-tableinfo '%att-align;
138 %att-rowalign;
139 %att-columnalign;
140 %att-groupalign;
141 %att-alignmentscope;
142 %att-rowspacing;
143 %att-columnspacing;
144 %att-rowlines;
145 %att-columnlines;
146 %att-frame;
147 %att-framespacing;
148 %att-equalrows;
149 %att-equalcolumns;
150 %att-displaystyle;' >
152 <!ENTITY % att-rowspan 'math:rowspan CDATA #IMPLIED' >
153 <!ENTITY % att-columnspan 'math:columnspan CDATA #IMPLIED' >
155 <!ENTITY % att-edge 'math:edge (left | right) #IMPLIED ' >
157 <!ENTITY % att-actiontype 'math:actiontype CDATA #IMPLIED' >
158 <!ENTITY % att-selection 'math:selection CDATA #IMPLIED ' >
160 <!-- presentation token schemata with content-->
162 <!ENTITY % ptoken "math:mi | math:mn | math:mo | math:mtext | math:ms" >
164 <!ATTLIST math:mi %att-fontinfo;
165 %att-globalatts; >
167 <!ATTLIST math:mn %att-fontinfo;
168 %att-globalatts; >
170 <!ATTLIST math:mo %att-fontinfo;
171 %att-opinfo;
172 %att-globalatts; >
174 <!ATTLIST math:mtext %att-fontinfo;
175 %att-globalatts; >
177 <!ATTLIST math:ms %att-fontinfo;
178 %att-lquote;
179 %att-rquote;
180 %att-globalatts; >
182 <!-- empty presentation token schemata -->
184 <!ENTITY % petoken "math:mspace" >
185 <!ELEMENT math:mspace EMPTY >
187 <!ATTLIST math:mspace %att-sizeinfo;
188 %att-globalatts; >
190 <!-- presentation general layout schemata -->
192 <!ENTITY % pgenschema "math:mrow|math:mfrac|math:msqrt|math:mroot|
193 math:mstyle|math:merror|math:mpadded| math:mphantom|math:mfenced" >
195 <!ATTLIST math:mrow %att-globalatts; >
197 <!ATTLIST math:mfrac %att-linethickness;
198 %att-globalatts; >
200 <!ATTLIST math:msqrt %att-globalatts; >
202 <!ATTLIST math:mroot %att-globalatts; >
204 <!ATTLIST math:mstyle %att-fontinfo;
205 %att-opinfo;
206 %att-lquote;
207 %att-rquote;
208 %att-linethickness;
209 %att-scriptlevel;
210 %att-scriptsizemultiplier;
211 %att-scriptminsize;
212 %att-background;
213 %att-open;
214 %att-close;
215 %att-separators;
216 %att-subscriptshift;
217 %att-superscriptshift;
218 %att-accentunder;
219 %att-tableinfo;
220 %att-rowspan;
221 %att-columnspan;
222 %att-edge;
223 %att-actiontype;
224 %att-selection;
225 %att-globalatts; >
227 <!ATTLIST math:merror %att-globalatts; >
229 <!ATTLIST math:mpadded %att-sizeinfo;
230 %att-lspace;
231 %att-globalatts; >
233 <!ATTLIST math:mphantom %att-globalatts; >
235 <!ATTLIST math:mfenced %att-open;
236 %att-close;
237 %att-separators;
238 %att-globalatts; >
240 <!-- presentation layout schemata : scripts and limits -->
242 <!ENTITY % pscrschema "math:msub|math:msup|math:msubsup|
243 math:munder|math:mover|math:munderover|math:mmultiscripts" >
245 <!ATTLIST math:msub %att-subscriptshift;
246 %att-globalatts; >
248 <!ATTLIST math:msup %att-superscriptshift;
249 %att-globalatts; >
251 <!ATTLIST math:msubsup %att-subscriptshift;
252 %att-superscriptshift;
253 %att-globalatts; >
255 <!ATTLIST math:munder %att-accentunder;
256 %att-globalatts; >
258 <!ATTLIST math:mover %att-accent;
259 %att-globalatts; >
261 <!ATTLIST math:munderover %att-accent;
262 %att-accentunder;
263 %att-globalatts; >
265 <!ATTLIST math:mmultiscripts
266 %att-subscriptshift;
267 %att-superscriptshift;
268 %att-globalatts; >
270 <!-- presentation layout schemata: script empty elements -->
272 <!ENTITY % pscreschema "math:mprescripts|math:none" >
274 <!ELEMENT math:mprescripts EMPTY >
275 <!ATTLIST math:mprescripts %att-globalatts; >
277 <!ELEMENT math:none EMPTY >
278 <!ATTLIST math:none %att-globalatts; >
280 <!-- presentation layout schemata: tables -->
282 <!ENTITY % ptabschema "math:mtable|math:mtr|math:mtd" >
284 <!ATTLIST math:mtable %att-tableinfo;
285 %att-globalatts; >
287 <!ATTLIST math:mtr %att-rowalign;
288 %att-columnalign;
289 %att-groupalign;
290 %att-globalatts; >
292 <!ATTLIST math:mtd %att-rowalign;
293 %att-columnalign;
294 %att-groupalign;
295 %att-rowspan;
296 %att-columnspan;
297 %att-globalatts; >
299 <!ENTITY % plschema "%pgenschema;|%pscrschema;|%ptabschema;" >
301 <!-- empty presentation layout schemata -->
303 <!ENTITY % peschema "math:maligngroup | math:malignmark" >
305 <!ELEMENT math:malignmark EMPTY >
307 <!ATTLIST math:malignmark %att-edge;
308 %att-globalatts; >
310 <!ELEMENT math:maligngroup EMPTY >
311 <!ATTLIST math:maligngroup %att-groupalign;
312 %att-globalatts; >
314 <!-- presentation action schemata -->
316 <!ENTITY % pactions "math:maction" >
317 <!ATTLIST math:maction %att-actiontype;
318 %att-selection;
319 %att-globalatts; >
321 <!-- Presentation entity for substitution into content tag constructs -->
322 <!-- excludes elements which are not valid as expressions -->
324 <!ENTITY % PresInCont "%ptoken; | %petoken; |
325 %plschema; | %peschema; | %pactions;">
327 <!-- Presentation entity - all presentation constructs -->
329 <!ENTITY % Presentation "%ptoken; | %petoken; | %pscreschema; |
330 %plschema; | %peschema; | %pactions;">
332 <!-- ************************************************* -->
333 <!-- Content element set -->
334 <!-- attribute definitions -->
336 <!ENTITY % att-base 'math:base CDATA "10"' >
337 <!ENTITY % att-closure 'math:closure CDATA "closed"' >
338 <!ENTITY % att-definition 'math:definitionURL CDATA ""' >
339 <!ENTITY % att-encoding 'math:encoding CDATA ""' >
340 <!ENTITY % att-nargs 'math:nargs CDATA "1"' >
341 <!ENTITY % att-occurence 'math:occurence CDATA "function-model"' >
342 <!ENTITY % att-order 'math:order CDATA "numeric"' >
343 <!ENTITY % att-scope 'math:scope CDATA "local"' >
344 <!ENTITY % att-type 'math:type CDATA #IMPLIED' >
346 <!-- content leaf token elements -->
348 <!ENTITY % ctoken "math:ci | math:cn" >
350 <!ATTLIST math:ci %att-type;
351 %att-globalatts; >
353 <!ATTLIST math:cn %att-type;
354 %att-base;
355 %att-globalatts; >
357 <!-- content elements - specials -->
359 <!ENTITY % cspecial "math:apply | math:reln | math:lambda" >
361 <!ATTLIST math:apply %att-globalatts; >
363 <!ATTLIST math:reln %att-globalatts; >
365 <!ATTLIST math:lambda %att-globalatts; >
367 <!-- content elements - others -->
369 <!ENTITY % cother "math:condition | math:declare | math:sep" >
371 <!ATTLIST math:condition %att-globalatts; >
373 <!ATTLIST math:declare %att-type;
374 %att-scope;
375 %att-nargs;
376 %att-occurence;
377 %att-definition;
378 %att-globalatts; >
380 <!ELEMENT math:sep EMPTY >
381 <!ATTLIST math:sep %att-globalatts; >
383 <!-- content elements - semantic mapping -->
385 <!ENTITY % csemantics "math:semantics | math:annotation | math:annotation-xml" >
387 <!ATTLIST math:semantics %att-definition;
388 %att-globalatts; >
390 <!ATTLIST math:annotation %att-encoding;
391 %att-globalatts; >
393 <!ATTLIST math:annotation-xml %att-encoding;
394 %att-globalatts; >
396 <!-- content elements - constructors -->
398 <!ENTITY % cconstructor "math:interval | math:list | math:matrix | math:matrixrow | math:set |
399 math:vector" >
401 <!ATTLIST math:interval %att-closure;
402 %att-globalatts; >
404 <!ATTLIST math:set %att-globalatts; >
406 <!ATTLIST math:list %att-order;
407 %att-globalatts; >
409 <!ATTLIST math:vector %att-globalatts; >
411 <!ATTLIST math:matrix %att-globalatts; >
413 <!ATTLIST math:matrixrow %att-globalatts; >
415 <!-- content elements - operators -->
417 <!ENTITY % cfuncop1ary "math:inverse | math:ident " >
419 <!ELEMENT math:inverse EMPTY >
420 <!ATTLIST math:inverse %att-definition;
421 %att-globalatts; >
423 <!ENTITY % cfuncopnary "math:fn | math:compose" >
425 <!ATTLIST math:fn %att-definition;
426 %att-globalatts; >
428 <!ELEMENT math:ident EMPTY >
429 <!ATTLIST math:ident %att-definition;
430 %att-globalatts; >
432 <!ELEMENT math:compose EMPTY >
433 <!ATTLIST math:compose %att-definition;
434 %att-globalatts; >
436 <!ENTITY % carithop1ary "math:abs | math:conjugate | math:exp | math:factorial" >
438 <!ELEMENT math:exp EMPTY >
439 <!ATTLIST math:exp %att-definition;
440 %att-globalatts; >
442 <!ELEMENT math:abs EMPTY >
443 <!ATTLIST math:abs %att-definition;
444 %att-globalatts; >
446 <!ELEMENT math:conjugate EMPTY >
447 <!ATTLIST math:conjugate %att-definition;
448 %att-globalatts; >
450 <!ELEMENT math:factorial EMPTY >
451 <!ATTLIST math:factorial %att-definition;
452 %att-globalatts; >
454 <!ENTITY % carithop1or2ary "math:minus" >
456 <!ELEMENT math:minus EMPTY >
457 <!ATTLIST math:minus %att-definition;
458 %att-globalatts; >
460 <!ENTITY % carithop2ary "math:quotient | math:divide | math:power | math:rem" >
462 <!ELEMENT math:quotient EMPTY >
463 <!ATTLIST math:quotient %att-definition;
464 %att-globalatts; >
466 <!ELEMENT math:divide EMPTY >
467 <!ATTLIST math:divide %att-definition;
468 %att-globalatts; >
470 <!ELEMENT math:power EMPTY >
471 <!ATTLIST math:power %att-definition;
472 %att-globalatts; >
474 <!ELEMENT math:rem EMPTY >
475 <!ATTLIST math:rem %att-definition;
476 %att-globalatts; >
478 <!ENTITY % carithopnary "math:plus | math:times | math:max | math:min | math:gcd" >
480 <!ELEMENT math:plus EMPTY >
481 <!ATTLIST math:plus %att-definition;
482 %att-globalatts; >
484 <!ELEMENT math:max EMPTY >
485 <!ATTLIST math:max %att-definition;
486 %att-globalatts; >
488 <!ELEMENT math:min EMPTY >
489 <!ATTLIST math:min %att-definition;
490 %att-globalatts; >
492 <!ELEMENT math:times EMPTY >
493 <!ATTLIST math:times %att-definition;
494 %att-globalatts; >
496 <!ELEMENT math:gcd EMPTY >
497 <!ATTLIST math:gcd %att-definition;
498 %att-globalatts; >
500 <!ENTITY % carithoproot "math:root" >
502 <!ELEMENT math:root EMPTY >
503 <!ATTLIST math:root %att-definition;
504 %att-globalatts; >
506 <!ENTITY % clogicopquant "math:exists | math:forall" >
508 <!ELEMENT math:exists EMPTY >
509 <!ATTLIST math:exists %att-definition;
510 %att-globalatts; >
512 <!ELEMENT math:forall EMPTY >
513 <!ATTLIST math:forall %att-definition;
514 %att-globalatts; >
516 <!ENTITY % clogicopnary "math:and | math:or | math:xor" >
518 <!ELEMENT math:and EMPTY >
519 <!ATTLIST math:and %att-definition;
520 %att-globalatts; >
522 <!ELEMENT math:or EMPTY >
523 <!ATTLIST math:or %att-definition;
524 %att-globalatts; >
526 <!ELEMENT math:xor EMPTY >
527 <!ATTLIST math:xor %att-definition;
528 %att-globalatts; >
530 <!ENTITY % clogicop1ary "math:not" >
532 <!ELEMENT math:not EMPTY >
533 <!ATTLIST math:not %att-definition;
534 %att-globalatts; >
536 <!ENTITY % clogicop2ary "math:implies" >
538 <!ELEMENT math:implies EMPTY >
539 <!ATTLIST math:implies %att-definition;
540 %att-globalatts; >
542 <!ENTITY % ccalcop "math:log | math:int | math:diff | math:partialdiff" >
544 <!ELEMENT math:log EMPTY >
545 <!ATTLIST math:log %att-definition;
546 %att-globalatts; >
548 <!ELEMENT math:int EMPTY >
549 <!ATTLIST math:int %att-definition;
550 %att-globalatts; >
552 <!ELEMENT math:diff EMPTY >
553 <!ATTLIST math:diff %att-definition;
554 %att-globalatts; >
556 <!ELEMENT math:partialdiff EMPTY >
557 <!ATTLIST math:partialdiff %att-definition;
558 %att-globalatts; >
560 <!ENTITY % ccalcop1ary "math:ln" >
562 <!ELEMENT math:ln EMPTY >
563 <!ATTLIST math:ln %att-definition;
564 %att-globalatts; >
566 <!ENTITY % csetop2ary "math:setdiff" >
568 <!ELEMENT math:setdiff EMPTY >
569 <!ATTLIST math:setdiff %att-definition;
570 %att-globalatts; >
572 <!ENTITY % csetopnary "math:union | math:intersect" >
574 <!ELEMENT math:union EMPTY >
575 <!ATTLIST math:union %att-definition;
576 %att-globalatts; >
578 <!ELEMENT math:intersect EMPTY >
579 <!ATTLIST math:intersect %att-definition;
580 %att-globalatts; >
582 <!ENTITY % cseqop "math:sum | math:product | math:limit" >
584 <!ELEMENT math:sum EMPTY >
585 <!ATTLIST math:sum %att-definition;
586 %att-globalatts; >
588 <!ELEMENT math:product EMPTY >
589 <!ATTLIST math:product %att-definition;
590 %att-globalatts; >
592 <!ELEMENT math:limit EMPTY >
593 <!ATTLIST math:limit %att-definition;
594 %att-globalatts; >
596 <!ENTITY % ctrigop "math:sin | math:cos | math:tan | math:sec | math:csc | math:cot | math:sinh
597 | math:cosh | math:tanh | math:sech | math:csch | math:coth
598 | math:arcsin | math:arccos | math:arctan" >
600 <!ELEMENT math:sin EMPTY >
601 <!ATTLIST math:sin %att-definition;
602 %att-globalatts; >
604 <!ELEMENT math:cos EMPTY >
605 <!ATTLIST math:cos %att-definition;
606 %att-globalatts; >
608 <!ELEMENT math:tan EMPTY >
609 <!ATTLIST math:tan %att-definition;
610 %att-globalatts; >
612 <!ELEMENT math:sec EMPTY >
613 <!ATTLIST math:sec %att-definition;
614 %att-globalatts; >
616 <!ELEMENT math:csc EMPTY >
617 <!ATTLIST math:csc %att-definition;
618 %att-globalatts; >
620 <!ELEMENT math:cot EMPTY >
621 <!ATTLIST math:cot %att-definition;
622 %att-globalatts; >
624 <!ELEMENT math:sinh EMPTY >
625 <!ATTLIST math:sinh %att-definition;
626 %att-globalatts; >
628 <!ELEMENT math:cosh EMPTY >
629 <!ATTLIST math:cosh %att-definition;
630 %att-globalatts; >
632 <!ELEMENT math:tanh EMPTY >
633 <!ATTLIST math:tanh %att-definition;
634 %att-globalatts; >
636 <!ELEMENT math:sech EMPTY >
637 <!ATTLIST math:sech %att-definition;
638 %att-globalatts; >
640 <!ELEMENT math:csch EMPTY >
641 <!ATTLIST math:csch %att-definition;
642 %att-globalatts; >
644 <!ELEMENT math:coth EMPTY >
645 <!ATTLIST math:coth %att-definition;
646 %att-globalatts; >
648 <!ELEMENT math:arcsin EMPTY >
649 <!ATTLIST math:arcsin %att-definition;
650 %att-globalatts; >
652 <!ELEMENT math:arccos EMPTY >
653 <!ATTLIST math:arccos %att-definition;
654 %att-globalatts; >
656 <!ELEMENT math:arctan EMPTY >
657 <!ATTLIST math:arctan %att-definition;
658 %att-globalatts; >
660 <!ENTITY % cstatopnary "math:mean | math:sdev | math:variance | math:median | math:mode" >
662 <!ELEMENT math:mean EMPTY >
663 <!ATTLIST math:mean %att-definition;
664 %att-globalatts; >
666 <!ELEMENT math:sdev EMPTY >
667 <!ATTLIST math:sdev %att-definition;
668 %att-globalatts; >
670 <!ELEMENT math:variance EMPTY >
671 <!ATTLIST math:variance %att-definition;
672 %att-globalatts; >
674 <!ELEMENT math:median EMPTY >
675 <!ATTLIST math:median %att-definition;
676 %att-globalatts; >
678 <!ELEMENT math:mode EMPTY >
679 <!ATTLIST math:mode %att-definition;
680 %att-globalatts; >
682 <!ENTITY % cstatopmoment "math:moment" >
684 <!ELEMENT math:moment EMPTY >
685 <!ATTLIST math:moment %att-definition;
686 %att-globalatts; >
688 <!ENTITY % clalgop1ary "math:determinant | math:transpose" >
690 <!ELEMENT math:determinant EMPTY >
691 <!ATTLIST math:determinant %att-definition;
692 %att-globalatts; >
694 <!ELEMENT math:transpose EMPTY >
695 <!ATTLIST math:transpose %att-definition;
696 %att-globalatts; >
698 <!ENTITY % clalgopnary "math:selector" >
700 <!ELEMENT math:selector EMPTY >
701 <!ATTLIST math:selector %att-definition;
702 %att-globalatts; >
704 <!-- content elements - relations -->
706 <!ENTITY % cgenrel2ary "math:neq" >
708 <!ELEMENT math:neq EMPTY >
709 <!ATTLIST math:neq %att-definition;
710 %att-globalatts; >
712 <!ENTITY % cgenrelnary "math:eq | math:leq | math:lt | math:geq | math:gt" >
714 <!ELEMENT math:eq EMPTY >
715 <!ATTLIST math:eq %att-definition;
716 %att-globalatts; >
718 <!ELEMENT math:gt EMPTY >
719 <!ATTLIST math:gt %att-definition;
720 %att-globalatts; >
722 <!ELEMENT math:lt EMPTY >
723 <!ATTLIST math:lt %att-definition;
724 %att-globalatts; >
726 <!ELEMENT math:geq EMPTY >
727 <!ATTLIST math:geq %att-definition;
728 %att-globalatts; >
730 <!ELEMENT math:leq EMPTY >
731 <!ATTLIST math:leq %att-definition;
732 %att-globalatts; >
734 <!ENTITY % csetrel2ary "math:in | math:notin | math:notsubset | math:notprsubset" >
736 <!ELEMENT math:in EMPTY >
737 <!ATTLIST math:in %att-definition;
738 %att-globalatts; >
740 <!ELEMENT math:notin EMPTY >
741 <!ATTLIST math:notin %att-definition;
742 %att-globalatts; >
744 <!ELEMENT math:notsubset EMPTY >
745 <!ATTLIST math:notsubset %att-definition;
746 %att-globalatts; >
748 <!ELEMENT math:notprsubset EMPTY >
749 <!ATTLIST math:notprsubset %att-definition;
750 %att-globalatts; >
752 <!ENTITY % csetrelnary "math:subset | math:prsubset" >
754 <!ELEMENT math:subset EMPTY >
755 <!ATTLIST math:subset %att-definition;
756 %att-globalatts; >
758 <!ELEMENT math:prsubset EMPTY >
759 <!ATTLIST math:prsubset %att-definition;
760 %att-globalatts; >
762 <!ENTITY % cseqrel2ary "math:tendsto" >
764 <!ELEMENT math:tendsto EMPTY >
765 <!ATTLIST math:tendsto %att-definition;
766 %att-type;
767 %att-globalatts; >
769 <!-- content elements - quantifiers -->
771 <!ENTITY % cquantifier "math:lowlimit | math:uplimit | math:bvar | math:degree | math:logbase" >
773 <!ATTLIST math:lowlimit %att-globalatts; >
775 <!ATTLIST math:uplimit %att-globalatts; >
777 <!ATTLIST math:bvar %att-globalatts; >
779 <!ATTLIST math:degree %att-globalatts; >
781 <!ATTLIST math:logbase %att-globalatts; >
783 <!-- operator groups -->
785 <!ENTITY % cop1ary "%cfuncop1ary; | %carithop1ary; | %clogicop1ary;
786 | %ccalcop1ary; | %ctrigop; | %clalgop1ary; " >
788 <!ENTITY % cop2ary "%carithop2ary; | %clogicop2ary;| %csetop2ary; " >
790 <!ENTITY % copnary "%cfuncopnary; | %carithopnary; | %clogicopnary;
791 | %csetopnary; | %cstatopnary; | %clalgopnary; " >
793 <!ENTITY % copmisc "%carithoproot; | %carithop1or2ary; | %ccalcop;
794 | %cseqop; | %cstatopmoment; | %clogicopquant;" >
796 <!-- relation groups -->
798 <!ENTITY % crel2ary "%cgenrel2ary; | %csetrel2ary; | %cseqrel2ary; " >
800 <!ENTITY % crelnary "%cgenrelnary; | %csetrelnary;" >
802 <!-- content constructs - all -->
804 <!ENTITY % Content "%ctoken; | %cspecial; | %cother; | %csemantics;
805 |%cconstructor; | %cquantifier;
806 |%cop1ary; |%cop2ary; |%copnary; |%copmisc;
807 |%crel2ary; |%crelnary;" >
809 <!-- content constructs for substitution in presentation structures -->
811 <!ENTITY % ContInPres "math:ci | math:cn | math:apply | math:fn | math:lambda | math:reln
812 | math:interval | math:list | math:matrix |math:matrixrow
813 | math:set | math:vector | math:semantics" > <!--dpc-->
815 <!-- ************************************************* -->
817 <!-- recursive definition for content of expressions -->
818 <!-- include presentation tag constructs at lowest level -->
819 <!-- so presentation layout schemata hold presentation or Content -->
820 <!-- include Content tag constructs at lowest level -->
821 <!-- so Content tokens hold PCDATA or Presentation at leaf level -->
822 <!-- (for permitted substitutable elements in context) -->
824 <!ENTITY % ContentExpression "(%Content; | %PresInCont;)* " >
825 <!ENTITY % PresExpression "(%Presentation; | %ContInPres;)* " >
826 <!ENTITY % MathExpression "(%PresInCont; | %ContInPres;)* " >
828 <!-- content token elements (may hold embedded presentation constructs)
831 <!ELEMENT math:ci (#PCDATA | %PresInCont;)* >
832 <!ELEMENT math:cn (#PCDATA | math:sep | %PresInCont;)* >
834 <!-- content special elements -->
836 <!ELEMENT math:apply (%ContentExpression;) >
837 <!ELEMENT math:reln (%ContentExpression;) >
838 <!ELEMENT math:lambda (%ContentExpression;) >
840 <!-- content other elements -->
842 <!ELEMENT math:condition (%ContentExpression;) >
843 <!ELEMENT math:declare (%ContentExpression;) >
845 <!-- content semantics elements -->
847 <!ELEMENT math:semantics (%ContentExpression;) >
848 <!ELEMENT math:annotation (#PCDATA) >
849 <!ELEMENT math:annotation-xml (%ContentExpression;) >
851 <!-- content constructor elements -->
853 <!ELEMENT math:interval (%ContentExpression;) >
854 <!ELEMENT math:set (%ContentExpression;) >
855 <!ELEMENT math:list (%ContentExpression;) >
856 <!ELEMENT math:vector (%ContentExpression;) >
857 <!ELEMENT math:matrix (%ContentExpression;) >
858 <!ELEMENT math:matrixrow (%ContentExpression;) >
860 <!-- content operator element (user-defined) -->
862 <!ELEMENT math:fn (%ContentExpression;) >
864 <!-- content quantifier elements -->
866 <!ELEMENT math:lowlimit (%ContentExpression;) >
867 <!ELEMENT math:uplimit (%ContentExpression;) >
868 <!ELEMENT math:bvar (%ContentExpression;) >
869 <!ELEMENT math:degree (%ContentExpression;) >
870 <!ELEMENT math:logbase (%ContentExpression;) >
872 <!-- ************************************************* -->
873 <!-- presentation layout schema contain tokens, layout and content
874 schema -->
876 <!ELEMENT math:mstyle (%PresExpression;) >
877 <!ELEMENT math:merror (%PresExpression;) >
878 <!ELEMENT math:mphantom (%PresExpression;) >
879 <!ELEMENT math:mrow (%PresExpression;) >
880 <!ELEMENT math:mfrac (%PresExpression;) >
881 <!ELEMENT math:msqrt (%PresExpression;) >
882 <!ELEMENT math:mroot (%PresExpression;) >
883 <!ELEMENT math:msub (%PresExpression;) >
884 <!ELEMENT math:msup (%PresExpression;) >
885 <!ELEMENT math:msubsup (%PresExpression;) >
886 <!ELEMENT math:mmultiscripts (%PresExpression;) >
887 <!ELEMENT math:munder (%PresExpression;) >
888 <!ELEMENT math:mover (%PresExpression;) >
889 <!ELEMENT math:munderover (%PresExpression;) >
890 <!ELEMENT math:mtable (%PresExpression;) >
891 <!ELEMENT math:mtr (%PresExpression;) >
892 <!ELEMENT math:mtd (%PresExpression;) >
893 <!ELEMENT math:maction (%PresExpression;) >
894 <!ELEMENT math:mfenced (%PresExpression;) >
895 <!ELEMENT math:mpadded (%PresExpression;) >
897 <!-- presentation tokens contain PCDATA or malignmark constructs -->
899 <!ELEMENT math:mi (#PCDATA | math:malignmark )* >
900 <!ELEMENT math:mn (#PCDATA | math:malignmark )* >
901 <!ELEMENT math:mo (#PCDATA | math:malignmark )* >
902 <!ELEMENT math:mtext (#PCDATA | math:malignmark )* >
903 <!ELEMENT math:ms (#PCDATA | math:malignmark )* >
905 <!-- ************************************************* -->
906 <!-- browser interface definition -->
908 <!-- attributes for top level math element -->
910 <!ENTITY % att-macros 'math:macros CDATA #IMPLIED' >
911 <!ENTITY % att-mode 'math:mode CDATA #IMPLIED' >
913 <!ENTITY % att-topinfo '%att-globalatts;
914 %att-macros;
915 %att-mode;' >
917 <!-- attributes for browser interface element element -->
919 <!ENTITY % att-name 'math:name CDATA #IMPLIED' >
920 <!ENTITY % att-baseline 'math:baseline CDATA #IMPLIED' >
921 <!ENTITY % att-overflow 'math:overflow
922 (scroll|elide|truncate|scale) "scroll"' >
923 <!ENTITY % att-altimg 'math:altimg CDATA #IMPLIED' >
924 <!ENTITY % att-alttext 'math:alttext CDATA #IMPLIED' >
926 <!ENTITY % att-browif '%att-type;
927 %att-name;
928 %att-height;
929 %att-width;
930 %att-baseline;
931 %att-overflow;
932 %att-altimg;
933 %att-alttext; ' >
935 <!-- the top level math element -->
936 <!-- math contains MathML encoded mathematics -->
937 <!-- math has the browser info attributes iff it is the
938 browser interface element also -->
940 <!ELEMENT math:math (%MathExpression;) >
942 <!ATTLIST math:math %att-topinfo;
943 %att-browif; >
946 <!-- ENTITY sets -->
948 <!-- ... removed ... -->
951 <!-- MathML new characters -->
953 <!-- ... removed ... -->
955 <!-- end of ENTITY sets -->
956 <!-- end of DTD fragment -->
957 <!-- ************************************************* -->