1 <!-- MathML 2.0 DTD ....................................................... -->
7 This is the Mathematical Markup Language (MathML) 2.0, an XML
8 application for describing mathematical notation and capturing
9 both its structure and content.
11 Copyright 1998-2000 World Wide Web Consortium
12 (Massachusetts Institute of Technology, Institut National de
13 Recherche en Informatique et en Automatique, Keio University).
16 Permission to use, copy, modify and distribute the XHTML 1.1 DTD and
17 its accompanying documentation for any purpose and without fee is
18 hereby granted in perpetuity, provided that the above copyright notice
19 and this paragraph appear in all copies. The copyright holders make
20 no representation about the suitability of the DTD for any purpose.
22 It is provided "as is" without expressed or implied warranty.
26 This entity may be identified by the PUBLIC and SYSTEM identifiers:
28 PUBLIC "-//W3C//DTD MathML 2.0//EN"
31 Revisions: editor and revision history at EOF
35 <!-- MathML Qualified Names module ............................... -->
36 <!ENTITY % mathml-qname.module "INCLUDE" >
37 <![%mathml-qname.module;[
38 <!ENTITY % mathml-qname.mod
39 PUBLIC "-//W3C//ENTITIES MathML 2.0 Qualified Names 1.0//EN"
40 "mathml2-qname-1.mod" >
43 <!-- if %NS.prefixed; is INCLUDE, include all NS attributes,
44 otherwise just those associated with MathML
47 <!-- HELM: %NamespaceDecl.attrib; not declared !! ENTITY substituted
48 <!ENTITY % MATHML.NamespaceDecl.attrib
49 "%NamespaceDecl.attrib;"
51 <!ENTITY % MATHML.NamespaceDecl.attrib
52 "%MATHML.xmlns.attrib;"
55 <!ENTITY % MATHML.NamespaceDecl.attrib
56 "%MATHML.xmlns.attrib;"
59 <!-- Attributes shared by all elements .......................... -->
61 <!ENTITY % MATHML.Common.attrib
62 "%MATHML.NamespaceDecl.attrib;
63 xlink:href CDATA #IMPLIED
71 <!-- Presentation element set ................................... -->
73 <!-- Attribute definitions -->
75 <!ENTITY % att-fontsize
76 "fontsize CDATA #IMPLIED" >
77 <!ENTITY % att-fontweight
78 "fontweight ( normal | bold ) #IMPLIED" >
79 <!ENTITY % att-fontstyle
80 "fontstyle ( normal | italic ) #IMPLIED" >
81 <!ENTITY % att-fontfamily
82 "fontfamily CDATA #IMPLIED" >
84 "color CDATA #IMPLIED" >
86 <!ENTITY % att-fontinfo
95 "form ( prefix | infix | postfix ) #IMPLIED" >
97 "fence ( true | false ) #IMPLIED" >
98 <!ENTITY % att-separator
99 "separator ( true | false ) #IMPLIED" >
100 <!ENTITY % att-lspace
101 "lspace CDATA #IMPLIED" >
102 <!ENTITY % att-rspace
103 "rspace CDATA #IMPLIED" >
104 <!ENTITY % att-stretchy
105 "stretchy ( true | false ) #IMPLIED" >
106 <!ENTITY % att-symmetric
107 "symmetric ( true | false ) #IMPLIED" >
108 <!ENTITY % att-maxsize
109 "maxsize CDATA #IMPLIED" >
110 <!ENTITY % att-minsize
111 "minsize CDATA #IMPLIED" >
112 <!ENTITY % att-largeop
113 "largeop ( true | false) #IMPLIED" >
114 <!ENTITY % att-movablelimits
115 "movablelimits ( true | false ) #IMPLIED" >
116 <!ENTITY % att-accent
117 "accent ( true | false ) #IMPLIED" >
119 <!ENTITY % att-opinfo
134 "width CDATA #IMPLIED" >
135 <!ENTITY % att-height
136 "height CDATA #IMPLIED" >
138 "depth CDATA #IMPLIED" >
139 <!ENTITY % att-linebreak
140 "linebreak CDATA #IMPLIED" >
141 <!ENTITY % att-sizeinfo
146 <!ENTITY % att-lquote
147 "lquote CDATA #IMPLIED" >
148 <!ENTITY % att-rquote
149 "rquote CDATA #IMPLIED" >
150 <!ENTITY % att-linethickness
151 "linethickness CDATA #IMPLIED" >
152 <!ENTITY % att-scriptlevel
153 "scriptlevel CDATA #IMPLIED" >
154 <!ENTITY % att-displaystyle
155 "displaystyle ( true | false ) #IMPLIED" >
156 <!ENTITY % att-scriptsizemultiplier
157 "scriptsizemultiplier CDATA #IMPLIED" >
158 <!ENTITY % att-scriptminsize
159 "scriptminsize CDATA #IMPLIED" >
160 <!ENTITY % att-background
161 "background CDATA #IMPLIED" >
163 "open CDATA #IMPLIED" >
165 "close CDATA #IMPLIED" >
166 <!ENTITY % att-separators
167 "separators CDATA #IMPLIED" >
168 <!ENTITY % att-subscriptshift
169 "subscriptshift CDATA #IMPLIED" >
170 <!ENTITY % att-superscriptshift
171 "superscriptshift CDATA #IMPLIED" >
172 <!ENTITY % att-accentunder
173 "accentunder ( true | false ) #IMPLIED" >
175 "align CDATA #IMPLIED" >
176 <!ENTITY % att-rowalign
177 "rowalign CDATA #IMPLIED" >
178 <!ENTITY % att-columnalign
179 "columnalign CDATA #IMPLIED" >
180 <!ENTITY % att-columnwidth
181 "columnwidth CDATA #IMPLIED" >
182 <!ENTITY % att-groupalign
183 "groupalign CDATA #IMPLIED" >
184 <!ENTITY % att-alignmentscope
185 "alignmentscope CDATA #IMPLIED" >
186 <!ENTITY % att-rowspacing
187 "rowspacing CDATA #IMPLIED" >
188 <!ENTITY % att-columnspacing
189 "columnspacing CDATA #IMPLIED" >
190 <!ENTITY % att-rowlines
191 "rowlines CDATA #IMPLIED" >
192 <!ENTITY % att-columnlines
193 "columnlines CDATA #IMPLIED" >
195 "frame ( none | solid | dashed ) #IMPLIED" >
196 <!ENTITY % att-framespacing
197 "framespacing CDATA #IMPLIED" >
198 <!ENTITY % att-equalrows
199 "equalrows CDATA #IMPLIED" >
200 <!ENTITY % att-equalcolumns
201 "equalcolumns CDATA #IMPLIED" >
203 <!ENTITY % att-tableinfo
221 <!ENTITY % att-rowspan
222 "rowspan CDATA #IMPLIED" >
223 <!ENTITY % att-columnspan
224 "columnspan CDATA #IMPLIED" >
226 "edge ( left | right ) #IMPLIED" >
227 <!ENTITY % att-actiontype
228 "actiontype CDATA #IMPLIED" >
229 <!ENTITY % att-selection
230 "selection CDATA #IMPLIED" >
233 "name CDATA #IMPLIED" >
235 "alt CDATA #IMPLIED" >
237 "index CDATA #IMPLIED" >
239 <!ENTITY % att-bevelled
240 "bevelled CDATA #IMPLIED" >
242 <!-- Presentation schemata with content -->
245 "%mi.qname; | %mn.qname; | %mo.qname;
246 | %mtext.qname; | %ms.qname;" >
249 %MATHML.Common.attrib;
254 %MATHML.Common.attrib;
259 %MATHML.Common.attrib;
264 <!ATTLIST %mtext.qname;
265 %MATHML.Common.attrib;
270 %MATHML.Common.attrib;
276 <!-- Empty presentation schemata -->
280 <!ELEMENT %mspace.qname; EMPTY >
282 <!ATTLIST %mspace.qname;
285 %MATHML.Common.attrib;
288 <!-- Presentation: general layout schemata -->
290 <!ENTITY % pgenschema
291 "%mrow.qname; | %mfrac.qname; | %msqrt.qname; | %mroot.qname;
292 | %menclose.qname; | %mstyle.qname; | %merror.qname;
293 | %mpadded.qname; | %mphantom.qname; | %mfenced.qname;" >
295 <!ATTLIST %mrow.qname;
296 %MATHML.Common.attrib;
299 <!ATTLIST %mfrac.qname;
300 %MATHML.Common.attrib;
305 <!ATTLIST %msqrt.qname;
306 %MATHML.Common.attrib;
309 <!ATTLIST %menclose.qname;
310 %MATHML.Common.attrib;
311 notation CDATA 'longdiv' >
313 <!ATTLIST %mroot.qname;
314 %MATHML.Common.attrib;
317 <!ATTLIST %mstyle.qname;
318 %MATHML.Common.attrib;
325 %att-scriptsizemultiplier;
332 %att-superscriptshift;
342 <!ATTLIST %merror.qname;
343 %MATHML.Common.attrib;
346 <!ATTLIST %mpadded.qname;
347 %MATHML.Common.attrib;
352 <!ATTLIST %mphantom.qname;
353 %MATHML.Common.attrib;
356 <!ATTLIST %mfenced.qname;
357 %MATHML.Common.attrib;
363 <!-- Presentation layout schemata: scripts and limits -->
365 <!ENTITY % pscrschema
366 "%msub.qname; | %msup.qname; | %msubsup.qname; | %munder.qname;
367 | %mover.qname; | %munderover.qname; | %mmultiscripts.qname;" >
369 <!ATTLIST %msub.qname;
370 %MATHML.Common.attrib;
374 <!ATTLIST %msup.qname;
375 %MATHML.Common.attrib;
376 %att-superscriptshift;
379 <!ATTLIST %msubsup.qname;
380 %MATHML.Common.attrib;
382 %att-superscriptshift;
385 <!ATTLIST %munder.qname;
386 %MATHML.Common.attrib;
390 <!ATTLIST %mover.qname;
391 %MATHML.Common.attrib;
395 <!ATTLIST %munderover.qname;
396 %MATHML.Common.attrib;
401 <!ATTLIST %mmultiscripts.qname;
402 %MATHML.Common.attrib;
404 %att-superscriptshift;
407 <!-- Presentation layout schemata: empty elements for scripts -->
409 <!ENTITY % pscreschema
410 "%mprescripts.qname; | %none.qname;" >
412 <!ELEMENT %mprescripts.qname; EMPTY >
413 <!ATTLIST %mprescripts.qname;
414 %MATHML.xmlns.attrib; >
416 <!ELEMENT %none.qname; EMPTY >
417 <!ATTLIST %none.qname;
418 %MATHML.xmlns.attrib; >
420 <!-- Presentation layout schemata: tables -->
422 <!ENTITY % ptabschema
423 "%mtable.qname; | %mtr.qname; | %mlabeledtr.qname; | %mtd.qname;" >
425 <!ATTLIST %mtable.qname;
426 %MATHML.Common.attrib;
430 <!ATTLIST %mtr.qname;
431 %MATHML.Common.attrib;
437 <!ATTLIST %mlabeledtr.qname;
438 %MATHML.Common.attrib;
444 <!ATTLIST %mtd.qname;
445 %MATHML.Common.attrib;
454 "%pgenschema; | %pscrschema; | %ptabschema;" >
456 <!-- Empty presentation layout schemata -->
459 "%maligngroup.qname; | %malignmark.qname;" >
461 <!ELEMENT %malignmark.qname; EMPTY >
463 <!ATTLIST %malignmark.qname;
466 <!ELEMENT %maligngroup.qname; EMPTY >
467 <!ATTLIST %maligngroup.qname;
468 %MATHML.Common.attrib;
472 <!ELEMENT %mchar.qname; EMPTY >
473 <!ATTLIST %mchar.qname;
476 <!ELEMENT %mglyph.qname; EMPTY >
477 <!ATTLIST %mglyph.qname;
482 <!-- Presentation action schemata -->
486 <!ATTLIST %maction.qname;
487 %MATHML.Common.attrib;
492 <!-- The following entity for substitution into
493 content constructs excludes elements that
494 are not valid as expressions.
497 <!ENTITY % PresInCont
498 "%ptoken; | %petoken; |
499 %plschema; | %peschema; | %pactions;" >
501 <!-- Presentation entity: all presentation constructs -->
503 <!ENTITY % Presentation
504 "%ptoken; | %petoken; | %pscreschema; |
505 %plschema; | %peschema; | %pactions;">
507 <!-- Content element set ........................................ -->
509 <!-- Attribute definitions -->
513 <!ENTITY % att-closure
514 "closure CDATA 'closed'" >
515 <!ENTITY % att-definition
516 "definitionURL CDATA ''" >
517 <!ENTITY % att-encoding
518 "encoding CDATA ''" >
521 <!ENTITY % att-occurrence
522 "occurrence CDATA 'function-model'" >
524 "order CDATA 'numeric'" >
526 "scope CDATA 'local'" >
528 "type CDATA #IMPLIED" >
530 <!-- Content elements: leaf nodes -->
533 "%csymbol.qname; | %ci.qname; | %cn.qname;" >
536 %MATHML.Common.attrib;
542 <!ATTLIST %csymbol.qname;
543 %MATHML.Common.attrib;
550 %MATHML.Common.attrib;
557 <!-- Content elements: specials -->
560 "%apply.qname; | %reln.qname; |
563 <!ATTLIST %apply.qname;
564 %MATHML.Common.attrib;
567 <!ATTLIST %reln.qname;
568 %MATHML.Common.attrib;
571 <!ATTLIST %lambda.qname;
572 %MATHML.Common.attrib;
575 <!-- Content elements: others -->
576 <!-- HELM: added the content element type to cother-->
578 "%condition.qname; | %declare.qname; | %sep.qname; | %type.qname;" >
580 <!ATTLIST %condition.qname;
581 %MATHML.Common.attrib;
584 <!ATTLIST %declare.qname;
585 %MATHML.Common.attrib;
594 <!-- HELM: added attributes to the type element -->
595 <!ATTLIST %type.qname; %MATHML.Common.attrib; >
597 <!ELEMENT %sep.qname; EMPTY >
598 <!ATTLIST %sep.qname;
599 %MATHML.xmlns.attrib; >
601 <!-- Content elements: semantic mapping -->
603 <!ENTITY % csemantics
604 "%semantics.qname; | %annotation.qname; |
605 %annotation-xml.qname;" >
607 <!ATTLIST %semantics.qname;
608 %MATHML.Common.attrib;
613 <!ATTLIST %annotation.qname;
614 %MATHML.Common.attrib;
618 <!ATTLIST %annotation-xml.qname;
619 %MATHML.Common.attrib;
623 <!-- Content elements: constructors -->
625 <!ENTITY % cconstructor
626 "%interval.qname; | %list.qname; | %matrix.qname;
627 | %matrixrow.qname; | %set.qname; | %vector.qname;" >
629 <!ATTLIST %interval.qname;
630 %MATHML.Common.attrib;
634 <!ATTLIST %set.qname;
635 %MATHML.Common.attrib;
639 <!ATTLIST %list.qname;
640 %MATHML.Common.attrib;
644 <!ATTLIST %vector.qname;
645 %MATHML.Common.attrib;
648 <!ATTLIST %matrix.qname;
649 %MATHML.Common.attrib;
652 <!ATTLIST %matrixrow.qname;
653 %MATHML.Common.attrib;
656 <!-- Content elements: symbols -->
662 %naturalnumbers.qname; |
665 %exponentiale.qname; |
675 <!ELEMENT %integers.qname; EMPTY >
676 <!ATTLIST %integers.qname;
677 %MATHML.Common.attrib;
682 <!ELEMENT %reals.qname; EMPTY >
683 <!ATTLIST %reals.qname;
684 %MATHML.Common.attrib;
689 <!ELEMENT %rationals.qname; EMPTY >
690 <!ATTLIST %rationals.qname;
691 %MATHML.Common.attrib;
696 <!ELEMENT %naturalnumbers.qname; EMPTY >
697 <!ATTLIST %naturalnumbers.qname;
698 %MATHML.Common.attrib;
703 <!ELEMENT %complexes.qname; EMPTY >
704 <!ATTLIST %complexes.qname;
705 %MATHML.Common.attrib;
710 <!ELEMENT %primes.qname; EMPTY >
711 <!ATTLIST %primes.qname;
712 %MATHML.Common.attrib;
717 <!ELEMENT %exponentiale.qname; EMPTY >
718 <!ATTLIST %exponentiale.qname;
719 %MATHML.Common.attrib;
724 <!ELEMENT %imaginaryi.qname; EMPTY >
725 <!ATTLIST %imaginaryi.qname;
726 %MATHML.Common.attrib;
731 <!ELEMENT %notanumber.qname; EMPTY >
732 <!ATTLIST %notanumber.qname;
733 %MATHML.Common.attrib;
738 <!ELEMENT %true.qname; EMPTY >
739 <!ATTLIST %true.qname;
740 %MATHML.Common.attrib;
745 <!ELEMENT %false.qname; EMPTY >
746 <!ATTLIST %false.qname;
747 %MATHML.Common.attrib;
752 <!ELEMENT %emptyset.qname; EMPTY >
753 <!ATTLIST %emptyset.qname;
754 %MATHML.Common.attrib;
759 <!ELEMENT %pi.qname; EMPTY >
761 %MATHML.Common.attrib;
766 <!ELEMENT %eulergamma.qname; EMPTY >
767 <!ATTLIST %eulergamma.qname;
768 %MATHML.Common.attrib;
773 <!ELEMENT %infinity.qname; EMPTY >
774 <!ATTLIST %infinity.qname;
775 %MATHML.Common.attrib;
780 <!-- Content elements: operators -->
782 <!ENTITY % cfuncop1ary
783 "%inverse.qname; | %ident.qname;" >
785 <!ELEMENT %inverse.qname; EMPTY >
786 <!ATTLIST %inverse.qname;
787 %MATHML.Common.attrib;
792 <!ENTITY % cfuncopnary
793 "%fn.qname; | %compose.qname;" >
796 %MATHML.Common.attrib;
801 <!ELEMENT %ident.qname; EMPTY >
802 <!ATTLIST %ident.qname;
803 %MATHML.Common.attrib;
808 <!ELEMENT %compose.qname; EMPTY >
809 <!ATTLIST %compose.qname;
810 %MATHML.Common.attrib;
815 <!ENTITY % carithop1ary
816 "%abs.qname; | %conjugate.qname; | %exp.qname; | %factorial.qname; |
817 %arg.qname; | %real.qname; | %imaginary.qname;" >
819 <!ELEMENT %exp.qname; EMPTY >
820 <!ATTLIST %exp.qname;
821 %MATHML.Common.attrib;
826 <!ELEMENT %abs.qname; EMPTY >
827 <!ATTLIST %abs.qname;
828 %MATHML.Common.attrib;
833 <!ELEMENT %arg.qname; EMPTY >
834 <!ATTLIST %arg.qname;
835 %MATHML.Common.attrib;
840 <!ELEMENT %real.qname; EMPTY >
841 <!ATTLIST %real.qname;
842 %MATHML.Common.attrib;
847 <!ELEMENT %imaginary.qname; EMPTY >
848 <!ATTLIST %imaginary.qname;
849 %MATHML.Common.attrib;
854 <!ELEMENT %conjugate.qname; EMPTY >
855 <!ATTLIST %conjugate.qname;
856 %MATHML.Common.attrib;
861 <!ELEMENT %factorial.qname; EMPTY >
862 <!ATTLIST %factorial.qname;
863 %MATHML.Common.attrib;
868 <!ENTITY % carithop1or2ary
871 <!ELEMENT %minus.qname; EMPTY >
872 <!ATTLIST %minus.qname;
873 %MATHML.Common.attrib;
878 <!ENTITY % carithop2ary
879 "%quotient.qname; | %divide.qname; | %power.qname; | %rem.qname;" >
881 <!ELEMENT %quotient.qname; EMPTY >
882 <!ATTLIST %quotient.qname;
883 %MATHML.Common.attrib;
888 <!ELEMENT %divide.qname; EMPTY >
889 <!ATTLIST %divide.qname;
890 %MATHML.Common.attrib;
895 <!ELEMENT %power.qname; EMPTY >
896 <!ATTLIST %power.qname;
897 %MATHML.Common.attrib;
902 <!ELEMENT %rem.qname; EMPTY >
903 <!ATTLIST %rem.qname;
904 %MATHML.Common.attrib;
909 <!ENTITY % carithopnary
910 "%plus.qname; | %times.qname; | %max.qname;
911 | %min.qname; | %gcd.qname; | %lcm.qname;" >
913 <!ELEMENT %plus.qname; EMPTY >
914 <!ATTLIST %plus.qname;
915 %MATHML.Common.attrib;
920 <!ELEMENT %max.qname; EMPTY >
921 <!ATTLIST %max.qname;
922 %MATHML.Common.attrib;
927 <!ELEMENT %min.qname; EMPTY >
928 <!ATTLIST %min.qname;
929 %MATHML.Common.attrib;
934 <!ELEMENT %times.qname; EMPTY >
935 <!ATTLIST %times.qname;
936 %MATHML.Common.attrib;
941 <!ELEMENT %gcd.qname; EMPTY >
942 <!ATTLIST %gcd.qname;
943 %MATHML.Common.attrib;
948 <!ELEMENT %lcm.qname; EMPTY >
949 <!ATTLIST %lcm.qname;
950 %MATHML.Common.attrib;
955 <!ENTITY % carithoproot
958 <!ELEMENT %root.qname; EMPTY >
959 <!ATTLIST %root.qname;
960 %MATHML.Common.attrib;
965 <!ENTITY % clogicopquant
966 "%exists.qname; | %forall.qname;" >
968 <!ELEMENT %exists.qname; EMPTY >
969 <!ATTLIST %exists.qname;
970 %MATHML.Common.attrib;
975 <!ELEMENT %forall.qname; EMPTY >
976 <!ATTLIST %forall.qname;
977 %MATHML.Common.attrib;
982 <!ENTITY % clogicopnary
983 "%and.qname; | %or.qname; | %xor.qname;" >
985 <!ELEMENT %and.qname; EMPTY >
986 <!ATTLIST %and.qname;
987 %MATHML.Common.attrib;
992 <!ELEMENT %or.qname; EMPTY >
994 %MATHML.Common.attrib;
999 <!ELEMENT %xor.qname; EMPTY >
1000 <!ATTLIST %xor.qname;
1001 %MATHML.Common.attrib;
1006 <!ENTITY % clogicop1ary
1009 <!ELEMENT %not.qname; EMPTY >
1010 <!ATTLIST %not.qname;
1011 %MATHML.Common.attrib;
1016 <!ENTITY % clogicop2ary
1019 <!ELEMENT %implies.qname; EMPTY >
1020 <!ATTLIST %implies.qname;
1021 %MATHML.Common.attrib;
1027 "%log.qname; | %int.qname; | %diff.qname; | %partialdiff.qname; |
1028 %divergence.qname; | %grad.qname; | %curl.qname; | %laplacian.qname;" >
1030 <!ELEMENT %divergence.qname; EMPTY >
1031 <!ATTLIST %divergence.qname;
1032 %MATHML.Common.attrib;
1037 <!ELEMENT %grad.qname; EMPTY >
1038 <!ATTLIST %grad.qname;
1039 %MATHML.Common.attrib;
1044 <!ELEMENT %curl.qname; EMPTY >
1045 <!ATTLIST %curl.qname;
1046 %MATHML.Common.attrib;
1051 <!ELEMENT %laplacian.qname; EMPTY >
1052 <!ATTLIST %laplacian.qname;
1053 %MATHML.Common.attrib;
1058 <!ELEMENT %log.qname; EMPTY >
1059 <!ATTLIST %log.qname;
1060 %MATHML.Common.attrib;
1065 <!ELEMENT %int.qname; EMPTY >
1066 <!ATTLIST %int.qname;
1067 %MATHML.Common.attrib;
1072 <!ELEMENT %diff.qname; EMPTY >
1073 <!ATTLIST %diff.qname;
1074 %MATHML.Common.attrib;
1079 <!ELEMENT %partialdiff.qname; EMPTY >
1080 <!ATTLIST %partialdiff.qname;
1081 %MATHML.Common.attrib;
1086 <!ENTITY % ccalcop1ary
1089 <!ELEMENT %ln.qname; EMPTY >
1090 <!ATTLIST %ln.qname;
1091 %MATHML.Common.attrib;
1096 <!ENTITY % csetop1ary
1099 <!ELEMENT %card.qname; EMPTY >
1100 <!ATTLIST %card.qname;
1101 %MATHML.Common.attrib;
1106 <!ENTITY % csetop2ary
1109 <!ELEMENT %setdiff.qname; EMPTY >
1110 <!ATTLIST %setdiff.qname;
1111 %MATHML.Common.attrib;
1116 <!ENTITY % csetopnary
1117 "%union.qname; | %intersect.qname;" >
1119 <!ELEMENT %union.qname; EMPTY >
1120 <!ATTLIST %union.qname;
1121 %MATHML.Common.attrib;
1126 <!ELEMENT %intersect.qname; EMPTY >
1127 <!ATTLIST %intersect.qname;
1128 %MATHML.Common.attrib;
1134 "%sum.qname; | %product.qname; | %limit.qname;" >
1136 <!ELEMENT %sum.qname; EMPTY >
1137 <!ATTLIST %sum.qname;
1138 %MATHML.Common.attrib;
1143 <!ELEMENT %product.qname; EMPTY >
1144 <!ATTLIST %product.qname;
1145 %MATHML.Common.attrib;
1150 <!ELEMENT %limit.qname; EMPTY >
1151 <!ATTLIST %limit.qname;
1152 %MATHML.Common.attrib;
1158 "%sin.qname; | %cos.qname; | %tan.qname;
1159 | %sec.qname; | %csc.qname; | %cot.qname;
1160 | %sinh.qname; | %cosh.qname; | %tanh.qname;
1161 | %sech.qname; | %csch.qname; | %coth.qname;
1162 | %arcsin.qname; | %arccos.qname; | %arctan.qname;
1163 | %arccosh.qname; | %arccot.qname; | %arccoth.qname;
1164 | %arccsc.qname; | %arccsch.qname; | %arcsec.qname;
1165 | %arcsech.qname; | %arcsinh.qname; | %arctanh.qname;
1168 <!ELEMENT %sin.qname; EMPTY >
1169 <!ATTLIST %sin.qname;
1170 %MATHML.Common.attrib;
1175 <!ELEMENT %cos.qname; EMPTY >
1176 <!ATTLIST %cos.qname;
1177 %MATHML.Common.attrib;
1182 <!ELEMENT %tan.qname; EMPTY >
1183 <!ATTLIST %tan.qname;
1184 %MATHML.Common.attrib;
1189 <!ELEMENT %sec.qname; EMPTY >
1190 <!ATTLIST %sec.qname;
1191 %MATHML.Common.attrib;
1196 <!ELEMENT %csc.qname; EMPTY >
1197 <!ATTLIST %csc.qname;
1198 %MATHML.Common.attrib;
1203 <!ELEMENT %cot.qname; EMPTY >
1204 <!ATTLIST %cot.qname;
1205 %MATHML.Common.attrib;
1210 <!ELEMENT %sinh.qname; EMPTY >
1211 <!ATTLIST %sinh.qname;
1212 %MATHML.Common.attrib;
1217 <!ELEMENT %cosh.qname; EMPTY >
1218 <!ATTLIST %cosh.qname;
1219 %MATHML.Common.attrib;
1224 <!ELEMENT %tanh.qname; EMPTY >
1225 <!ATTLIST %tanh.qname;
1226 %MATHML.Common.attrib;
1231 <!ELEMENT %sech.qname; EMPTY >
1232 <!ATTLIST %sech.qname;
1233 %MATHML.Common.attrib;
1238 <!ELEMENT %csch.qname; EMPTY >
1239 <!ATTLIST %csch.qname;
1240 %MATHML.Common.attrib;
1245 <!ELEMENT %coth.qname; EMPTY >
1246 <!ATTLIST %coth.qname;
1247 %MATHML.Common.attrib;
1252 <!ELEMENT %arcsin.qname; EMPTY >
1253 <!ATTLIST %arcsin.qname;
1254 %MATHML.Common.attrib;
1259 <!ELEMENT %arccos.qname; EMPTY >
1260 <!ATTLIST %arccos.qname;
1261 %MATHML.Common.attrib;
1266 <!ELEMENT %arctan.qname; EMPTY >
1267 <!ATTLIST %arctan.qname;
1268 %MATHML.Common.attrib;
1273 <!ELEMENT %arccosh.qname; EMPTY >
1274 <!ATTLIST %arccosh.qname;
1275 %MATHML.Common.attrib;
1281 <!ELEMENT %arccot.qname; EMPTY >
1282 <!ATTLIST %arccot.qname;
1283 %MATHML.Common.attrib;
1288 <!ELEMENT %arccoth.qname; EMPTY >
1289 <!ATTLIST %arccoth.qname;
1290 %MATHML.Common.attrib;
1296 <!ELEMENT %arccsc.qname; EMPTY >
1297 <!ATTLIST %arccsc.qname;
1298 %MATHML.Common.attrib;
1303 <!ELEMENT %arccsch.qname; EMPTY >
1304 <!ATTLIST %arccsch.qname;
1305 %MATHML.Common.attrib;
1310 <!ELEMENT %arcsec.qname; EMPTY >
1311 <!ATTLIST %arcsec.qname;
1312 %MATHML.Common.attrib;
1317 <!ELEMENT %arcsech.qname; EMPTY >
1318 <!ATTLIST %arcsech.qname;
1319 %MATHML.Common.attrib;
1324 <!ELEMENT %arcsinh.qname; EMPTY >
1325 <!ATTLIST %arcsinh.qname;
1326 %MATHML.Common.attrib;
1331 <!ELEMENT %arctanh.qname; EMPTY >
1332 <!ATTLIST %arctanh.qname;
1333 %MATHML.Common.attrib;
1340 <!ENTITY % cstatopnary
1341 "%mean.qname; | %sdev.qname; |
1342 %variance.qname; | %median.qname; |
1345 <!ELEMENT %mean.qname; EMPTY >
1346 <!ATTLIST %mean.qname;
1347 %MATHML.Common.attrib;
1352 <!ELEMENT %sdev.qname; EMPTY >
1353 <!ATTLIST %sdev.qname;
1354 %MATHML.Common.attrib;
1359 <!ELEMENT %variance.qname; EMPTY >
1360 <!ATTLIST %variance.qname;
1361 %MATHML.Common.attrib;
1366 <!ELEMENT %median.qname; EMPTY >
1367 <!ATTLIST %median.qname;
1368 %MATHML.Common.attrib;
1373 <!ELEMENT %mode.qname; EMPTY >
1374 <!ATTLIST %mode.qname;
1375 %MATHML.Common.attrib;
1380 <!ENTITY % cstatopmoment
1383 <!ELEMENT %moment.qname; EMPTY >
1384 <!ATTLIST %moment.qname;
1385 %MATHML.Common.attrib;
1390 <!ENTITY % clalgop1ary
1391 "%determinant.qname; |
1392 %transpose.qname;" >
1394 <!ELEMENT %determinant.qname; EMPTY >
1395 <!ATTLIST %determinant.qname;
1396 %MATHML.Common.attrib;
1401 <!ELEMENT %transpose.qname; EMPTY >
1402 <!ATTLIST %transpose.qname;
1403 %MATHML.Common.attrib;
1408 <!ENTITY % clalgop2ary
1409 "%vectorproduct.qname;
1410 | %scalarproduct.qname;
1411 | %outerproduct.qname;" >
1413 <!ELEMENT %vectorproduct.qname; EMPTY >
1414 <!ATTLIST %vectorproduct.qname;
1415 %MATHML.Common.attrib;
1420 <!ELEMENT %scalarproduct.qname; EMPTY >
1421 <!ATTLIST %scalarproduct.qname;
1422 %MATHML.Common.attrib;
1427 <!ELEMENT %outerproduct.qname; EMPTY >
1428 <!ATTLIST %outerproduct.qname;
1429 %MATHML.Common.attrib;
1434 <!ENTITY % clalgopnary
1435 "%selector.qname;" >
1437 <!ELEMENT %selector.qname; EMPTY >
1438 <!ATTLIST %selector.qname;
1439 %MATHML.Common.attrib;
1444 <!-- Content elements: relations -->
1446 <!ENTITY % cgenrel2ary
1449 <!ELEMENT %neq.qname; EMPTY >
1450 <!ATTLIST %neq.qname;
1451 %MATHML.Common.attrib;
1456 <!ENTITY % cgenrelnary
1457 "%eq.qname; | %leq.qname; | %lt.qname; | %geq.qname;
1458 | %gt.qname;| %equivalent.qname; | %approx.qname;" >
1460 <!ELEMENT %eq.qname; EMPTY >
1461 <!ATTLIST %eq.qname;
1462 %MATHML.Common.attrib;
1467 <!ELEMENT %equivalent.qname; EMPTY >
1468 <!ATTLIST %equivalent.qname;
1469 %MATHML.Common.attrib;
1474 <!ELEMENT %approx.qname; EMPTY >
1475 <!ATTLIST %approx.qname;
1476 %MATHML.Common.attrib;
1481 <!ELEMENT %gt.qname; EMPTY >
1482 <!ATTLIST %gt.qname;
1483 %MATHML.Common.attrib;
1488 <!ELEMENT %lt.qname; EMPTY >
1489 <!ATTLIST %lt.qname;
1490 %MATHML.Common.attrib;
1495 <!ELEMENT %geq.qname; EMPTY >
1496 <!ATTLIST %geq.qname;
1497 %MATHML.Common.attrib;
1502 <!ELEMENT %leq.qname; EMPTY >
1503 <!ATTLIST %leq.qname;
1504 %MATHML.Common.attrib;
1509 <!ENTITY % csetrel2ary
1510 "%in.qname; | %notin.qname; | %notsubset.qname; | %notprsubset.qname;" >
1512 <!ELEMENT %in.qname; EMPTY >
1513 <!ATTLIST %in.qname;
1514 %MATHML.Common.attrib;
1519 <!ELEMENT %notin.qname; EMPTY >
1520 <!ATTLIST %notin.qname;
1521 %MATHML.Common.attrib;
1526 <!ELEMENT %notsubset.qname; EMPTY >
1527 <!ATTLIST %notsubset.qname;
1528 %MATHML.Common.attrib;
1533 <!ELEMENT %notprsubset.qname; EMPTY >
1534 <!ATTLIST %notprsubset.qname;
1535 %MATHML.Common.attrib;
1540 <!ENTITY % csetrelnary
1541 "%subset.qname; | %prsubset.qname;" >
1543 <!ELEMENT %subset.qname; EMPTY >
1544 <!ATTLIST %subset.qname;
1545 %MATHML.Common.attrib;
1550 <!ELEMENT %prsubset.qname; EMPTY >
1551 <!ATTLIST %prsubset.qname;
1552 %MATHML.Common.attrib;
1557 <!ENTITY % cseqrel2ary
1560 <!ELEMENT %tendsto.qname; EMPTY >
1561 <!ATTLIST %tendsto.qname;
1562 %MATHML.Common.attrib;
1568 <!-- Content elements: quantifiers -->
1570 <!ENTITY % cquantifier
1571 "%lowlimit.qname; | %uplimit.qname; | %bvar.qname;
1572 | %degree.qname; | %logbase.qname;" >
1574 <!ATTLIST %lowlimit.qname;
1575 %MATHML.Common.attrib;
1578 <!ATTLIST %uplimit.qname;
1579 %MATHML.Common.attrib;
1582 <!ATTLIST %bvar.qname;
1583 %MATHML.Common.attrib;
1586 <!ATTLIST %degree.qname;
1587 %MATHML.Common.attrib;
1590 <!ATTLIST %logbase.qname;
1591 %MATHML.Common.attrib;
1594 <!-- Operator groups -->
1597 "%cfuncop1ary; | %carithop1ary; | %clogicop1ary; |
1598 %ccalcop1ary; | %ctrigop; | %clalgop1ary; |
1602 "%carithop2ary; | %clogicop2ary;| %clalgop2ary; | %csetop2ary;" >
1605 "%cfuncopnary; | %carithopnary; | %clogicopnary; |
1606 %csetopnary; | %cstatopnary; | %clalgopnary;" >
1609 "%carithoproot; | %carithop1or2ary; | %ccalcop; |
1610 %cseqop; | %cstatopmoment; | %clogicopquant;" >
1612 <!-- Relation groups -->
1615 "%cgenrel2ary; | %csetrel2ary; | %cseqrel2ary;" >
1618 "%cgenrelnary; | %csetrelnary;" >
1620 <!-- Content constructs: all -->
1623 "%ctoken; | %cspecial; | %cother; | %csemantics; | %c0ary;
1624 | %cconstructor; | %cquantifier; | %cop1ary; | %cop2ary;
1625 | %copnary; |%copmisc; | %crel2ary; | %crelnary;" >
1627 <!-- Content constructs for substitution in presentation structures -->
1629 <!ENTITY % ContInPres
1630 "%ci.qname; |%csymbol.qname;| %cn.qname;|
1631 %apply.qname; | %fn.qname; |
1632 %lambda.qname; | %reln.qname; |
1633 %interval.qname; | %list.qname; |
1634 %matrix.qname; | %matrixrow.qname; |
1635 %set.qname; | %vector.qname; |
1636 %semantics.qname; |%declare.qname;" >
1638 <!-- ............................................................. -->
1639 <!-- Recursive definition for content of expressions. Include
1640 presentation constructs at lowest level so presentation
1641 layout schemata hold presentation or content elements.
1642 Include content constructs at lowest level so content
1643 elements hold PCDATA or presentation elements at leaf
1644 level (for permitted substitutable elements in context)
1647 <!ENTITY % ContentExpression
1648 "(%Content; | %PresInCont;)*" >
1649 <!ENTITY % PresExpression
1650 "(%Presentation; | %ContInPres;)*" >
1651 <!ENTITY % MathExpression
1652 "(%PresInCont; | %ContInPres;)*" >
1654 <!-- PCDATA or MathML character elements -->
1655 <!ENTITY % MathMLCharacters
1656 "#PCDATA | %mchar.qname; | %mglyph.qname; " >
1658 <!-- Content elements: tokens -->
1659 <!-- (may contain embedded presentation constructs) -->
1661 <!ELEMENT %ci.qname; (%MathMLCharacters; | %PresInCont;)* >
1662 <!ELEMENT %csymbol.qname; (%MathMLCharacters; | %PresInCont;)* >
1663 <!ELEMENT %cn.qname; (%MathMLCharacters; | %sep.qname; | %PresInCont;)* >
1665 <!-- Content elements: special -->
1667 <!ELEMENT %apply.qname; (%ContentExpression;) >
1668 <!ELEMENT %reln.qname; (%ContentExpression;) >
1669 <!ELEMENT %lambda.qname; (%ContentExpression;) >
1671 <!-- Content elements: other -->
1673 <!ELEMENT %condition.qname; (%ContentExpression;) >
1674 <!ELEMENT %declare.qname; (%ContentExpression;) >
1675 <!-- HELM: added the content element type -->
1676 <!ELEMENT %type.qname; (%ContentExpression;) >
1678 <!-- Content elements: semantics -->
1680 <!ELEMENT %semantics.qname; (%ContentExpression;) >
1681 <!ENTITY % Annotation.content "( #PCDATA )" >
1682 <!ELEMENT %annotation.qname; %Annotation.content; >
1684 <!ENTITY % Annotation-xml.content "ANY" >
1685 <!ELEMENT %annotation-xml.qname; %Annotation-xml.content; >
1687 <!-- Content elements: constructors -->
1689 <!ELEMENT %interval.qname; (%ContentExpression;) >
1690 <!ELEMENT %set.qname; (%ContentExpression;) >
1691 <!ELEMENT %list.qname; (%ContentExpression;) >
1692 <!ELEMENT %vector.qname; (%ContentExpression;) >
1693 <!ELEMENT %matrix.qname; (%ContentExpression;) >
1694 <!ELEMENT %matrixrow.qname; (%ContentExpression;) >
1696 <!-- Content elements: operator (user-defined) -->
1698 <!ELEMENT %fn.qname; (%ContentExpression;) >
1700 <!-- Content elements: quantifiers -->
1702 <!ELEMENT %lowlimit.qname; (%ContentExpression;) >
1703 <!ELEMENT %uplimit.qname; (%ContentExpression;) >
1704 <!ELEMENT %bvar.qname; (%ContentExpression;) >
1705 <!ELEMENT %degree.qname; (%ContentExpression;) >
1706 <!ELEMENT %logbase.qname; (%ContentExpression;) >
1708 <!-- ............................................................. -->
1709 <!-- Presentation layout schemata contain tokens,
1710 layout and content schemata.
1713 <!ELEMENT %mstyle.qname; (%PresExpression;) >
1714 <!ELEMENT %merror.qname; (%PresExpression;) >
1715 <!ELEMENT %mphantom.qname; (%PresExpression;) >
1716 <!ELEMENT %mrow.qname; (%PresExpression;) >
1717 <!ELEMENT %mfrac.qname; (%PresExpression;) >
1718 <!ELEMENT %msqrt.qname; (%PresExpression;) >
1719 <!ELEMENT %menclose.qname; (%PresExpression;) >
1720 <!ELEMENT %mroot.qname; (%PresExpression;) >
1721 <!ELEMENT %msub.qname; (%PresExpression;) >
1722 <!ELEMENT %msup.qname; (%PresExpression;) >
1723 <!ELEMENT %msubsup.qname; (%PresExpression;) >
1724 <!ELEMENT %mmultiscripts.qname; (%PresExpression;) >
1725 <!ELEMENT %munder.qname; (%PresExpression;) >
1726 <!ELEMENT %mover.qname; (%PresExpression;) >
1727 <!ELEMENT %munderover.qname; (%PresExpression;) >
1728 <!ELEMENT %mtable.qname; (%PresExpression;) >
1729 <!ELEMENT %mtr.qname; (%PresExpression;) >
1730 <!ELEMENT %mlabeledtr.qname; (%PresExpression;) >
1731 <!ELEMENT %mtd.qname; (%PresExpression;) >
1732 <!ELEMENT %maction.qname; (%PresExpression;) >
1733 <!ELEMENT %mfenced.qname; (%PresExpression;) >
1734 <!ELEMENT %mpadded.qname; (%PresExpression;) >
1736 <!-- Presentation elements contain PCDATA or malignmark constructs. -->
1738 <!ELEMENT %mi.qname; (%MathMLCharacters; |
1739 %malignmark.qname;)* >
1740 <!ELEMENT %mn.qname; (%MathMLCharacters; |
1741 %malignmark.qname;)* >
1742 <!ELEMENT %mo.qname; (%MathMLCharacters; |
1743 %malignmark.qname;)* >
1744 <!ELEMENT %mtext.qname; (%MathMLCharacters; |
1745 %malignmark.qname;)* >
1746 <!ELEMENT %ms.qname; (%MathMLCharacters; |
1747 %malignmark.qname;)* >
1749 <!-- Browser interface definition ............................... -->
1751 <!-- Attributes for top-level element "math" -->
1753 <!ENTITY % att-macros
1754 "macros CDATA #IMPLIED" >
1756 "mode CDATA #IMPLIED" >
1757 <!ENTITY % att-display
1758 "display CDATA #IMPLIED" >
1760 <!ENTITY % att-topinfo
1761 "%MATHML.Common.attrib;
1766 <!-- Attributes for browser interface element -->
1768 <!ENTITY % att-baseline
1769 "baseline CDATA #IMPLIED" >
1770 <!ENTITY % att-overflow
1771 "overflow ( scroll | elide | truncate | scale ) 'scroll'" >
1772 <!ENTITY % att-altimg
1773 "altimg CDATA #IMPLIED" >
1774 <!ENTITY % att-alttext
1775 "alttext CDATA #IMPLIED" >
1777 <!ENTITY % att-browif
1787 <!-- ............................................................. -->
1788 <!-- The top-level element "math" contains MathML encoded
1789 mathematics. The "math" element has the browser info
1790 attributes iff it is also the browser interface element.
1793 <!ELEMENT %math.qname; (%MathExpression;) >
1795 <!ATTLIST %math.qname;
1799 <!-- MathML Character Entities .............................................. -->
1800 <!ENTITY % mathml-charent.module "INCLUDE" >
1801 <![%mathml-charent.module;[
1802 <!-- Entity sets from ISO Technical Report 9573-13 ..... -->
1804 <!ENTITY % ent-isoamsa
1805 PUBLIC "-//W3C//ENTITIES Added Math Symbols: Arrow Relations for MathML 2.0//EN"
1809 <!ENTITY % ent-isoamsb
1810 PUBLIC "-//W3C//ENTITIES Added Math Symbols: Binary Operators for MathML 2.0//EN"
1814 <!ENTITY % ent-isoamsc
1815 PUBLIC "-//W3C//ENTITIES Added Math Symbols: Delimiters for MathML 2.0//EN"
1819 <!ENTITY % ent-isoamsn
1820 PUBLIC "-//W3C//ENTITIES Added Math Symbols: Negated Relations for MathML 2.0//EN"
1824 <!ENTITY % ent-isoamso
1825 PUBLIC "-//W3C//ENTITIES Added Math Symbols: Ordinary for MathML 2.0//EN"
1829 <!ENTITY % ent-isoamsr
1830 PUBLIC "-//W3C//ENTITIES Added Math Symbols: Relations for MathML 2.0//EN"
1834 <!ENTITY % ent-isogrk3
1835 PUBLIC "-//W3C//ENTITIES Greek Symbols for MathML 2.0//EN"
1839 <!ENTITY % ent-isomfrk
1840 PUBLIC "-//W3C//ENTITIES Math Alphabets: Fraktur for MathML 2.0//EN"
1844 <!ENTITY % ent-isomopf
1845 PUBLIC "-//W3C//ENTITIES Math Alphabets: Open Face for MathML 2.0//EN"
1849 <!ENTITY % ent-isomscr
1850 PUBLIC "-//W3C//ENTITIES Math Alphabets: Script for MathML 2.0//EN"
1854 <!ENTITY % ent-isotech
1855 PUBLIC "-//W3C//ENTITIES General Technical for MathML 2.0//EN"
1859 <!-- Entity sets from informative annex to ISO 8879:1986 (SGML) ....... -->
1861 <!ENTITY % ent-isobox
1862 PUBLIC "-//W3C//ENTITIES Box and Line Drawing for MathML 2.0//EN"
1866 <!ENTITY % ent-isocyr1
1867 PUBLIC "-//W3C//ENTITIES Russian Cyrillic for MathML 2.0//EN"
1871 <!ENTITY % ent-isocyr2
1872 PUBLIC "-//W3C//ENTITIES Non-Russian Cyrillic for MathML 2.0//EN"
1876 <!ENTITY % ent-isodia
1877 PUBLIC "-//W3C//ENTITIES Diacritical Marks for MathML 2.0//EN"
1881 <!ENTITY % ent-isolat1
1882 PUBLIC "-//W3C//ENTITIES Added Latin 1 for MathML 2.0//EN"
1886 <!ENTITY % ent-isolat2
1887 PUBLIC "-//W3C//ENTITIES Added Latin 2 for MathML 2.0//EN"
1891 <!ENTITY % ent-isonum
1892 PUBLIC "-//W3C//ENTITIES Numeric and Special Graphic for MathML 2.0//EN"
1896 <!ENTITY % ent-isopub
1897 PUBLIC "-//W3C//ENTITIES Publishing for MathML 2.0//EN"
1901 <!-- New characters defined by MathML ............................ -->
1903 <!ENTITY % ent-mmlextra
1904 PUBLIC "-//W3C//ENTITIES Extra for MathML 2.0//EN"
1908 <!-- MathML aliases for characters defined above ................. -->
1910 <!ENTITY % ent-mmlalias
1911 PUBLIC "-//W3C//ENTITIES Aiases for MathML 2.0//EN"
1915 <!-- end of MathML Character Entity section -->]]>
1917 <!-- Revision History:
1919 Initial draft (syntax = XML) 1997-05-09
1923 Revised 1997-06-29 and 1997-07-02
1931 Entities and small revisions 1999-02-21
1933 Added attribute definitionURL to ci and cn 1999-10-11
1935 Additions for MathML 2 1999-12-16
1937 Namespace support 2000-01-14
1939 XHTML Compatibility 2000-02-23
1941 New content elements 2000-03-26
1946 <!-- end of MathML 2.0 DTD ................................................ -->
1947 <!-- ....................................................................... -->