]> matita.cs.unibo.it Git - helm.git/blob - helm/dtd/mathml2.dtd
ocaml 3.09 transition
[helm.git] / helm / dtd / mathml2.dtd
1 <!-- MathML 2.0 DTD  ....................................................... -->
2 <!-- file: mathml2.dtd
3 -->
4
5 <!-- MathML 2.0 DTD
6
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.
10
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).
14          All Rights Reserved.
15
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.
21
22      It is provided "as is" without expressed or implied warranty.
23
24         Revision:   $Id$
25
26      This entity may be identified by the PUBLIC and SYSTEM identifiers:
27
28        PUBLIC "-//W3C//DTD MathML 2.0//EN"
29        SYSTEM "mathml2.dtd"
30
31      Revisions: editor and revision history at EOF
32 -->
33
34
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" >
41 %mathml-qname.mod;]]>
42
43 <!-- if %NS.prefixed; is INCLUDE, include all NS attributes, 
44      otherwise just those associated with MathML
45 -->
46 <![%NS.prefixed;[
47 <!-- HELM: %NamespaceDecl.attrib; not declared !! ENTITY substituted
48 <!ENTITY % MATHML.NamespaceDecl.attrib 
49      "%NamespaceDecl.attrib;"
50 >-->
51 <!ENTITY % MATHML.NamespaceDecl.attrib 
52      "%MATHML.xmlns.attrib;"
53 >
54 ]]>
55 <!ENTITY % MATHML.NamespaceDecl.attrib 
56      "%MATHML.xmlns.attrib;"
57 >
58
59 <!-- Attributes shared by all elements  .......................... -->
60
61 <!ENTITY % MATHML.Common.attrib
62      "%MATHML.NamespaceDecl.attrib;
63       xlink:href   CDATA                    #IMPLIED
64       class        CDATA                    #IMPLIED
65       style        CDATA                    #IMPLIED
66       id           ID                       #IMPLIED
67       xref         IDREF                    #IMPLIED
68       other        CDATA                    #IMPLIED"
69 >
70
71 <!-- Presentation element set  ................................... -->
72
73 <!-- Attribute definitions -->
74
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" >
83 <!ENTITY % att-color
84      "color        CDATA                    #IMPLIED" >
85
86 <!ENTITY % att-fontinfo
87      "%att-fontsize;
88       %att-fontweight;
89       %att-fontstyle;
90       %att-fontfamily;
91       %att-color;"
92 >
93
94 <!ENTITY % att-form
95      "form         ( prefix | infix | postfix )  #IMPLIED" >
96 <!ENTITY % att-fence
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" >
118
119 <!ENTITY % att-opinfo
120      "%att-form;
121       %att-fence;
122       %att-separator;
123       %att-lspace;
124       %att-rspace;
125       %att-stretchy;
126       %att-symmetric;
127       %att-maxsize;
128       %att-minsize;
129       %att-largeop;
130       %att-movablelimits;
131       %att-accent;"
132 >
133 <!ENTITY % att-width
134      "width        CDATA                    #IMPLIED" >
135 <!ENTITY % att-height
136      "height       CDATA                    #IMPLIED" >
137 <!ENTITY % att-depth
138      "depth        CDATA                    #IMPLIED" >
139 <!ENTITY % att-linebreak
140      "linebreak    CDATA                    #IMPLIED" >
141 <!ENTITY % att-sizeinfo
142      "%att-width;
143       %att-height;
144       %att-depth;"
145 >
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" >
162 <!ENTITY % att-open                 
163      "open         CDATA                    #IMPLIED" >
164 <!ENTITY % att-close                
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" >
174 <!ENTITY % att-align       
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" >
194 <!ENTITY % att-frame            
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" >
202
203 <!ENTITY % att-tableinfo            
204      "%att-align;
205       %att-rowalign;
206       %att-columnalign;
207       %att-columnwidth;
208       %att-groupalign;
209       %att-alignmentscope;
210       %att-rowspacing;
211       %att-columnspacing;
212       %att-rowlines;
213       %att-columnlines;
214       %att-frame;
215       %att-framespacing;
216       %att-equalrows;
217       %att-equalcolumns;
218       %att-displaystyle;" 
219 >
220
221 <!ENTITY % att-rowspan              
222      "rowspan      CDATA                    #IMPLIED" >
223 <!ENTITY % att-columnspan           
224      "columnspan   CDATA                    #IMPLIED" >
225 <!ENTITY % att-edge        
226      "edge         ( left | right )         #IMPLIED" >
227 <!ENTITY % att-actiontype          
228      "actiontype   CDATA                    #IMPLIED" >
229 <!ENTITY % att-selection       
230      "selection    CDATA                    #IMPLIED" >
231
232 <!ENTITY % att-name                 
233      "name         CDATA                    #IMPLIED" >
234 <!ENTITY % att-alt              
235      "alt          CDATA                    #IMPLIED" >
236 <!ENTITY % att-index           
237      "index        CDATA                    #IMPLIED" >
238
239 <!ENTITY % att-bevelled       
240      "bevelled      CDATA                    #IMPLIED" >
241
242 <!-- Presentation schemata with content -->
243
244 <!ENTITY % ptoken                   
245      "%mi.qname; | %mn.qname; | %mo.qname;
246       | %mtext.qname; | %ms.qname;" >
247
248 <!ATTLIST %mi.qname;
249       %MATHML.Common.attrib;
250       %att-fontinfo;
251 >
252
253 <!ATTLIST %mn.qname;      
254       %MATHML.Common.attrib; 
255       %att-fontinfo;
256 >
257
258 <!ATTLIST %mo.qname;     
259       %MATHML.Common.attrib; 
260       %att-fontinfo;
261       %att-opinfo;
262 >
263
264 <!ATTLIST %mtext.qname;  
265       %MATHML.Common.attrib;
266       %att-fontinfo;
267 >
268
269 <!ATTLIST %ms.qname;     
270       %MATHML.Common.attrib;
271       %att-fontinfo;
272       %att-lquote;
273       %att-rquote;
274 >
275
276 <!-- Empty presentation schemata -->
277
278 <!ENTITY % petoken                  
279      "%mspace.qname;" >
280 <!ELEMENT %mspace.qname;  EMPTY >
281
282 <!ATTLIST %mspace.qname; 
283       %att-sizeinfo;
284       %att-linebreak;
285       %MATHML.Common.attrib;
286 >
287
288 <!-- Presentation: general layout schemata -->
289
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;" >
294
295 <!ATTLIST %mrow.qname;        
296       %MATHML.Common.attrib;
297 >
298
299 <!ATTLIST %mfrac.qname;     
300       %MATHML.Common.attrib;
301       %att-bevelled;
302       %att-linethickness;
303 >
304
305 <!ATTLIST %msqrt.qname;     
306       %MATHML.Common.attrib;
307 >
308
309 <!ATTLIST %menclose.qname;  
310       %MATHML.Common.attrib;
311       notation CDATA 'longdiv' >
312
313 <!ATTLIST %mroot.qname;    
314       %MATHML.Common.attrib;
315 >
316
317 <!ATTLIST %mstyle.qname;  
318       %MATHML.Common.attrib;
319       %att-fontinfo;
320       %att-opinfo;
321       %att-lquote;
322       %att-rquote;
323       %att-linethickness;
324       %att-scriptlevel;
325       %att-scriptsizemultiplier;
326       %att-scriptminsize;
327       %att-background;
328       %att-open;
329       %att-close;
330       %att-separators;
331       %att-subscriptshift;
332       %att-superscriptshift;
333       %att-accentunder;
334       %att-tableinfo;
335       %att-rowspan;
336       %att-columnspan;
337       %att-edge;
338       %att-actiontype;
339       %att-selection;
340 >
341
342 <!ATTLIST %merror.qname;   
343       %MATHML.Common.attrib;
344 >
345
346 <!ATTLIST %mpadded.qname;     
347       %MATHML.Common.attrib;
348       %att-sizeinfo;
349       %att-lspace;
350 >
351
352 <!ATTLIST %mphantom.qname;      
353       %MATHML.Common.attrib;
354 >
355
356 <!ATTLIST %mfenced.qname;     
357       %MATHML.Common.attrib;
358       %att-open;
359       %att-close;
360       %att-separators;
361 >
362
363 <!-- Presentation layout schemata: scripts and limits -->
364
365 <!ENTITY % pscrschema               
366      "%msub.qname; | %msup.qname; | %msubsup.qname; | %munder.qname; 
367       | %mover.qname; | %munderover.qname; | %mmultiscripts.qname;" >
368
369 <!ATTLIST %msub.qname;      
370       %MATHML.Common.attrib;
371       %att-subscriptshift;
372 >
373
374 <!ATTLIST %msup.qname;         
375       %MATHML.Common.attrib;
376       %att-superscriptshift;
377 >
378
379 <!ATTLIST %msubsup.qname;    
380       %MATHML.Common.attrib;
381       %att-subscriptshift;
382       %att-superscriptshift;
383 >
384
385 <!ATTLIST %munder.qname;   
386       %MATHML.Common.attrib;
387       %att-accentunder;
388 >
389
390 <!ATTLIST %mover.qname;   
391       %MATHML.Common.attrib;
392       %att-accent;
393 >
394
395 <!ATTLIST %munderover.qname;   
396       %MATHML.Common.attrib;
397       %att-accent;
398       %att-accentunder;
399 >
400
401 <!ATTLIST %mmultiscripts.qname;   
402       %MATHML.Common.attrib;
403       %att-subscriptshift;
404       %att-superscriptshift;
405 >
406
407 <!-- Presentation layout schemata: empty elements for scripts -->
408
409 <!ENTITY % pscreschema              
410      "%mprescripts.qname; | %none.qname;" >
411
412 <!ELEMENT %mprescripts.qname;  EMPTY >
413 <!ATTLIST %mprescripts.qname;   
414       %MATHML.xmlns.attrib; >
415
416 <!ELEMENT %none.qname;  EMPTY >
417 <!ATTLIST %none.qname;    
418       %MATHML.xmlns.attrib; >
419
420 <!-- Presentation layout schemata: tables -->
421
422 <!ENTITY % ptabschema               
423      "%mtable.qname; | %mtr.qname; | %mlabeledtr.qname; | %mtd.qname;" >
424
425 <!ATTLIST %mtable.qname;
426       %MATHML.Common.attrib;
427       %att-tableinfo;
428 >
429
430 <!ATTLIST %mtr.qname;    
431       %MATHML.Common.attrib;
432       %att-rowalign;
433       %att-columnalign;
434       %att-groupalign;
435 >
436
437 <!ATTLIST %mlabeledtr.qname;  
438       %MATHML.Common.attrib;
439       %att-rowalign;
440       %att-columnalign;
441       %att-groupalign;
442 >
443
444 <!ATTLIST %mtd.qname;   
445       %MATHML.Common.attrib;
446       %att-rowalign;
447       %att-columnalign;
448       %att-groupalign;
449       %att-rowspan;
450       %att-columnspan;
451 >
452
453 <!ENTITY % plschema                 
454      "%pgenschema; | %pscrschema; | %ptabschema;" >
455
456 <!-- Empty presentation layout schemata -->
457
458 <!ENTITY % peschema                 
459      "%maligngroup.qname; | %malignmark.qname;" >
460
461 <!ELEMENT %malignmark.qname;  EMPTY >
462
463 <!ATTLIST %malignmark.qname;  
464       %att-edge; >
465
466 <!ELEMENT %maligngroup.qname;  EMPTY >
467 <!ATTLIST %maligngroup.qname;  
468       %MATHML.Common.attrib;
469       %att-groupalign;
470 >
471
472 <!ELEMENT %mchar.qname;  EMPTY >
473 <!ATTLIST %mchar.qname;    
474       %att-name; >
475
476 <!ELEMENT %mglyph.qname;  EMPTY >
477 <!ATTLIST %mglyph.qname;    
478       %att-alt;
479       %att-fontfamily;
480       %att-index; >
481
482 <!-- Presentation action schemata -->
483
484 <!ENTITY % pactions                 
485      "%maction.qname;" >
486 <!ATTLIST %maction.qname;    
487       %MATHML.Common.attrib;
488       %att-actiontype;
489       %att-selection;
490 >
491
492 <!-- The following entity for substitution into
493      content constructs excludes elements that
494      are not valid as expressions.
495 -->
496
497 <!ENTITY % PresInCont               
498      "%ptoken; | %petoken; |
499       %plschema; | %peschema; | %pactions;" >
500
501 <!-- Presentation entity: all presentation constructs -->
502
503 <!ENTITY % Presentation             
504      "%ptoken; | %petoken; | %pscreschema; |
505       %plschema; | %peschema; | %pactions;">
506
507 <!-- Content element set  ........................................ -->
508
509 <!-- Attribute definitions -->
510
511 <!ENTITY % att-base                 
512      "base         CDATA                    '10'" >
513 <!ENTITY % att-closure              
514      "closure      CDATA                    'closed'" >
515 <!ENTITY % att-definition           
516      "definitionURL CDATA                   ''" >
517 <!ENTITY % att-encoding             
518      "encoding     CDATA                    ''" >
519 <!ENTITY % att-nargs             
520      "nargs        CDATA                    '1'" >
521 <!ENTITY % att-occurrence           
522      "occurrence   CDATA                    'function-model'" >
523 <!ENTITY % att-order   
524      "order        CDATA                    'numeric'" >
525 <!ENTITY % att-scope                
526      "scope        CDATA                    'local'" >
527 <!ENTITY % att-type                 
528      "type         CDATA                    #IMPLIED" >
529
530 <!-- Content elements: leaf nodes -->
531
532 <!ENTITY % ctoken               
533      "%csymbol.qname; | %ci.qname; | %cn.qname;" >
534
535 <!ATTLIST %ci.qname;     
536       %MATHML.Common.attrib;
537       %att-type;
538       %att-definition;
539       %att-encoding;
540 >
541
542 <!ATTLIST %csymbol.qname;   
543       %MATHML.Common.attrib;
544       %att-encoding;
545       %att-type;
546       %att-definition;
547 >
548
549 <!ATTLIST %cn.qname;    
550       %MATHML.Common.attrib;
551       %att-type;
552       %att-base;
553       %att-definition;
554       %att-encoding;
555 >
556
557 <!-- Content elements: specials -->
558
559 <!ENTITY % cspecial                 
560      "%apply.qname; | %reln.qname; |
561       %lambda.qname;" >
562
563 <!ATTLIST %apply.qname;   
564       %MATHML.Common.attrib;
565 >
566
567 <!ATTLIST %reln.qname;   
568       %MATHML.Common.attrib;
569 >
570
571 <!ATTLIST %lambda.qname;      
572       %MATHML.Common.attrib;
573 >
574
575 <!-- Content elements: others -->
576 <!-- HELM: added the content element type to cother-->
577 <!ENTITY % cother                   
578      "%condition.qname; | %declare.qname; | %sep.qname; | %type.qname;" >
579
580 <!ATTLIST %condition.qname;     
581       %MATHML.Common.attrib;
582 >
583
584 <!ATTLIST %declare.qname;    
585       %MATHML.Common.attrib;
586       %att-type;
587       %att-scope;
588       %att-nargs;
589       %att-occurrence;
590       %att-definition;
591       %att-encoding;
592 >
593
594 <!-- HELM: added attributes to the type element -->
595 <!ATTLIST %type.qname;            %MATHML.Common.attrib; >
596
597 <!ELEMENT %sep.qname;  EMPTY >
598 <!ATTLIST %sep.qname;         
599       %MATHML.xmlns.attrib; >
600
601 <!-- Content elements: semantic mapping -->
602
603 <!ENTITY % csemantics               
604      "%semantics.qname; | %annotation.qname; |
605       %annotation-xml.qname;" >
606
607 <!ATTLIST %semantics.qname;  
608       %MATHML.Common.attrib;
609       %att-definition;
610       %att-encoding;
611 >
612
613 <!ATTLIST %annotation.qname;  
614       %MATHML.Common.attrib;
615       %att-encoding;
616 >
617
618 <!ATTLIST %annotation-xml.qname; 
619       %MATHML.Common.attrib;
620       %att-encoding;
621 >
622
623 <!-- Content elements: constructors -->
624
625 <!ENTITY % cconstructor             
626      "%interval.qname; | %list.qname; | %matrix.qname; 
627       | %matrixrow.qname; | %set.qname; | %vector.qname;" >
628
629 <!ATTLIST %interval.qname;   
630       %MATHML.Common.attrib;
631       %att-closure;
632 >
633
634 <!ATTLIST %set.qname;        
635       %MATHML.Common.attrib;
636       %att-type;
637 >
638
639 <!ATTLIST %list.qname;          
640       %MATHML.Common.attrib;
641       %att-order;
642 >
643
644 <!ATTLIST %vector.qname;    
645       %MATHML.Common.attrib;
646 >
647
648 <!ATTLIST %matrix.qname;    
649       %MATHML.Common.attrib;
650 >
651
652 <!ATTLIST %matrixrow.qname;     
653       %MATHML.Common.attrib;
654 >
655
656 <!-- Content elements: symbols -->
657
658 <!ENTITY % c0ary              
659     "%integers.qname; |
660      %reals.qname; |
661      %rationals.qname; |
662      %naturalnumbers.qname; |
663      %complexes.qname; |
664      %primes.qname; |
665      %exponentiale.qname; |
666      %imaginaryi.qname; |
667      %notanumber.qname; |
668      %true.qname; |
669      %false.qname; |
670      %emptyset.qname; |
671      %pi.qname; |
672      %eulergamma.qname; |
673      %infinity.qname;" >
674
675 <!ELEMENT %integers.qname;  EMPTY >
676 <!ATTLIST %integers.qname;   
677       %MATHML.Common.attrib;
678       %att-definition;
679       %att-encoding;
680 >
681
682 <!ELEMENT %reals.qname;  EMPTY >
683 <!ATTLIST %reals.qname;   
684       %MATHML.Common.attrib;
685       %att-definition;
686       %att-encoding;
687 >
688
689 <!ELEMENT %rationals.qname;  EMPTY >
690 <!ATTLIST %rationals.qname;   
691       %MATHML.Common.attrib;
692       %att-definition;
693       %att-encoding;
694 >
695
696 <!ELEMENT %naturalnumbers.qname;  EMPTY >
697 <!ATTLIST %naturalnumbers.qname;   
698       %MATHML.Common.attrib;
699       %att-definition;
700       %att-encoding;
701 >
702
703 <!ELEMENT %complexes.qname;  EMPTY >
704 <!ATTLIST %complexes.qname;   
705       %MATHML.Common.attrib;
706       %att-definition;
707       %att-encoding;
708 >
709
710 <!ELEMENT %primes.qname;  EMPTY >
711 <!ATTLIST %primes.qname;   
712       %MATHML.Common.attrib;
713       %att-definition;
714       %att-encoding;
715 >
716
717 <!ELEMENT %exponentiale.qname;  EMPTY >
718 <!ATTLIST %exponentiale.qname;   
719       %MATHML.Common.attrib;
720       %att-definition;
721       %att-encoding;
722 >
723
724 <!ELEMENT %imaginaryi.qname;  EMPTY >
725 <!ATTLIST %imaginaryi.qname;   
726       %MATHML.Common.attrib;
727       %att-definition;
728       %att-encoding;
729 >
730
731 <!ELEMENT %notanumber.qname;  EMPTY >
732 <!ATTLIST %notanumber.qname;   
733       %MATHML.Common.attrib;
734       %att-definition;
735       %att-encoding;
736 >
737
738 <!ELEMENT %true.qname;  EMPTY >
739 <!ATTLIST %true.qname;   
740       %MATHML.Common.attrib;
741       %att-definition;
742       %att-encoding;
743 >
744
745 <!ELEMENT %false.qname;  EMPTY >
746 <!ATTLIST %false.qname;   
747       %MATHML.Common.attrib;
748       %att-definition;
749       %att-encoding;
750 >
751
752 <!ELEMENT %emptyset.qname;  EMPTY >
753 <!ATTLIST %emptyset.qname;   
754       %MATHML.Common.attrib;
755       %att-definition;
756       %att-encoding;
757 >
758
759 <!ELEMENT %pi.qname;  EMPTY >
760 <!ATTLIST %pi.qname;   
761       %MATHML.Common.attrib;
762       %att-definition;
763       %att-encoding;
764 >
765
766 <!ELEMENT %eulergamma.qname;  EMPTY >
767 <!ATTLIST %eulergamma.qname;   
768       %MATHML.Common.attrib;
769       %att-definition;
770       %att-encoding;
771 >
772
773 <!ELEMENT %infinity.qname;  EMPTY >
774 <!ATTLIST %infinity.qname;   
775       %MATHML.Common.attrib;
776       %att-definition;
777       %att-encoding;
778 >
779
780 <!-- Content elements: operators -->
781
782 <!ENTITY % cfuncop1ary              
783      "%inverse.qname; | %ident.qname;" >
784
785 <!ELEMENT %inverse.qname;  EMPTY >
786 <!ATTLIST %inverse.qname;    
787       %MATHML.Common.attrib;
788       %att-definition;
789       %att-encoding;
790 >
791
792 <!ENTITY % cfuncopnary              
793      "%fn.qname; | %compose.qname;" >
794
795 <!ATTLIST %fn.qname;     
796       %MATHML.Common.attrib;
797       %att-definition;
798       %att-encoding;
799 >
800
801 <!ELEMENT %ident.qname;  EMPTY >
802 <!ATTLIST %ident.qname;   
803       %MATHML.Common.attrib;
804       %att-definition;
805       %att-encoding;
806 >
807
808 <!ELEMENT %compose.qname;  EMPTY >
809 <!ATTLIST %compose.qname;  
810       %MATHML.Common.attrib;
811       %att-definition;
812       %att-encoding;
813 >
814
815 <!ENTITY % carithop1ary             
816      "%abs.qname; | %conjugate.qname; | %exp.qname; | %factorial.qname; |
817       %arg.qname; | %real.qname; | %imaginary.qname;" >
818
819 <!ELEMENT %exp.qname;  EMPTY >
820 <!ATTLIST %exp.qname;   
821       %MATHML.Common.attrib;
822       %att-definition;
823       %att-encoding;
824 >
825
826 <!ELEMENT %abs.qname;  EMPTY >
827 <!ATTLIST %abs.qname;        
828       %MATHML.Common.attrib;
829       %att-definition;
830       %att-encoding;
831 >
832
833 <!ELEMENT %arg.qname;  EMPTY >
834 <!ATTLIST %arg.qname;     
835       %MATHML.Common.attrib;
836       %att-definition;
837       %att-encoding;
838 >
839
840 <!ELEMENT %real.qname;  EMPTY >
841 <!ATTLIST %real.qname;    
842       %MATHML.Common.attrib;
843       %att-definition;
844       %att-encoding;
845 >
846
847 <!ELEMENT %imaginary.qname;  EMPTY >
848 <!ATTLIST %imaginary.qname;   
849       %MATHML.Common.attrib;
850       %att-definition;
851       %att-encoding;
852 >
853
854 <!ELEMENT %conjugate.qname;  EMPTY >
855 <!ATTLIST %conjugate.qname;  
856       %MATHML.Common.attrib;
857       %att-definition;
858       %att-encoding;
859 >
860
861 <!ELEMENT %factorial.qname;  EMPTY >
862 <!ATTLIST %factorial.qname;    
863       %MATHML.Common.attrib;
864       %att-definition;
865       %att-encoding;
866 >
867
868 <!ENTITY % carithop1or2ary          
869      "%minus.qname;" >
870
871 <!ELEMENT %minus.qname;  EMPTY >
872 <!ATTLIST %minus.qname;     
873       %MATHML.Common.attrib;
874       %att-definition;
875       %att-encoding;
876 >
877
878 <!ENTITY % carithop2ary             
879      "%quotient.qname; | %divide.qname; | %power.qname; | %rem.qname;" >
880
881 <!ELEMENT %quotient.qname;  EMPTY >
882 <!ATTLIST %quotient.qname;       
883       %MATHML.Common.attrib;
884       %att-definition;
885       %att-encoding;
886 >
887
888 <!ELEMENT %divide.qname;  EMPTY >
889 <!ATTLIST %divide.qname;   
890       %MATHML.Common.attrib;
891       %att-definition;
892       %att-encoding;
893 >
894
895 <!ELEMENT %power.qname;  EMPTY >
896 <!ATTLIST %power.qname;   
897       %MATHML.Common.attrib;
898       %att-definition;
899       %att-encoding;
900 >
901
902 <!ELEMENT %rem.qname;  EMPTY >
903 <!ATTLIST %rem.qname;       
904       %MATHML.Common.attrib;
905       %att-definition;
906       %att-encoding;
907 >
908
909 <!ENTITY % carithopnary             
910      "%plus.qname; | %times.qname; | %max.qname; 
911       | %min.qname; | %gcd.qname; | %lcm.qname;" >
912
913 <!ELEMENT %plus.qname;  EMPTY >
914 <!ATTLIST %plus.qname;   
915       %MATHML.Common.attrib;
916       %att-definition;
917       %att-encoding;
918 >
919
920 <!ELEMENT %max.qname;  EMPTY >
921 <!ATTLIST %max.qname;    
922       %MATHML.Common.attrib;
923       %att-definition;
924       %att-encoding;
925 >
926
927 <!ELEMENT %min.qname;  EMPTY >
928 <!ATTLIST %min.qname;   
929       %MATHML.Common.attrib;
930       %att-definition;
931       %att-encoding;
932 >
933
934 <!ELEMENT %times.qname;  EMPTY >
935 <!ATTLIST %times.qname;      
936       %MATHML.Common.attrib;
937       %att-definition;
938       %att-encoding;
939 >
940
941 <!ELEMENT %gcd.qname;  EMPTY >
942 <!ATTLIST %gcd.qname;    
943       %MATHML.Common.attrib;
944       %att-definition;
945       %att-encoding;
946 >
947
948 <!ELEMENT %lcm.qname;  EMPTY >
949 <!ATTLIST %lcm.qname;    
950       %MATHML.Common.attrib;
951       %att-definition;
952       %att-encoding;
953 >
954
955 <!ENTITY % carithoproot             
956      "%root.qname;" >
957
958 <!ELEMENT %root.qname;  EMPTY >
959 <!ATTLIST %root.qname;     
960       %MATHML.Common.attrib;
961       %att-definition;
962       %att-encoding;
963 >
964
965 <!ENTITY % clogicopquant            
966      "%exists.qname; | %forall.qname;" >
967
968 <!ELEMENT %exists.qname;  EMPTY >
969 <!ATTLIST %exists.qname;   
970       %MATHML.Common.attrib;
971       %att-definition;
972       %att-encoding;
973 >
974
975 <!ELEMENT %forall.qname;  EMPTY >
976 <!ATTLIST %forall.qname;     
977       %MATHML.Common.attrib;
978       %att-definition;
979       %att-encoding;
980 >
981
982 <!ENTITY % clogicopnary             
983      "%and.qname; | %or.qname; | %xor.qname;" >
984
985 <!ELEMENT %and.qname;  EMPTY >
986 <!ATTLIST %and.qname;    
987       %MATHML.Common.attrib;
988       %att-definition;
989       %att-encoding;
990 >
991
992 <!ELEMENT %or.qname;  EMPTY >
993 <!ATTLIST %or.qname;    
994       %MATHML.Common.attrib;
995       %att-definition;
996       %att-encoding;
997 >
998
999 <!ELEMENT %xor.qname;  EMPTY >
1000 <!ATTLIST %xor.qname;    
1001       %MATHML.Common.attrib;
1002       %att-definition;
1003       %att-encoding;
1004 >
1005
1006 <!ENTITY % clogicop1ary             
1007      "%not.qname;" >
1008
1009 <!ELEMENT %not.qname;  EMPTY >
1010 <!ATTLIST %not.qname;    
1011       %MATHML.Common.attrib;
1012       %att-definition;
1013       %att-encoding;
1014 >
1015
1016 <!ENTITY % clogicop2ary             
1017      "%implies.qname;" >
1018
1019 <!ELEMENT %implies.qname;  EMPTY >
1020 <!ATTLIST %implies.qname;    
1021       %MATHML.Common.attrib;
1022       %att-definition;
1023       %att-encoding;
1024 >
1025
1026 <!ENTITY % ccalcop                  
1027      "%log.qname; | %int.qname; | %diff.qname; | %partialdiff.qname; |
1028       %divergence.qname; | %grad.qname; | %curl.qname; | %laplacian.qname;" >
1029
1030 <!ELEMENT %divergence.qname;  EMPTY >
1031 <!ATTLIST %divergence.qname;     
1032       %MATHML.Common.attrib;
1033       %att-definition;
1034       %att-encoding;
1035 >
1036
1037 <!ELEMENT %grad.qname;  EMPTY >
1038 <!ATTLIST %grad.qname;  
1039       %MATHML.Common.attrib;
1040       %att-definition;
1041       %att-encoding;
1042 >
1043
1044 <!ELEMENT %curl.qname;  EMPTY >
1045 <!ATTLIST %curl.qname;     
1046       %MATHML.Common.attrib;
1047       %att-definition;
1048       %att-encoding;
1049 >
1050
1051 <!ELEMENT %laplacian.qname;  EMPTY >
1052 <!ATTLIST %laplacian.qname;     
1053       %MATHML.Common.attrib;
1054       %att-definition;
1055       %att-encoding;
1056 >
1057
1058 <!ELEMENT %log.qname;  EMPTY >
1059 <!ATTLIST %log.qname;   
1060       %MATHML.Common.attrib;
1061       %att-definition;
1062       %att-encoding;
1063 >
1064
1065 <!ELEMENT %int.qname;  EMPTY >
1066 <!ATTLIST %int.qname;    
1067       %MATHML.Common.attrib;
1068       %att-definition;
1069       %att-encoding;
1070 >
1071
1072 <!ELEMENT %diff.qname;  EMPTY >
1073 <!ATTLIST %diff.qname;   
1074       %MATHML.Common.attrib;
1075       %att-definition;
1076       %att-encoding;
1077 >
1078
1079 <!ELEMENT %partialdiff.qname;  EMPTY >
1080 <!ATTLIST %partialdiff.qname;  
1081       %MATHML.Common.attrib;
1082       %att-definition;
1083       %att-encoding;
1084 >
1085
1086 <!ENTITY % ccalcop1ary              
1087      "%ln.qname;" >
1088
1089 <!ELEMENT %ln.qname;  EMPTY >
1090 <!ATTLIST %ln.qname;   
1091       %MATHML.Common.attrib;
1092       %att-definition;
1093       %att-encoding;
1094 >
1095
1096 <!ENTITY % csetop1ary               
1097      "%card.qname;" >
1098
1099 <!ELEMENT %card.qname;  EMPTY >
1100 <!ATTLIST %card.qname;
1101       %MATHML.Common.attrib;
1102       %att-definition;
1103       %att-encoding;
1104 >
1105
1106 <!ENTITY % csetop2ary               
1107      "%setdiff.qname;" >
1108
1109 <!ELEMENT %setdiff.qname;  EMPTY >
1110 <!ATTLIST %setdiff.qname;
1111       %MATHML.Common.attrib;
1112       %att-definition;
1113       %att-encoding;
1114 >
1115
1116 <!ENTITY % csetopnary               
1117      "%union.qname; | %intersect.qname;" >
1118
1119 <!ELEMENT %union.qname;  EMPTY >
1120 <!ATTLIST %union.qname;
1121       %MATHML.Common.attrib;
1122       %att-definition;
1123       %att-encoding;
1124 >
1125
1126 <!ELEMENT %intersect.qname;  EMPTY >
1127 <!ATTLIST %intersect.qname;
1128       %MATHML.Common.attrib;
1129       %att-definition;
1130       %att-encoding;
1131 >
1132
1133 <!ENTITY % cseqop                   
1134      "%sum.qname; | %product.qname; | %limit.qname;" >
1135
1136 <!ELEMENT %sum.qname;  EMPTY >
1137 <!ATTLIST %sum.qname;
1138       %MATHML.Common.attrib;
1139       %att-definition;
1140       %att-encoding;
1141 >
1142
1143 <!ELEMENT %product.qname;  EMPTY >
1144 <!ATTLIST %product.qname;
1145       %MATHML.Common.attrib;
1146       %att-definition;
1147       %att-encoding;
1148 >
1149
1150 <!ELEMENT %limit.qname;  EMPTY >
1151 <!ATTLIST %limit.qname;
1152       %MATHML.Common.attrib;
1153       %att-definition;
1154       %att-encoding;
1155 >
1156
1157 <!ENTITY % ctrigop                  
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;
1166       " >
1167
1168 <!ELEMENT %sin.qname;  EMPTY >
1169 <!ATTLIST %sin.qname;
1170       %MATHML.Common.attrib;
1171       %att-definition;
1172       %att-encoding;
1173 >
1174
1175 <!ELEMENT %cos.qname;  EMPTY >
1176 <!ATTLIST %cos.qname;
1177       %MATHML.Common.attrib;
1178       %att-definition;
1179       %att-encoding;
1180 >
1181
1182 <!ELEMENT %tan.qname;  EMPTY >
1183 <!ATTLIST %tan.qname;
1184       %MATHML.Common.attrib;
1185       %att-definition;
1186       %att-encoding;
1187 >
1188
1189 <!ELEMENT %sec.qname;  EMPTY >
1190 <!ATTLIST %sec.qname;
1191       %MATHML.Common.attrib;
1192       %att-definition;
1193       %att-encoding;
1194 >
1195
1196 <!ELEMENT %csc.qname;  EMPTY >
1197 <!ATTLIST %csc.qname;
1198       %MATHML.Common.attrib;
1199       %att-definition;
1200       %att-encoding;
1201 >
1202
1203 <!ELEMENT %cot.qname;  EMPTY >
1204 <!ATTLIST %cot.qname;
1205       %MATHML.Common.attrib;
1206       %att-definition;
1207       %att-encoding;
1208 >
1209
1210 <!ELEMENT %sinh.qname;  EMPTY >
1211 <!ATTLIST %sinh.qname;
1212       %MATHML.Common.attrib;
1213       %att-definition;
1214       %att-encoding;
1215 >
1216
1217 <!ELEMENT %cosh.qname;  EMPTY >
1218 <!ATTLIST %cosh.qname;
1219       %MATHML.Common.attrib;
1220       %att-definition;
1221       %att-encoding;
1222 >
1223
1224 <!ELEMENT %tanh.qname;  EMPTY >
1225 <!ATTLIST %tanh.qname;
1226       %MATHML.Common.attrib;
1227       %att-definition;
1228       %att-encoding;
1229 >
1230
1231 <!ELEMENT %sech.qname;  EMPTY >
1232 <!ATTLIST %sech.qname;
1233       %MATHML.Common.attrib;
1234       %att-definition;
1235       %att-encoding;
1236 >
1237
1238 <!ELEMENT %csch.qname;  EMPTY >
1239 <!ATTLIST %csch.qname;
1240       %MATHML.Common.attrib;
1241       %att-definition;
1242       %att-encoding;
1243 >
1244
1245 <!ELEMENT %coth.qname;  EMPTY >
1246 <!ATTLIST %coth.qname;
1247       %MATHML.Common.attrib;
1248       %att-definition;
1249       %att-encoding;
1250 >
1251
1252 <!ELEMENT %arcsin.qname;  EMPTY >
1253 <!ATTLIST %arcsin.qname;
1254       %MATHML.Common.attrib;
1255       %att-definition;
1256       %att-encoding;
1257 >
1258
1259 <!ELEMENT %arccos.qname;  EMPTY >
1260 <!ATTLIST %arccos.qname;
1261       %MATHML.Common.attrib;
1262       %att-definition;
1263       %att-encoding;
1264 >
1265
1266 <!ELEMENT %arctan.qname;  EMPTY >
1267 <!ATTLIST %arctan.qname;
1268       %MATHML.Common.attrib;
1269       %att-definition;
1270       %att-encoding;
1271 >
1272
1273 <!ELEMENT %arccosh.qname;  EMPTY >
1274 <!ATTLIST %arccosh.qname;
1275       %MATHML.Common.attrib;
1276       %att-definition;
1277       %att-encoding;
1278 >
1279
1280
1281 <!ELEMENT %arccot.qname;  EMPTY >
1282 <!ATTLIST %arccot.qname;
1283       %MATHML.Common.attrib;
1284       %att-definition;
1285       %att-encoding;
1286 >
1287
1288 <!ELEMENT %arccoth.qname;  EMPTY >
1289 <!ATTLIST %arccoth.qname;
1290       %MATHML.Common.attrib;
1291       %att-definition;
1292       %att-encoding;
1293 >
1294
1295
1296 <!ELEMENT %arccsc.qname;  EMPTY >
1297 <!ATTLIST %arccsc.qname;
1298       %MATHML.Common.attrib;
1299       %att-definition;
1300       %att-encoding;
1301 >
1302
1303 <!ELEMENT %arccsch.qname;  EMPTY >
1304 <!ATTLIST %arccsch.qname;
1305       %MATHML.Common.attrib;
1306       %att-definition;
1307       %att-encoding;
1308 >
1309
1310 <!ELEMENT %arcsec.qname;  EMPTY >
1311 <!ATTLIST %arcsec.qname;
1312       %MATHML.Common.attrib;
1313       %att-definition;
1314       %att-encoding;
1315 >
1316
1317 <!ELEMENT %arcsech.qname;  EMPTY >
1318 <!ATTLIST %arcsech.qname;
1319       %MATHML.Common.attrib;
1320       %att-definition;
1321       %att-encoding;
1322 >
1323
1324 <!ELEMENT %arcsinh.qname;  EMPTY >
1325 <!ATTLIST %arcsinh.qname;
1326       %MATHML.Common.attrib;
1327       %att-definition;
1328       %att-encoding;
1329 >
1330
1331 <!ELEMENT %arctanh.qname;  EMPTY >
1332 <!ATTLIST %arctanh.qname;
1333       %MATHML.Common.attrib;
1334       %att-definition;
1335       %att-encoding;
1336 >
1337
1338
1339
1340 <!ENTITY % cstatopnary              
1341      "%mean.qname; | %sdev.qname; |
1342       %variance.qname; | %median.qname; |
1343       %mode.qname;" >
1344
1345 <!ELEMENT %mean.qname;  EMPTY >
1346 <!ATTLIST %mean.qname;
1347       %MATHML.Common.attrib;
1348       %att-definition;
1349       %att-encoding;
1350 >
1351
1352 <!ELEMENT %sdev.qname;  EMPTY >
1353 <!ATTLIST %sdev.qname;
1354       %MATHML.Common.attrib;
1355       %att-definition;
1356       %att-encoding;
1357 >
1358
1359 <!ELEMENT %variance.qname;  EMPTY >
1360 <!ATTLIST %variance.qname;
1361       %MATHML.Common.attrib;
1362       %att-definition;
1363       %att-encoding;
1364 >
1365
1366 <!ELEMENT %median.qname;  EMPTY >
1367 <!ATTLIST %median.qname;
1368       %MATHML.Common.attrib;
1369       %att-definition;
1370       %att-encoding;
1371 >
1372
1373 <!ELEMENT %mode.qname;  EMPTY >
1374 <!ATTLIST %mode.qname;
1375       %MATHML.Common.attrib;
1376       %att-definition;
1377       %att-encoding;
1378 >
1379
1380 <!ENTITY % cstatopmoment            
1381      "%moment.qname;" >
1382
1383 <!ELEMENT %moment.qname;  EMPTY >
1384 <!ATTLIST %moment.qname;
1385       %MATHML.Common.attrib;
1386       %att-definition;
1387       %att-encoding;
1388 >
1389
1390 <!ENTITY % clalgop1ary              
1391      "%determinant.qname; |
1392       %transpose.qname;" >
1393
1394 <!ELEMENT %determinant.qname;  EMPTY >
1395 <!ATTLIST %determinant.qname;
1396       %MATHML.Common.attrib;
1397       %att-definition;
1398       %att-encoding;
1399 >
1400
1401 <!ELEMENT %transpose.qname;  EMPTY >
1402 <!ATTLIST %transpose.qname;
1403       %MATHML.Common.attrib;
1404       %att-definition;
1405       %att-encoding;
1406 >
1407
1408 <!ENTITY % clalgop2ary              
1409      "%vectorproduct.qname; 
1410       | %scalarproduct.qname; 
1411       | %outerproduct.qname;" >
1412
1413 <!ELEMENT %vectorproduct.qname;  EMPTY >
1414 <!ATTLIST %vectorproduct.qname;
1415       %MATHML.Common.attrib;
1416       %att-definition;
1417       %att-encoding;
1418 >
1419
1420 <!ELEMENT %scalarproduct.qname;  EMPTY >
1421 <!ATTLIST %scalarproduct.qname;
1422       %MATHML.Common.attrib;
1423       %att-definition;
1424       %att-encoding;
1425 >
1426
1427 <!ELEMENT %outerproduct.qname;  EMPTY >
1428 <!ATTLIST %outerproduct.qname;
1429       %MATHML.Common.attrib;
1430       %att-definition;
1431       %att-encoding;
1432 >
1433
1434 <!ENTITY % clalgopnary              
1435      "%selector.qname;" >
1436
1437 <!ELEMENT %selector.qname;  EMPTY >
1438 <!ATTLIST %selector.qname;
1439       %MATHML.Common.attrib;
1440       %att-definition;
1441       %att-encoding;
1442 >
1443
1444 <!-- Content elements: relations -->
1445
1446 <!ENTITY % cgenrel2ary             
1447      "%neq.qname;" >
1448
1449 <!ELEMENT %neq.qname;  EMPTY >
1450 <!ATTLIST %neq.qname;
1451       %MATHML.Common.attrib;
1452       %att-definition;
1453       %att-encoding;
1454 >
1455
1456 <!ENTITY % cgenrelnary              
1457      "%eq.qname; | %leq.qname; | %lt.qname; | %geq.qname; 
1458       | %gt.qname;| %equivalent.qname; | %approx.qname;" >
1459
1460 <!ELEMENT %eq.qname;  EMPTY >
1461 <!ATTLIST %eq.qname;
1462       %MATHML.Common.attrib;
1463       %att-definition;
1464       %att-encoding;
1465 >
1466
1467 <!ELEMENT %equivalent.qname;  EMPTY >
1468 <!ATTLIST %equivalent.qname;
1469       %MATHML.Common.attrib;
1470       %att-definition;
1471       %att-encoding;
1472 >
1473
1474 <!ELEMENT %approx.qname;  EMPTY >
1475 <!ATTLIST %approx.qname;
1476       %MATHML.Common.attrib;
1477       %att-definition;
1478       %att-encoding;
1479 >
1480
1481 <!ELEMENT %gt.qname;  EMPTY >
1482 <!ATTLIST %gt.qname;
1483       %MATHML.Common.attrib;
1484       %att-definition;
1485       %att-encoding;
1486 >
1487
1488 <!ELEMENT %lt.qname;  EMPTY >
1489 <!ATTLIST %lt.qname;
1490       %MATHML.Common.attrib;
1491       %att-definition;
1492       %att-encoding;
1493 >
1494
1495 <!ELEMENT %geq.qname;  EMPTY >
1496 <!ATTLIST %geq.qname;
1497       %MATHML.Common.attrib;
1498       %att-definition;
1499       %att-encoding;
1500 >
1501
1502 <!ELEMENT %leq.qname;  EMPTY >
1503 <!ATTLIST %leq.qname;
1504       %MATHML.Common.attrib;
1505       %att-definition;
1506       %att-encoding;
1507 >
1508
1509 <!ENTITY % csetrel2ary              
1510      "%in.qname; | %notin.qname; | %notsubset.qname; | %notprsubset.qname;" >
1511
1512 <!ELEMENT %in.qname;  EMPTY >
1513 <!ATTLIST %in.qname;
1514       %MATHML.Common.attrib;
1515       %att-definition;
1516       %att-encoding;
1517 >
1518
1519 <!ELEMENT %notin.qname;  EMPTY >
1520 <!ATTLIST %notin.qname;
1521       %MATHML.Common.attrib;
1522       %att-definition;
1523       %att-encoding;
1524 >
1525
1526 <!ELEMENT %notsubset.qname;  EMPTY >
1527 <!ATTLIST %notsubset.qname;
1528       %MATHML.Common.attrib;
1529       %att-definition;
1530       %att-encoding;
1531 >
1532
1533 <!ELEMENT %notprsubset.qname;  EMPTY >
1534 <!ATTLIST %notprsubset.qname;
1535       %MATHML.Common.attrib;
1536       %att-definition;
1537       %att-encoding;
1538 >
1539
1540 <!ENTITY % csetrelnary       
1541      "%subset.qname; | %prsubset.qname;" >
1542
1543 <!ELEMENT %subset.qname;  EMPTY >
1544 <!ATTLIST %subset.qname;
1545       %MATHML.Common.attrib;
1546       %att-definition;
1547       %att-encoding;
1548 >
1549
1550 <!ELEMENT %prsubset.qname;  EMPTY >
1551 <!ATTLIST %prsubset.qname;
1552       %MATHML.Common.attrib;
1553       %att-definition;
1554       %att-encoding;
1555 >
1556
1557 <!ENTITY % cseqrel2ary              
1558      "%tendsto.qname;" >
1559
1560 <!ELEMENT %tendsto.qname;  EMPTY >
1561 <!ATTLIST %tendsto.qname;
1562       %MATHML.Common.attrib;
1563       %att-definition;
1564       %att-encoding;
1565       %att-type;
1566 >
1567
1568 <!-- Content elements: quantifiers -->
1569
1570 <!ENTITY % cquantifier            
1571      "%lowlimit.qname; | %uplimit.qname; | %bvar.qname; 
1572       | %degree.qname; | %logbase.qname;" >
1573
1574 <!ATTLIST %lowlimit.qname;
1575       %MATHML.Common.attrib;
1576 >
1577
1578 <!ATTLIST %uplimit.qname;
1579       %MATHML.Common.attrib;
1580 >
1581
1582 <!ATTLIST %bvar.qname;
1583       %MATHML.Common.attrib;
1584 >
1585
1586 <!ATTLIST %degree.qname;
1587       %MATHML.Common.attrib;
1588 >
1589
1590 <!ATTLIST %logbase.qname;
1591       %MATHML.Common.attrib;
1592 >
1593
1594 <!-- Operator groups -->
1595
1596 <!ENTITY % cop1ary                  
1597      "%cfuncop1ary; | %carithop1ary; | %clogicop1ary; |
1598       %ccalcop1ary; | %ctrigop; | %clalgop1ary; |
1599       %csetop1ary;" >
1600
1601 <!ENTITY % cop2ary                  
1602      "%carithop2ary; | %clogicop2ary;| %clalgop2ary; | %csetop2ary;" >
1603
1604 <!ENTITY % copnary                  
1605      "%cfuncopnary; | %carithopnary; | %clogicopnary; |
1606       %csetopnary; | %cstatopnary; | %clalgopnary;" >
1607
1608 <!ENTITY % copmisc                  
1609      "%carithoproot; | %carithop1or2ary; | %ccalcop; |
1610       %cseqop; | %cstatopmoment; | %clogicopquant;" >
1611
1612 <!-- Relation groups -->
1613
1614 <!ENTITY % crel2ary                 
1615      "%cgenrel2ary; | %csetrel2ary; | %cseqrel2ary;" >
1616
1617 <!ENTITY % crelnary                 
1618      "%cgenrelnary; | %csetrelnary;" >
1619
1620 <!-- Content constructs: all -->
1621
1622 <!ENTITY % Content                  
1623      "%ctoken; | %cspecial; | %cother; | %csemantics; | %c0ary;
1624       | %cconstructor; | %cquantifier; | %cop1ary; | %cop2ary; 
1625       | %copnary; |%copmisc; | %crel2ary; | %crelnary;" >
1626
1627 <!-- Content constructs for substitution in presentation structures -->
1628
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;" >
1637
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)
1645 -->
1646
1647 <!ENTITY % ContentExpression        
1648      "(%Content; | %PresInCont;)*" >
1649 <!ENTITY % PresExpression      
1650      "(%Presentation; | %ContInPres;)*" >
1651 <!ENTITY % MathExpression           
1652      "(%PresInCont; | %ContInPres;)*" >
1653
1654 <!-- PCDATA or MathML character elements -->
1655 <!ENTITY % MathMLCharacters         
1656      "#PCDATA | %mchar.qname; | %mglyph.qname; " >
1657
1658 <!-- Content elements: tokens                       -->
1659 <!-- (may contain embedded presentation constructs) -->
1660
1661 <!ELEMENT %ci.qname;                 (%MathMLCharacters; | %PresInCont;)* >
1662 <!ELEMENT %csymbol.qname;            (%MathMLCharacters; | %PresInCont;)* >
1663 <!ELEMENT %cn.qname;                 (%MathMLCharacters; | %sep.qname; | %PresInCont;)* >
1664
1665 <!-- Content elements: special -->
1666
1667 <!ELEMENT %apply.qname;              (%ContentExpression;) >
1668 <!ELEMENT %reln.qname;               (%ContentExpression;) >
1669 <!ELEMENT %lambda.qname;             (%ContentExpression;) >
1670
1671 <!-- Content elements: other -->
1672
1673 <!ELEMENT %condition.qname;          (%ContentExpression;) >
1674 <!ELEMENT %declare.qname;            (%ContentExpression;) >
1675 <!-- HELM: added the content element type --> 
1676 <!ELEMENT %type.qname;               (%ContentExpression;) >
1677
1678 <!-- Content elements: semantics -->
1679
1680 <!ELEMENT %semantics.qname;          (%ContentExpression;) >
1681 <!ENTITY % Annotation.content  "( #PCDATA )" >
1682 <!ELEMENT %annotation.qname;         %Annotation.content; >
1683
1684 <!ENTITY % Annotation-xml.content "ANY" >
1685 <!ELEMENT %annotation-xml.qname;     %Annotation-xml.content; >
1686
1687 <!-- Content elements: constructors -->
1688
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;) >
1695
1696 <!-- Content elements: operator (user-defined) -->
1697
1698 <!ELEMENT %fn.qname;                 (%ContentExpression;) >
1699
1700 <!-- Content elements: quantifiers -->
1701
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;) >
1707
1708 <!-- ............................................................. -->
1709 <!-- Presentation layout schemata contain tokens,
1710      layout and content schemata.
1711 -->
1712
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;) >
1735
1736 <!-- Presentation elements contain PCDATA or malignmark constructs. -->
1737
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;)* >
1748
1749 <!-- Browser interface definition  ............................... -->
1750
1751 <!-- Attributes for top-level element "math" -->
1752
1753 <!ENTITY % att-macros               
1754      "macros       CDATA                    #IMPLIED" >
1755 <!ENTITY % att-mode                 
1756      "mode         CDATA                    #IMPLIED" >
1757 <!ENTITY % att-display                
1758      "display      CDATA                    #IMPLIED" >
1759
1760 <!ENTITY % att-topinfo          
1761      "%MATHML.Common.attrib;
1762       %att-macros;
1763       %att-mode;
1764       %att-display;" >
1765
1766 <!-- Attributes for browser interface element -->
1767
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" >
1776
1777 <!ENTITY % att-browif           
1778      "%att-type;
1779       %att-name;
1780       %att-height;
1781       %att-width;
1782       %att-baseline;
1783       %att-overflow;
1784       %att-altimg;
1785       %att-alttext;" >
1786
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.
1791 -->
1792
1793 <!ELEMENT %math.qname;               (%MathExpression;) >
1794
1795 <!ATTLIST %math.qname;
1796       %att-topinfo;
1797       %att-browif; >
1798
1799 <!-- MathML Character Entities .............................................. -->
1800 <!ENTITY % mathml-charent.module "INCLUDE" >
1801 <![%mathml-charent.module;[
1802 <!-- Entity sets from ISO Technical Report 9573-13 ..... -->
1803
1804 <!ENTITY % ent-isoamsa
1805       PUBLIC "-//W3C//ENTITIES Added Math Symbols: Arrow Relations for MathML 2.0//EN"
1806              "isoamsa.ent" >
1807 %ent-isoamsa;
1808
1809 <!ENTITY % ent-isoamsb
1810       PUBLIC "-//W3C//ENTITIES Added Math Symbols: Binary Operators for MathML 2.0//EN"
1811              "isoamsb.ent" >
1812 %ent-isoamsb;
1813
1814 <!ENTITY % ent-isoamsc
1815       PUBLIC "-//W3C//ENTITIES Added Math Symbols: Delimiters for MathML 2.0//EN"
1816              "isoamsc.ent" >
1817 %ent-isoamsc;
1818
1819 <!ENTITY % ent-isoamsn
1820       PUBLIC "-//W3C//ENTITIES Added Math Symbols: Negated Relations for MathML 2.0//EN"
1821              "isoamsn.ent" >
1822 %ent-isoamsn;
1823
1824 <!ENTITY % ent-isoamso
1825       PUBLIC "-//W3C//ENTITIES Added Math Symbols: Ordinary for MathML 2.0//EN"
1826              "isoamso.ent" >
1827 %ent-isoamso;
1828
1829 <!ENTITY % ent-isoamsr
1830       PUBLIC "-//W3C//ENTITIES Added Math Symbols: Relations for MathML 2.0//EN"
1831              "isoamsr.ent" >
1832 %ent-isoamsr;
1833
1834 <!ENTITY % ent-isogrk3
1835       PUBLIC "-//W3C//ENTITIES Greek Symbols for MathML 2.0//EN"
1836              "isogrk3.ent" >
1837 %ent-isogrk3;
1838
1839 <!ENTITY % ent-isomfrk
1840       PUBLIC "-//W3C//ENTITIES Math Alphabets: Fraktur for MathML 2.0//EN"
1841              "isomfrk.ent" >
1842 %ent-isomfrk;
1843
1844 <!ENTITY % ent-isomopf
1845       PUBLIC "-//W3C//ENTITIES Math Alphabets: Open Face for MathML 2.0//EN"
1846              "isomopf.ent" >
1847 %ent-isomopf;
1848
1849 <!ENTITY % ent-isomscr
1850       PUBLIC "-//W3C//ENTITIES Math Alphabets: Script for MathML 2.0//EN"
1851              "isomscr.ent" >
1852 %ent-isomscr;
1853
1854 <!ENTITY % ent-isotech
1855       PUBLIC "-//W3C//ENTITIES General Technical for MathML 2.0//EN"
1856              "isotech.ent" >
1857 %ent-isotech;
1858
1859 <!-- Entity sets from informative annex to ISO 8879:1986 (SGML) ....... -->
1860
1861 <!ENTITY % ent-isobox
1862       PUBLIC "-//W3C//ENTITIES Box and Line Drawing for MathML 2.0//EN"
1863              "isobox.ent" >
1864 %ent-isobox;
1865
1866 <!ENTITY % ent-isocyr1
1867       PUBLIC "-//W3C//ENTITIES Russian Cyrillic for MathML 2.0//EN"
1868              "isocyr1.ent" >
1869 %ent-isocyr1;
1870
1871 <!ENTITY % ent-isocyr2
1872       PUBLIC "-//W3C//ENTITIES Non-Russian Cyrillic for MathML 2.0//EN"
1873              "isocyr2.ent" >
1874 %ent-isocyr2;
1875
1876 <!ENTITY % ent-isodia
1877       PUBLIC "-//W3C//ENTITIES Diacritical Marks for MathML 2.0//EN"
1878              "isodia.ent" >
1879 %ent-isodia;
1880
1881 <!ENTITY % ent-isolat1
1882       PUBLIC "-//W3C//ENTITIES Added Latin 1 for MathML 2.0//EN"
1883              "isolat1.ent" >
1884 %ent-isolat1;
1885
1886 <!ENTITY % ent-isolat2
1887       PUBLIC "-//W3C//ENTITIES Added Latin 2 for MathML 2.0//EN"
1888              "isolat2.ent" >
1889 %ent-isolat2;
1890
1891 <!ENTITY % ent-isonum
1892       PUBLIC "-//W3C//ENTITIES Numeric and Special Graphic for MathML 2.0//EN"
1893              "isonum.ent" >
1894 %ent-isonum;
1895
1896 <!ENTITY % ent-isopub
1897       PUBLIC "-//W3C//ENTITIES Publishing for MathML 2.0//EN"
1898              "isopub.ent" >
1899 %ent-isopub;
1900
1901 <!-- New characters defined by MathML ............................ -->
1902
1903 <!ENTITY % ent-mmlextra
1904       PUBLIC "-//W3C//ENTITIES Extra for MathML 2.0//EN"
1905              "mmlextra.ent" >
1906 %ent-mmlextra;
1907
1908 <!-- MathML aliases for characters defined above ................. -->
1909
1910 <!ENTITY % ent-mmlalias
1911       PUBLIC "-//W3C//ENTITIES Aiases for MathML 2.0//EN"
1912              "mmlalias.ent" >
1913 %ent-mmlalias;
1914
1915 <!-- end of MathML Character Entity section -->]]>
1916
1917 <!-- Revision History:
1918
1919        Initial draft (syntax = XML) 1997-05-09
1920           Stephen Buswell
1921        Revised 1997-05-14
1922           Robert Miner
1923        Revised 1997-06-29 and 1997-07-02
1924           Stephen Buswell
1925        Revised 1997-12-15
1926           Stephen Buswell
1927        Revised 1998-02-08
1928           Stephen Buswell
1929        Revised 1998-04-04
1930           Stephen Buswell
1931        Entities and small revisions 1999-02-21
1932           David Carlisle
1933        Added attribute definitionURL to ci and cn 1999-10-11
1934           Nico Poppelier
1935        Additions for MathML 2  1999-12-16
1936           David Carlisle
1937        Namespace support 2000-01-14
1938           David Carlisle
1939        XHTML Compatibility 2000-02-23
1940           Murray Altheim
1941        New content elements 2000-03-26
1942           David Carlisle
1943
1944 -->
1945
1946 <!-- end of MathML 2.0 DTD  ................................................ -->
1947 <!-- ....................................................................... -->
1948