Project

Profile

Help

How to connect?
Download (56.2 KB) Statistics
| Branch: | Tag: | Revision:

he / latest10 / hej / net / sf / saxon / data / w3c / mathml / mathml2 / mathml2.dtd @ 02f8308b

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 &#xa9; 1998-2003 W3C&#xae; (MIT, ERCIM, Keio), All Rights 
12
     Reserved. W3C liability, trademark, document use and software
13
     licensing rules apply. 
14

    
15
     Permission to use, copy, modify and distribute the MathML 2.0 DTD and
16
     its accompanying documentation for any purpose and without fee is
17
     hereby granted in perpetuity, provided that the above copyright notice
18
     and this paragraph appear in all copies.  The copyright holders make
19
     no representation about the suitability of the DTD for any purpose.
20

    
21
     It is provided "as is" without expressed or implied warranty.
22

    
23
        Revision:   $Id: mathml2.dtd,v 1.12 2003/11/04 13:14:35 davidc Exp $
24

    
25
     This entity may be identified by the PUBLIC and SYSTEM identifiers:
26

    
27
       PUBLIC "-//W3C//DTD MathML 2.0//EN"
28
       SYSTEM "mathml2.dtd"
29

    
30
     Revisions: editor and revision history at EOF
31
-->
32
<!-- Entity used to enable marked sections which enforces stricter		
33
     checking of MathML syntax rules		
34
-->
35
<!ENTITY % MathMLstrict "IGNORE">		
36

    
37
<!-- MathML Qualified Names module ............................... -->
38
<!ENTITY % mathml-qname.module "INCLUDE" >
39
<![%mathml-qname.module;[
40
<!ENTITY % mathml-qname.mod
41
     PUBLIC "-//W3C//ENTITIES MathML 2.0 Qualified Names 1.0//EN"
42
            "mathml2-qname-1.mod" >
43
%mathml-qname.mod;]]>
44

    
45
<!-- if %NS.prefixed; is INCLUDE, include all NS attributes, 
46
     otherwise just those associated with MathML
47
-->
48
<![%NS.prefixed;[
49
  <!ENTITY % MATHML.NamespaceDecl.attrib 
50
         "%NamespaceDecl.attrib;"
51
>
52
]]>
53
<!ENTITY % MATHML.NamespaceDecl.attrib 
54
     "%MATHML.xmlns.attrib;"
55
>
56

    
57

    
58
<!-- Attributes shared by all elements  .......................... -->
59

    
60
<!ENTITY % MATHML.Common.attrib
61
     "%MATHML.NamespaceDecl.attrib;
62
      %XLINK.prefix;:href   CDATA           #IMPLIED		
63
      %XLINK.prefix;:type   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
<!-- MathML2 typographically-distinguished symbol attributes -->
87

    
88
<![%MathMLstrict;[
89
  <!ENTITY % att-mathvariant
90
     "mathvariant     ( normal | bold | italic | bold-italic | double-struck | 
91
                        bold-fraktur | script | bold-script | fraktur |
92
                        sans-serif | bold-sans-serif | sans-serif-italic |
93
                        sans-serif-bold-italic | monospace )
94
                                                                   #IMPLIED" >
95
]]>
96
<!ENTITY % att-mathvariant
97
     "mathvariant     CDATA                    #IMPLIED" >
98
<!ENTITY % att-mathsize
99
     "mathsize     CDATA                    #IMPLIED" >
100
<!ENTITY % att-mathcolor
101
     "mathcolor     CDATA                    #IMPLIED" >
102
<!ENTITY % att-mathbackground
103
     "mathbackground     CDATA                    #IMPLIED" >
104

    
105
<!ENTITY % att-fontinfo
106
     "%att-fontsize;
107
      %att-fontweight;
108
      %att-fontstyle;
109
      %att-fontfamily;
110
      %att-color;
111
      %att-mathvariant;
112
      %att-mathsize;
113
      %att-mathcolor;
114
      %att-mathbackground;"
115
>
116

    
117
<!ENTITY % att-form
118
     "form         ( prefix | infix | postfix )  #IMPLIED" >
119
<!ENTITY % att-fence
120
     "fence        ( true | false )         #IMPLIED" >
121
<!ENTITY % att-separator
122
     "separator    ( true | false )         #IMPLIED" >
123
<!ENTITY % att-lspace
124
     "lspace       CDATA                    #IMPLIED" >
125
<!ENTITY % att-rspace
126
     "rspace       CDATA                    #IMPLIED" >
127
<!ENTITY % att-stretchy
128
     "stretchy     ( true | false )         #IMPLIED" >
129
<!ENTITY % att-symmetric
130
     "symmetric    ( true | false )         #IMPLIED" >
131
<!ENTITY % att-maxsize
132
     "maxsize      CDATA                    #IMPLIED" >
133
<!ENTITY % att-minsize
134
     "minsize      CDATA                    #IMPLIED" >
135
<!ENTITY % att-largeop
136
     "largeop      ( true | false)          #IMPLIED" >
137
<!ENTITY % att-movablelimits
138
     "movablelimits ( true | false )        #IMPLIED" >
139
<!ENTITY % att-accent
140
     "accent       ( true | false )         #IMPLIED" >
141

    
142
<!ENTITY % att-opinfo
143
     "%att-form;
144
      %att-fence;
145
      %att-separator;
146
      %att-lspace;
147
      %att-rspace;
148
      %att-stretchy;
149
      %att-symmetric;
150
      %att-maxsize;
151
      %att-minsize;
152
      %att-largeop;
153
      %att-movablelimits;
154
      %att-accent;"
155
>
156
<!ENTITY % att-width
157
     "width        CDATA                    #IMPLIED" >
158
<!ENTITY % att-height
159
     "height       CDATA                    #IMPLIED" >
160
<!ENTITY % att-depth
161
     "depth        CDATA                    #IMPLIED" >
162
<!ENTITY % att-linebreak
163
     "linebreak    CDATA                    #IMPLIED" >
164
<!ENTITY % att-sizeinfo
165
     "%att-width;
166
      %att-height;
167
      %att-depth;"
168
>
169
<!ENTITY % att-lquote               
170
     "lquote       CDATA                    #IMPLIED" >
171
<!ENTITY % att-rquote               
172
     "rquote       CDATA                    #IMPLIED" >
173
<!ENTITY % att-linethickness        
174
     "linethickness CDATA                   #IMPLIED" >
175
<!ENTITY % att-scriptlevel          
176
     "scriptlevel  CDATA                    #IMPLIED" >
177
<!ENTITY % att-displaystyle         
178
     "displaystyle ( true | false )         #IMPLIED" >
179
<!ENTITY % att-scriptsizemultiplier 
180
     "scriptsizemultiplier CDATA            #IMPLIED" >
181
<!ENTITY % att-scriptminsize        
182
     "scriptminsize CDATA                   #IMPLIED" >
183
<!ENTITY % att-background           
184
     "background   CDATA                    #IMPLIED" >
185
<!ENTITY % att-veryverythinmathspace           
186
     "veryverythinmathspace   CDATA         #IMPLIED" >
187
<!ENTITY % att-verythinmathspace           
188
     "verythinmathspace   CDATA             #IMPLIED" >
189
<!ENTITY % att-thinmathspace           
190
     "thinmathspace   CDATA                 #IMPLIED" >
191
<!ENTITY % att-mediummathspace           
192
     "mediummathspace   CDATA               #IMPLIED" >
193
<!ENTITY % att-thickmathspace           
194
     "thickmathspace   CDATA                #IMPLIED" >
195
<!ENTITY % att-verythickmathspace           
196
     "verythickmathspace   CDATA            #IMPLIED" >
197
<!ENTITY % att-veryverythickmathspace           
198
     "veryverythickmathspace   CDATA        #IMPLIED" >
199
<!ENTITY % att-open                 
200
     "open         CDATA                    #IMPLIED" >
201
<!ENTITY % att-close                
202
     "close        CDATA                    #IMPLIED" >
203
<!ENTITY % att-separators          
204
     "separators   CDATA                    #IMPLIED" >
205
<!ENTITY % att-subscriptshift       
206
     "subscriptshift CDATA                  #IMPLIED" >
207
<!ENTITY % att-superscriptshift     
208
     "superscriptshift CDATA                #IMPLIED" >
209
<!ENTITY % att-accentunder          
210
     "accentunder  ( true | false )         #IMPLIED" >
211
<!ENTITY % att-align       
212
     "align        CDATA                    #IMPLIED" >
213
<![%MathMLstrict;[
214
  <!ENTITY % att-numalign	
215
     "numalign     ( left | center | right )         #IMPLIED" >
216
  <!ENTITY % att-denomalign
217
     "denomalign   ( left | center | right )         #IMPLIED" >
218
]]>
219
<!ENTITY % att-numalign		
220
     "numalign        CDATA                    #IMPLIED" >		
221
<!ENTITY % att-denomalign		
222
     "denomalign        CDATA                    #IMPLIED" >		
223
<!ENTITY % att-rowalign-list		
224
     "rowalign     CDATA                    #IMPLIED" >		
225
<!ENTITY % att-columnalign-list		
226
     "columnalign  CDATA                    #IMPLIED" >		
227
<![%MathMLstrict;[
228
  <!ENTITY % att-rowalign
229
     "rowalign     ( top | bottom |	center | baseline | axis )    #IMPLIED" >
230
  <!ENTITY % att-columnalign
231
     "columnalign  ( left | center | right )        #IMPLIED" >
232
]]>
233
<!ENTITY % att-rowalign      
234
     "rowalign     CDATA                    #IMPLIED" >
235
<!ENTITY % att-columnalign     
236
     "columnalign  CDATA                    #IMPLIED" >
237
<!ENTITY % att-columnwidth   
238
     "columnwidth  CDATA                    #IMPLIED" >
239
<!ENTITY % att-groupalign-list		
240
     "groupalign   CDATA                    #IMPLIED" >		
241
<![%MathMLstrict;[
242
  <!ENTITY % att-groupalign
243
     "groupalign   ( left | right | center | decimalpoint )   #IMPLIED" >
244
]]>
245
<!ENTITY % att-groupalign      
246
     "groupalign   CDATA                    #IMPLIED" >
247
<!ENTITY % att-alignmentscope 
248
     "alignmentscope CDATA                  #IMPLIED" >
249
<!ENTITY % att-rowspacing           
250
     "rowspacing   CDATA                    #IMPLIED" >
251
<!ENTITY % att-columnspacing      
252
     "columnspacing CDATA                   #IMPLIED" >
253
<!ENTITY % att-rowlines            
254
     "rowlines     CDATA                    #IMPLIED" >
255
<!ENTITY % att-columnlines        
256
     "columnlines  CDATA                    #IMPLIED" >
257
<!ENTITY % att-frame            
258
     "frame       ( none | solid | dashed ) #IMPLIED" >
259
<!ENTITY % att-side		
260
     "side       ( left | right | leftoverlap | rightoverlap ) #IMPLIED" >		
261
<!ENTITY % att-framespacing         
262
     "framespacing CDATA                    #IMPLIED" >
263
<!ENTITY % att-minlabelspacing		
264
     "minlabelspacing CDATA                 #IMPLIED" >		
265
<![%MathMLstrict;[
266
  <!ENTITY % att-equalrows
267
     "equalrows    ( true | false )         #IMPLIED" >
268
  <!ENTITY % att-equalcolumns
269
     "equalcolumns ( true | false )         #IMPLIED" >
270
]]>
271
<!ENTITY % att-equalrows        
272
     "equalrows    CDATA                    #IMPLIED" >
273
<!ENTITY % att-equalcolumns         
274
     "equalcolumns CDATA                    #IMPLIED" >
275

    
276
<!ENTITY % att-tableinfo            
277
     "%att-align;
278
      %att-rowalign-list;	
279
      %att-columnalign-list;	
280
      %att-columnwidth;
281
      %att-groupalign-list;	
282
      %att-alignmentscope;
283
      %att-side;		
284
      %att-rowspacing;
285
      %att-columnspacing;
286
      %att-rowlines;
287
      %att-columnlines;
288
      %att-width;		
289
      %att-frame;
290
      %att-framespacing;
291
      %att-minlabelspacing;		
292
      %att-equalrows;
293
      %att-equalcolumns;
294
      %att-displaystyle;" 
295
>
296

    
297
<!ENTITY % att-rowspan              
298
     "rowspan      CDATA                    #IMPLIED" >
299
<!ENTITY % att-columnspan           
300
     "columnspan   CDATA                    #IMPLIED" >
301
<!ENTITY % att-edge        
302
     "edge         ( left | right )         #IMPLIED" >
303
<!ENTITY % att-actiontype          
304
     "actiontype   CDATA                    #IMPLIED" >
305
<!ENTITY % att-selection       
306
     "selection    CDATA                    #IMPLIED" >
307

    
308
<!ENTITY % att-name                 
309
     "name         CDATA                    #IMPLIED" >
310
<!ENTITY % att-alt              
311
     "alt          CDATA                    #IMPLIED" >
312
<!ENTITY % att-index           
313
     "index        CDATA                    #IMPLIED" >
314

    
315
<![%MathMLstrict;[
316
  <!ENTITY % att-bevelled
317
     "bevelled      ( true | false )        #IMPLIED" >
318
]]>
319
<!ENTITY % att-bevelled       
320
     "bevelled      CDATA                    #IMPLIED" >
321

    
322
<!-- Presentation schemata with content -->
323

    
324
<!ENTITY % ptoken                   
325
     "%mi.qname; | %mn.qname; | %mo.qname;
326
      | %mtext.qname; | %ms.qname;" >
327

    
328
<!ATTLIST %mi.qname;
329
      %MATHML.Common.attrib;
330
      %att-fontinfo;
331
>
332

    
333
<!ATTLIST %mn.qname;      
334
      %MATHML.Common.attrib; 
335
      %att-fontinfo;
336
>
337

    
338
<!ATTLIST %mo.qname;     
339
      %MATHML.Common.attrib; 
340
      %att-fontinfo;
341
      %att-opinfo;
342
>
343

    
344
<!ATTLIST %mtext.qname;  
345
      %MATHML.Common.attrib;
346
      %att-fontinfo;
347
>
348

    
349
<!ATTLIST %ms.qname;     
350
      %MATHML.Common.attrib;
351
      %att-fontinfo;
352
      %att-lquote;
353
      %att-rquote;
354
>
355

    
356
<!-- Empty presentation schemata -->
357

    
358
<!ENTITY % petoken                  
359
     "%mspace.qname;" >
360
<!ELEMENT %mspace.qname;  EMPTY >
361

    
362
<!ATTLIST %mspace.qname; 
363
      %att-sizeinfo;
364
      %att-linebreak;
365
      %MATHML.Common.attrib;
366
>
367

    
368
<!-- Presentation: general layout schemata -->
369

    
370
<!ENTITY % pgenschema               
371
     "%mrow.qname; | %mfrac.qname; | %msqrt.qname; | %mroot.qname; 
372
      | %menclose.qname; | %mstyle.qname; | %merror.qname; 
373
      | %mpadded.qname; | %mphantom.qname; | %mfenced.qname;" >
374

    
375
<!ATTLIST %mrow.qname;        
376
      %MATHML.Common.attrib;
377
>
378

    
379
<!ATTLIST %mfrac.qname;     
380
      %MATHML.Common.attrib;
381
      %att-bevelled;		
382
      %att-numalign;		
383
      %att-denomalign;		
384
      %att-linethickness;
385
>
386

    
387
<!ATTLIST %msqrt.qname;     
388
      %MATHML.Common.attrib;
389
>
390

    
391
<!ATTLIST %menclose.qname;  
392
      %MATHML.Common.attrib;
393
      notation CDATA 'longdiv' >
394

    
395
<!ATTLIST %mroot.qname;    
396
      %MATHML.Common.attrib;
397
>
398

    
399
<!ATTLIST %mstyle.qname;  
400
      %MATHML.Common.attrib;
401
      %att-fontinfo;
402
      %att-opinfo;
403
      %att-lquote;
404
      %att-rquote;
405
      %att-linethickness;
406
      %att-scriptlevel;
407
      %att-scriptsizemultiplier;
408
      %att-scriptminsize;
409
      %att-background;
410
      %att-veryverythinmathspace;
411
      %att-verythinmathspace;
412
      %att-thinmathspace;
413
      %att-mediummathspace;
414
      %att-thickmathspace;
415
      %att-verythickmathspace;
416
      %att-veryverythickmathspace;
417
      %att-open;
418
      %att-close;
419
      %att-separators;
420
      %att-subscriptshift;
421
      %att-superscriptshift;
422
      %att-accentunder;
423
      %att-tableinfo;
424
      %att-rowspan;
425
      %att-columnspan;
426
      %att-edge;
427
      %att-selection;
428
      %att-bevelled;	
429
      %att-height;		
430
      %att-depth;		
431
>
432

    
433
<!ATTLIST %merror.qname;   
434
      %MATHML.Common.attrib;
435
>
436

    
437
<!ATTLIST %mpadded.qname;     
438
      %MATHML.Common.attrib;
439
      %att-sizeinfo;
440
      %att-lspace;
441
>
442

    
443
<!ATTLIST %mphantom.qname;      
444
      %MATHML.Common.attrib;
445
>
446

    
447
<!ATTLIST %mfenced.qname;     
448
      %MATHML.Common.attrib;
449
      %att-open;
450
      %att-close;
451
      %att-separators;
452
>
453

    
454
<!-- Presentation layout schemata: scripts and limits -->
455

    
456
<!ENTITY % pscrschema               
457
     "%msub.qname; | %msup.qname; | %msubsup.qname; | %munder.qname; 
458
      | %mover.qname; | %munderover.qname; | %mmultiscripts.qname;" >
459

    
460
<!ATTLIST %msub.qname;      
461
      %MATHML.Common.attrib;
462
      %att-subscriptshift;
463
>
464

    
465
<!ATTLIST %msup.qname;         
466
      %MATHML.Common.attrib;
467
      %att-superscriptshift;
468
>
469

    
470
<!ATTLIST %msubsup.qname;    
471
      %MATHML.Common.attrib;
472
      %att-subscriptshift;
473
      %att-superscriptshift;
474
>
475

    
476
<!ATTLIST %munder.qname;   
477
      %MATHML.Common.attrib;
478
      %att-accentunder;
479
>
480

    
481
<!ATTLIST %mover.qname;   
482
      %MATHML.Common.attrib;
483
      %att-accent;
484
>
485

    
486
<!ATTLIST %munderover.qname;   
487
      %MATHML.Common.attrib;
488
      %att-accent;
489
      %att-accentunder;
490
>
491

    
492
<!ATTLIST %mmultiscripts.qname;   
493
      %MATHML.Common.attrib;
494
      %att-subscriptshift;
495
      %att-superscriptshift;
496
>
497

    
498
<!-- Presentation layout schemata: empty elements for scripts -->
499

    
500
<!ENTITY % pscreschema              
501
     "%mprescripts.qname; | %none.qname;" >
502

    
503
<!ELEMENT %mprescripts.qname;  EMPTY >
504
<!ATTLIST %mprescripts.qname;   
505
      %MATHML.xmlns.attrib; >
506

    
507
<!ELEMENT %none.qname;  EMPTY >
508
<!ATTLIST %none.qname;    
509
      %MATHML.xmlns.attrib; >
510

    
511
<!-- Presentation layout schemata: tables -->
512

    
513
<![%MathMLstrict;[
514
<!-- in strict mode only allow mtable at top level.
515
     mtr ,mlabledtr and mtd only allowed inside mtable.
516
-->
517
  <!ENTITY % ptabschema    "%mtable.qname;" >
518
]]>
519

    
520
<!ENTITY % ptabschema               
521
     "%mtable.qname; | %mtr.qname; | %mlabeledtr.qname; | %mtd.qname;" >
522

    
523
<!ATTLIST %mtable.qname;
524
      %MATHML.Common.attrib;
525
      %att-tableinfo;
526
>
527

    
528
<!ATTLIST %mtr.qname;    
529
      %MATHML.Common.attrib;
530
      %att-rowalign;
531
      %att-columnalign-list;	
532
      %att-groupalign-list;	
533
>
534

    
535
<!ATTLIST %mlabeledtr.qname;  
536
      %MATHML.Common.attrib;
537
      %att-rowalign;
538
      %att-columnalign-list;	
539
      %att-groupalign-list;	
540
>
541

    
542
<!ATTLIST %mtd.qname;   
543
      %MATHML.Common.attrib;
544
      %att-rowalign;
545
      %att-columnalign;
546
      %att-groupalign-list;	
547
      %att-rowspan;
548
      %att-columnspan;
549
>
550
<!ENTITY % plschema                 
551
     "%pgenschema; | %pscrschema; | %ptabschema;" >
552

    
553
<!-- Empty presentation layout schemata -->
554

    
555
<!ENTITY % peschema                 
556
     "%maligngroup.qname; | %malignmark.qname;" >
557

    
558
<!ELEMENT %malignmark.qname;  EMPTY >
559

    
560
<!ATTLIST %malignmark.qname;  
561
      %att-edge; >
562

    
563
<!ELEMENT %maligngroup.qname;  EMPTY >
564
<!ATTLIST %maligngroup.qname;  
565
      %MATHML.Common.attrib;
566
      %att-groupalign;
567
>
568

    
569

    
570
<!ELEMENT %mglyph.qname;  EMPTY >
571
<!ATTLIST %mglyph.qname;    
572
      %att-alt;
573
      %att-fontfamily;
574
      %att-index; >
575

    
576
<!-- Presentation action schemata -->
577

    
578
<!ENTITY % pactions                 
579
     "%maction.qname;" >
580
<!ATTLIST %maction.qname;    
581
      %MATHML.Common.attrib;
582
      %att-actiontype;
583
      %att-selection;
584
>
585

    
586
<!-- The following entity for substitution into
587
     content constructs excludes elements that
588
     are not valid as expressions.
589
-->
590

    
591
<!ENTITY % PresInCont               
592
     "%ptoken; | %petoken; |
593
      %plschema; | %peschema; | %pactions;" >
594

    
595
<!-- Presentation entity: all presentation constructs -->
596

    
597

    
598
<![%MathMLstrict;[
599
<!-- In strict mode don't allow prescripts and none at top level.-->
600
  <!ENTITY % Presentation "%PresInCont;">             
601
]]>
602
<!ENTITY % Presentation             
603
     "%ptoken; | %petoken; | %pscreschema; |
604
      %plschema; | %peschema; | %pactions;">
605

    
606
<!-- Content element set  ........................................ -->
607

    
608
<!-- Attribute definitions -->
609

    
610
<!ENTITY % att-base                 
611
     "base         CDATA                    '10'" >
612
<!ENTITY % att-closure              
613
     "closure      CDATA                    'closed'" >
614
<!ENTITY % att-definition           
615
     "definitionURL CDATA                   ''" >
616
<!ENTITY % att-encoding             
617
     "encoding     CDATA                    ''" >
618
<!ENTITY % att-nargs             
619
     "nargs        CDATA                    '1'" >
620
<!ENTITY % att-occurrence           
621
     "occurrence   CDATA                    'function-model'" >
622
<!ENTITY % att-order   
623
     "order        CDATA                    'numeric'" >
624
<!ENTITY % att-scope                
625
     "scope        CDATA                    'local'" >
626
<!ENTITY % att-type                 
627
     "type         CDATA                    #IMPLIED" >
628

    
629
<!-- Content elements: leaf nodes -->
630

    
631
<!ENTITY % ctoken               
632
     "%csymbol.qname; | %ci.qname; | %cn.qname;" >
633

    
634
<!ATTLIST %ci.qname;     
635
      %MATHML.Common.attrib;
636
      %att-type;
637
      %att-definition;
638
      %att-encoding;
639
>
640

    
641
<!ATTLIST %csymbol.qname;   
642
      %MATHML.Common.attrib;
643
      %att-encoding;
644
      %att-type;
645
      %att-definition;
646
>
647

    
648
<!ATTLIST %cn.qname;    
649
      %MATHML.Common.attrib;
650
      %att-type;
651
      %att-base;
652
      %att-definition;
653
      %att-encoding;
654
>
655

    
656
<!-- Content elements: specials -->
657

    
658
<!ENTITY % cspecial                 
659
     "%apply.qname; | %reln.qname; |
660
      %lambda.qname;" >
661

    
662
<!ATTLIST %apply.qname;   
663
      %MATHML.Common.attrib;
664
>
665

    
666
<!ATTLIST %reln.qname;   
667
      %MATHML.Common.attrib;
668
>
669

    
670
<!ATTLIST %lambda.qname;      
671
      %MATHML.Common.attrib;
672
>
673

    
674
<!-- Content elements: others -->
675

    
676
<!ENTITY % cother                   
677
     "%condition.qname; | %declare.qname; | %sep.qname;" >
678

    
679
<!ATTLIST %condition.qname;     
680
      %MATHML.Common.attrib;
681
>
682

    
683
<!ATTLIST %declare.qname;    
684
      %MATHML.Common.attrib;
685
      %att-type;
686
      %att-scope;
687
      %att-nargs;
688
      %att-occurrence;
689
      %att-definition;
690
      %att-encoding;
691
>
692

    
693
<!ELEMENT %sep.qname;  EMPTY >
694
<!ATTLIST %sep.qname;         
695
      %MATHML.xmlns.attrib; >
696

    
697
<!-- Content elements: semantic mapping -->
698

    
699
<![%MathMLstrict;[
700
<!-- in strict mode only allow semantics at top level.
701
     annotation and annotation-xml only allowed in semantics
702
-->
703
  <!ENTITY % csemantics  "%semantics.qname;" >
704
]]>
705
<!ENTITY % csemantics               
706
     "%semantics.qname; | %annotation.qname; |
707
      %annotation-xml.qname;" >
708

    
709
<!ATTLIST %semantics.qname;  
710
      %MATHML.Common.attrib;
711
      %att-definition;
712
      %att-encoding;
713
>
714

    
715
<!ATTLIST %annotation.qname;  
716
      %MATHML.Common.attrib;
717
      %att-encoding;
718
>
719

    
720
<!ATTLIST %annotation-xml.qname; 
721
      %MATHML.Common.attrib;
722
      %att-encoding;
723
>
724

    
725
<!-- Content elements: constructors -->
726

    
727
<!ENTITY % cconstructor             
728
     "%interval.qname; | %list.qname; | %matrix.qname; 
729
      | %matrixrow.qname; | %set.qname; | %vector.qname;
730
      | %piecewise.qname; " >
731

    
732
<!ATTLIST %interval.qname;   
733
      %MATHML.Common.attrib;
734
      %att-closure;
735
>
736

    
737
<!ATTLIST %set.qname;        
738
      %MATHML.Common.attrib;
739
      %att-type;
740
>
741

    
742
<!ATTLIST %list.qname;          
743
      %MATHML.Common.attrib;
744
      %att-order;
745
>
746

    
747
<!ATTLIST %vector.qname;    
748
      %MATHML.Common.attrib;
749
>
750

    
751
<!ATTLIST %matrix.qname;    
752
      %MATHML.Common.attrib;
753
>
754

    
755
<!ATTLIST %matrixrow.qname;     
756
      %MATHML.Common.attrib;
757
>
758

    
759
<!ATTLIST %piecewise.qname;   
760
      %MATHML.Common.attrib;
761
>
762

    
763
<!ATTLIST %piece.qname;   
764
      %MATHML.Common.attrib;
765
>
766

    
767
<!ATTLIST %otherwise.qname;   
768
      %MATHML.Common.attrib;
769
>
770

    
771

    
772
<!-- Content elements: symbols -->
773

    
774
<!ENTITY % c0ary              
775
    "%integers.qname; |
776
     %reals.qname; |
777
     %rationals.qname; |
778
     %naturalnumbers.qname; |
779
     %complexes.qname; |
780
     %primes.qname; |
781
     %exponentiale.qname; |
782
     %imaginaryi.qname; |
783
     %notanumber.qname; |
784
     %true.qname; |
785
     %false.qname; |
786
     %emptyset.qname; |
787
     %pi.qname; |
788
     %eulergamma.qname; |
789
     %infinity.qname;" >
790

    
791
<!ELEMENT %integers.qname;  EMPTY >
792
<!ATTLIST %integers.qname;   
793
      %MATHML.Common.attrib;
794
      %att-definition;
795
      %att-encoding;
796
>
797

    
798
<!ELEMENT %reals.qname;  EMPTY >
799
<!ATTLIST %reals.qname;   
800
      %MATHML.Common.attrib;
801
      %att-definition;
802
      %att-encoding;
803
>
804

    
805
<!ELEMENT %rationals.qname;  EMPTY >
806
<!ATTLIST %rationals.qname;   
807
      %MATHML.Common.attrib;
808
      %att-definition;
809
      %att-encoding;
810
>
811

    
812
<!ELEMENT %naturalnumbers.qname;  EMPTY >
813
<!ATTLIST %naturalnumbers.qname;   
814
      %MATHML.Common.attrib;
815
      %att-definition;
816
      %att-encoding;
817
>
818

    
819
<!ELEMENT %complexes.qname;  EMPTY >
820
<!ATTLIST %complexes.qname;   
821
      %MATHML.Common.attrib;
822
      %att-definition;
823
      %att-encoding;
824
>
825

    
826
<!ELEMENT %primes.qname;  EMPTY >
827
<!ATTLIST %primes.qname;   
828
      %MATHML.Common.attrib;
829
      %att-definition;
830
      %att-encoding;
831
>
832

    
833
<!ELEMENT %exponentiale.qname;  EMPTY >
834
<!ATTLIST %exponentiale.qname;   
835
      %MATHML.Common.attrib;
836
      %att-definition;
837
      %att-encoding;
838
>
839

    
840
<!ELEMENT %imaginaryi.qname;  EMPTY >
841
<!ATTLIST %imaginaryi.qname;   
842
      %MATHML.Common.attrib;
843
      %att-definition;
844
      %att-encoding;
845
>
846

    
847
<!ELEMENT %notanumber.qname;  EMPTY >
848
<!ATTLIST %notanumber.qname;   
849
      %MATHML.Common.attrib;
850
      %att-definition;
851
      %att-encoding;
852
>
853

    
854
<!ELEMENT %true.qname;  EMPTY >
855
<!ATTLIST %true.qname;   
856
      %MATHML.Common.attrib;
857
      %att-definition;
858
      %att-encoding;
859
>
860

    
861
<!ELEMENT %false.qname;  EMPTY >
862
<!ATTLIST %false.qname;   
863
      %MATHML.Common.attrib;
864
      %att-definition;
865
      %att-encoding;
866
>
867

    
868
<!ELEMENT %emptyset.qname;  EMPTY >
869
<!ATTLIST %emptyset.qname;   
870
      %MATHML.Common.attrib;
871
      %att-definition;
872
      %att-encoding;
873
>
874

    
875
<!ELEMENT %pi.qname;  EMPTY >
876
<!ATTLIST %pi.qname;   
877
      %MATHML.Common.attrib;
878
      %att-definition;
879
      %att-encoding;
880
>
881

    
882
<!ELEMENT %eulergamma.qname;  EMPTY >
883
<!ATTLIST %eulergamma.qname;   
884
      %MATHML.Common.attrib;
885
      %att-definition;
886
      %att-encoding;
887
>
888

    
889
<!ELEMENT %infinity.qname;  EMPTY >
890
<!ATTLIST %infinity.qname;   
891
      %MATHML.Common.attrib;
892
      %att-definition;
893
      %att-encoding;
894
>
895

    
896
<!-- Content elements: operators -->
897

    
898
<!ENTITY % cfuncop1ary              
899
     "%inverse.qname; | %ident.qname;|
900
      %domain.qname; |  %codomain.qname; | 
901
      %image.qname;  " >
902

    
903
<!ELEMENT %inverse.qname;  EMPTY >
904
<!ATTLIST %inverse.qname;    
905
      %MATHML.Common.attrib;
906
      %att-definition;
907
      %att-encoding;
908
>
909

    
910
<!ELEMENT %domain.qname;  EMPTY >
911
<!ATTLIST %domain.qname;    
912
      %MATHML.Common.attrib;
913
      %att-definition;
914
      %att-encoding;
915
>
916

    
917
<!ELEMENT %codomain.qname;  EMPTY >
918
<!ATTLIST %codomain.qname;    
919
      %MATHML.Common.attrib;
920
      %att-definition;
921
      %att-encoding;
922
>
923

    
924
<!ELEMENT %image.qname;  EMPTY >
925
<!ATTLIST %image.qname;    
926
      %MATHML.Common.attrib;
927
      %att-definition;
928
      %att-encoding;
929
>
930

    
931

    
932

    
933
<!ENTITY % cfuncopnary              
934
     "%fn.qname; | %compose.qname;" >
935

    
936
<!ATTLIST %fn.qname;     
937
      %MATHML.Common.attrib;
938
      %att-definition;
939
      %att-encoding;
940
>
941

    
942
<!ELEMENT %ident.qname;  EMPTY >
943
<!ATTLIST %ident.qname;   
944
      %MATHML.Common.attrib;
945
      %att-definition;
946
      %att-encoding;
947
>
948

    
949
<!ELEMENT %compose.qname;  EMPTY >
950
<!ATTLIST %compose.qname;  
951
      %MATHML.Common.attrib;
952
      %att-definition;
953
      %att-encoding;
954
>
955

    
956
<!ENTITY % carithop1ary             
957
     "%abs.qname; | %conjugate.qname; | %exp.qname; | %factorial.qname; |
958
      %arg.qname; | %real.qname; | %imaginary.qname; |
959
      %floor.qname; | %ceiling.qname;" >
960

    
961
<!ELEMENT %exp.qname;  EMPTY >
962
<!ATTLIST %exp.qname;   
963
      %MATHML.Common.attrib;
964
      %att-definition;
965
      %att-encoding;
966
>
967

    
968
<!ELEMENT %abs.qname;  EMPTY >
969
<!ATTLIST %abs.qname;        
970
      %MATHML.Common.attrib;
971
      %att-definition;
972
      %att-encoding;
973
>
974

    
975
<!ELEMENT %arg.qname;  EMPTY >
976
<!ATTLIST %arg.qname;     
977
      %MATHML.Common.attrib;
978
      %att-definition;
979
      %att-encoding;
980
>
981

    
982
<!ELEMENT %real.qname;  EMPTY >
983
<!ATTLIST %real.qname;    
984
      %MATHML.Common.attrib;
985
      %att-definition;
986
      %att-encoding;
987
>
988

    
989
<!ELEMENT %imaginary.qname;  EMPTY >
990
<!ATTLIST %imaginary.qname;   
991
      %MATHML.Common.attrib;
992
      %att-definition;
993
      %att-encoding;
994
>
995

    
996
<!ELEMENT %conjugate.qname;  EMPTY >
997
<!ATTLIST %conjugate.qname;  
998
      %MATHML.Common.attrib;
999
      %att-definition;
1000
      %att-encoding;
1001
>
1002

    
1003
<!ELEMENT %factorial.qname;  EMPTY >
1004
<!ATTLIST %factorial.qname;    
1005
      %MATHML.Common.attrib;
1006
      %att-definition;
1007
      %att-encoding;
1008
>
1009

    
1010

    
1011
<!ELEMENT %floor.qname;  EMPTY >
1012
<!ATTLIST %floor.qname;     
1013
      %MATHML.Common.attrib;
1014
      %att-definition;
1015
      %att-encoding;
1016
>
1017

    
1018
<!ELEMENT %ceiling.qname;  EMPTY >
1019
<!ATTLIST %ceiling.qname;     
1020
      %MATHML.Common.attrib;
1021
      %att-definition;
1022
      %att-encoding;
1023
>
1024
<!ENTITY % carithop1or2ary          
1025
     "%minus.qname;" >
1026

    
1027
<!ELEMENT %minus.qname;  EMPTY >
1028
<!ATTLIST %minus.qname;     
1029
      %MATHML.Common.attrib;
1030
      %att-definition;
1031
      %att-encoding;
1032
>
1033

    
1034
<!ENTITY % carithop2ary             
1035
     "%quotient.qname; | %divide.qname; | %power.qname; | %rem.qname;" >
1036

    
1037
<!ELEMENT %quotient.qname;  EMPTY >
1038
<!ATTLIST %quotient.qname;       
1039
      %MATHML.Common.attrib;
1040
      %att-definition;
1041
      %att-encoding;
1042
>
1043

    
1044
<!ELEMENT %divide.qname;  EMPTY >
1045
<!ATTLIST %divide.qname;   
1046
      %MATHML.Common.attrib;
1047
      %att-definition;
1048
      %att-encoding;
1049
>
1050

    
1051
<!ELEMENT %power.qname;  EMPTY >
1052
<!ATTLIST %power.qname;   
1053
      %MATHML.Common.attrib;
1054
      %att-definition;
1055
      %att-encoding;
1056
>
1057

    
1058
<!ELEMENT %rem.qname;  EMPTY >
1059
<!ATTLIST %rem.qname;       
1060
      %MATHML.Common.attrib;
1061
      %att-definition;
1062
      %att-encoding;
1063
>
1064

    
1065
<!ENTITY % carithopnary             
1066
     "%plus.qname; | %times.qname; | %max.qname; 
1067
      | %min.qname; | %gcd.qname; | %lcm.qname;" >
1068

    
1069
<!ELEMENT %plus.qname;  EMPTY >
1070
<!ATTLIST %plus.qname;   
1071
      %MATHML.Common.attrib;
1072
      %att-definition;
1073
      %att-encoding;
1074
>
1075

    
1076
<!ELEMENT %max.qname;  EMPTY >
1077
<!ATTLIST %max.qname;    
1078
      %MATHML.Common.attrib;
1079
      %att-definition;
1080
      %att-encoding;
1081
>
1082

    
1083
<!ELEMENT %min.qname;  EMPTY >
1084
<!ATTLIST %min.qname;   
1085
      %MATHML.Common.attrib;
1086
      %att-definition;
1087
      %att-encoding;
1088
>
1089

    
1090
<!ELEMENT %times.qname;  EMPTY >
1091
<!ATTLIST %times.qname;      
1092
      %MATHML.Common.attrib;
1093
      %att-definition;
1094
      %att-encoding;
1095
>
1096

    
1097
<!ELEMENT %gcd.qname;  EMPTY >
1098
<!ATTLIST %gcd.qname;    
1099
      %MATHML.Common.attrib;
1100
      %att-definition;
1101
      %att-encoding;
1102
>
1103

    
1104
<!ELEMENT %lcm.qname;  EMPTY >
1105
<!ATTLIST %lcm.qname;    
1106
      %MATHML.Common.attrib;
1107
      %att-definition;
1108
      %att-encoding;
1109
>
1110

    
1111
<!ENTITY % carithoproot             
1112
     "%root.qname;" >
1113

    
1114
<!ELEMENT %root.qname;  EMPTY >
1115
<!ATTLIST %root.qname;     
1116
      %MATHML.Common.attrib;
1117
      %att-definition;
1118
      %att-encoding;
1119
>
1120

    
1121
<!ENTITY % clogicopquant            
1122
     "%exists.qname; | %forall.qname;" >
1123

    
1124
<!ELEMENT %exists.qname;  EMPTY >
1125
<!ATTLIST %exists.qname;   
1126
      %MATHML.Common.attrib;
1127
      %att-definition;
1128
      %att-encoding;
1129
>
1130

    
1131
<!ELEMENT %forall.qname;  EMPTY >
1132
<!ATTLIST %forall.qname;     
1133
      %MATHML.Common.attrib;
1134
      %att-definition;
1135
      %att-encoding;
1136
>
1137

    
1138
<!ENTITY % clogicopnary             
1139
     "%and.qname; | %or.qname; | %xor.qname;" >
1140

    
1141
<!ELEMENT %and.qname;  EMPTY >
1142
<!ATTLIST %and.qname;    
1143
      %MATHML.Common.attrib;
1144
      %att-definition;
1145
      %att-encoding;
1146
>
1147

    
1148
<!ELEMENT %or.qname;  EMPTY >
1149
<!ATTLIST %or.qname;    
1150
      %MATHML.Common.attrib;
1151
      %att-definition;
1152
      %att-encoding;
1153
>
1154

    
1155
<!ELEMENT %xor.qname;  EMPTY >
1156
<!ATTLIST %xor.qname;    
1157
      %MATHML.Common.attrib;
1158
      %att-definition;
1159
      %att-encoding;
1160
>
1161

    
1162
<!ENTITY % clogicop1ary             
1163
     "%not.qname;" >
1164

    
1165
<!ELEMENT %not.qname;  EMPTY >
1166
<!ATTLIST %not.qname;    
1167
      %MATHML.Common.attrib;
1168
      %att-definition;
1169
      %att-encoding;
1170
>
1171

    
1172
<!ENTITY % clogicop2ary             
1173
     "%implies.qname;" >
1174

    
1175
<!ELEMENT %implies.qname;  EMPTY >
1176
<!ATTLIST %implies.qname;    
1177
      %MATHML.Common.attrib;
1178
      %att-definition;
1179
      %att-encoding;
1180
>
1181

    
1182
<!ENTITY % ccalcop                  
1183
     "%log.qname; | %int.qname; | %diff.qname; | %partialdiff.qname; |
1184
      %divergence.qname; | %grad.qname; | %curl.qname; | %laplacian.qname;" >
1185

    
1186
<!ELEMENT %divergence.qname;  EMPTY >
1187
<!ATTLIST %divergence.qname;     
1188
      %MATHML.Common.attrib;
1189
      %att-definition;
1190
      %att-encoding;
1191
>
1192

    
1193
<!ELEMENT %grad.qname;  EMPTY >
1194
<!ATTLIST %grad.qname;  
1195
      %MATHML.Common.attrib;
1196
      %att-definition;
1197
      %att-encoding;
1198
>
1199

    
1200
<!ELEMENT %curl.qname;  EMPTY >
1201
<!ATTLIST %curl.qname;     
1202
      %MATHML.Common.attrib;
1203
      %att-definition;
1204
      %att-encoding;
1205
>
1206

    
1207
<!ELEMENT %laplacian.qname;  EMPTY >
1208
<!ATTLIST %laplacian.qname;     
1209
      %MATHML.Common.attrib;
1210
      %att-definition;
1211
      %att-encoding;
1212
>
1213

    
1214
<!ELEMENT %log.qname;  EMPTY >
1215
<!ATTLIST %log.qname;   
1216
      %MATHML.Common.attrib;
1217
      %att-definition;
1218
      %att-encoding;
1219
>
1220

    
1221
<!ELEMENT %int.qname;  EMPTY >
1222
<!ATTLIST %int.qname;    
1223
      %MATHML.Common.attrib;
1224
      %att-definition;
1225
      %att-encoding;
1226
>
1227

    
1228
<!ELEMENT %diff.qname;  EMPTY >
1229
<!ATTLIST %diff.qname;   
1230
      %MATHML.Common.attrib;
1231
      %att-definition;
1232
      %att-encoding;
1233
>
1234

    
1235
<!ELEMENT %partialdiff.qname;  EMPTY >
1236
<!ATTLIST %partialdiff.qname;  
1237
      %MATHML.Common.attrib;
1238
      %att-definition;
1239
      %att-encoding;
1240
>
1241

    
1242
<!ENTITY % ccalcop1ary              
1243
     "%ln.qname;" >
1244

    
1245
<!ELEMENT %ln.qname;  EMPTY >
1246
<!ATTLIST %ln.qname;   
1247
      %MATHML.Common.attrib;
1248
      %att-definition;
1249
      %att-encoding;
1250
>
1251

    
1252
<!ENTITY % csetop1ary               
1253
     "%card.qname;" >
1254

    
1255
<!ELEMENT %card.qname;  EMPTY >
1256
<!ATTLIST %card.qname;
1257
      %MATHML.Common.attrib;
1258
      %att-definition;
1259
      %att-encoding;
1260
>
1261

    
1262
<!ENTITY % csetop2ary               
1263
     "%setdiff.qname;" >
1264

    
1265
<!ELEMENT %setdiff.qname;  EMPTY >
1266
<!ATTLIST %setdiff.qname;
1267
      %MATHML.Common.attrib;
1268
      %att-definition;
1269
      %att-encoding;
1270
>
1271

    
1272
<!ENTITY % csetopnary               
1273
     "%union.qname; | %intersect.qname; | %cartesianproduct.qname; " >
1274

    
1275
<!ELEMENT %union.qname;  EMPTY >
1276
<!ATTLIST %union.qname;
1277
      %MATHML.Common.attrib;
1278
      %att-definition;
1279
      %att-encoding;
1280
>
1281

    
1282
<!ELEMENT %intersect.qname;  EMPTY >
1283
<!ATTLIST %intersect.qname;
1284
      %MATHML.Common.attrib;
1285
      %att-definition;
1286
      %att-encoding;
1287
>
1288

    
1289
<!ELEMENT %cartesianproduct.qname;  EMPTY >
1290
<!ATTLIST %cartesianproduct.qname;
1291
      %MATHML.Common.attrib;
1292
      %att-definition;
1293
      %att-encoding;
1294
>
1295

    
1296
<!ENTITY % cseqop                   
1297
     "%sum.qname; | %product.qname; | %limit.qname;" >
1298

    
1299
<!ELEMENT %sum.qname;  EMPTY >
1300
<!ATTLIST %sum.qname;
1301
      %MATHML.Common.attrib;
1302
      %att-definition;
1303
      %att-encoding;
1304
>
1305

    
1306
<!ELEMENT %product.qname;  EMPTY >
1307
<!ATTLIST %product.qname;
1308
      %MATHML.Common.attrib;
1309
      %att-definition;
1310
      %att-encoding;
1311
>
1312

    
1313
<!ELEMENT %limit.qname;  EMPTY >
1314
<!ATTLIST %limit.qname;
1315
      %MATHML.Common.attrib;
1316
      %att-definition;
1317
      %att-encoding;
1318
>
1319

    
1320
<!ENTITY % ctrigop                  
1321
     "%sin.qname; | %cos.qname; | %tan.qname; 
1322
      | %sec.qname; | %csc.qname; | %cot.qname; 
1323
      | %sinh.qname; | %cosh.qname; | %tanh.qname; 
1324
      | %sech.qname; | %csch.qname; | %coth.qname; 
1325
      | %arcsin.qname; | %arccos.qname; | %arctan.qname;
1326
      | %arccosh.qname; | %arccot.qname; | %arccoth.qname;
1327
      | %arccsc.qname; | %arccsch.qname; | %arcsec.qname;
1328
      | %arcsech.qname; | %arcsinh.qname; | %arctanh.qname;
1329
      " >
1330

    
1331
<!ELEMENT %sin.qname;  EMPTY >
1332
<!ATTLIST %sin.qname;
1333
      %MATHML.Common.attrib;
1334
      %att-definition;
1335
      %att-encoding;
1336
>
1337

    
1338
<!ELEMENT %cos.qname;  EMPTY >
1339
<!ATTLIST %cos.qname;
1340
      %MATHML.Common.attrib;
1341
      %att-definition;
1342
      %att-encoding;
1343
>
1344

    
1345
<!ELEMENT %tan.qname;  EMPTY >
1346
<!ATTLIST %tan.qname;
1347
      %MATHML.Common.attrib;
1348
      %att-definition;
1349
      %att-encoding;
1350
>
1351

    
1352
<!ELEMENT %sec.qname;  EMPTY >
1353
<!ATTLIST %sec.qname;
1354
      %MATHML.Common.attrib;
1355
      %att-definition;
1356
      %att-encoding;
1357
>
1358

    
1359
<!ELEMENT %csc.qname;  EMPTY >
1360
<!ATTLIST %csc.qname;
1361
      %MATHML.Common.attrib;
1362
      %att-definition;
1363
      %att-encoding;
1364
>
1365

    
1366
<!ELEMENT %cot.qname;  EMPTY >
1367
<!ATTLIST %cot.qname;
1368
      %MATHML.Common.attrib;
1369
      %att-definition;
1370
      %att-encoding;
1371
>
1372

    
1373
<!ELEMENT %sinh.qname;  EMPTY >
1374
<!ATTLIST %sinh.qname;
1375
      %MATHML.Common.attrib;
1376
      %att-definition;
1377
      %att-encoding;
1378
>
1379

    
1380
<!ELEMENT %cosh.qname;  EMPTY >
1381
<!ATTLIST %cosh.qname;
1382
      %MATHML.Common.attrib;
1383
      %att-definition;
1384
      %att-encoding;
1385
>
1386

    
1387
<!ELEMENT %tanh.qname;  EMPTY >
1388
<!ATTLIST %tanh.qname;
1389
      %MATHML.Common.attrib;
1390
      %att-definition;
1391
      %att-encoding;
1392
>
1393

    
1394
<!ELEMENT %sech.qname;  EMPTY >
1395
<!ATTLIST %sech.qname;
1396
      %MATHML.Common.attrib;
1397
      %att-definition;
1398
      %att-encoding;
1399
>
1400

    
1401
<!ELEMENT %csch.qname;  EMPTY >
1402
<!ATTLIST %csch.qname;
1403
      %MATHML.Common.attrib;
1404
      %att-definition;
1405
      %att-encoding;
1406
>
1407

    
1408
<!ELEMENT %coth.qname;  EMPTY >
1409
<!ATTLIST %coth.qname;
1410
      %MATHML.Common.attrib;
1411
      %att-definition;
1412
      %att-encoding;
1413
>
1414

    
1415
<!ELEMENT %arcsin.qname;  EMPTY >
1416
<!ATTLIST %arcsin.qname;
1417
      %MATHML.Common.attrib;
1418
      %att-definition;
1419
      %att-encoding;
1420
>
1421

    
1422
<!ELEMENT %arccos.qname;  EMPTY >
1423
<!ATTLIST %arccos.qname;
1424
      %MATHML.Common.attrib;
1425
      %att-definition;
1426
      %att-encoding;
1427
>
1428

    
1429
<!ELEMENT %arctan.qname;  EMPTY >
1430
<!ATTLIST %arctan.qname;
1431
      %MATHML.Common.attrib;
1432
      %att-definition;
1433
      %att-encoding;
1434
>
1435

    
1436
<!ELEMENT %arccosh.qname;  EMPTY >
1437
<!ATTLIST %arccosh.qname;
1438
      %MATHML.Common.attrib;
1439
      %att-definition;
1440
      %att-encoding;
1441
>
1442

    
1443

    
1444
<!ELEMENT %arccot.qname;  EMPTY >
1445
<!ATTLIST %arccot.qname;
1446
      %MATHML.Common.attrib;
1447
      %att-definition;
1448
      %att-encoding;
1449
>
1450

    
1451
<!ELEMENT %arccoth.qname;  EMPTY >
1452
<!ATTLIST %arccoth.qname;
1453
      %MATHML.Common.attrib;
1454
      %att-definition;
1455
      %att-encoding;
1456
>
1457

    
1458

    
1459
<!ELEMENT %arccsc.qname;  EMPTY >
1460
<!ATTLIST %arccsc.qname;
1461
      %MATHML.Common.attrib;
1462
      %att-definition;
1463
      %att-encoding;
1464
>
1465

    
1466
<!ELEMENT %arccsch.qname;  EMPTY >
1467
<!ATTLIST %arccsch.qname;
1468
      %MATHML.Common.attrib;
1469
      %att-definition;
1470
      %att-encoding;
1471
>
1472

    
1473
<!ELEMENT %arcsec.qname;  EMPTY >
1474
<!ATTLIST %arcsec.qname;
1475
      %MATHML.Common.attrib;
1476
      %att-definition;
1477
      %att-encoding;
1478
>
1479

    
1480
<!ELEMENT %arcsech.qname;  EMPTY >
1481
<!ATTLIST %arcsech.qname;
1482
      %MATHML.Common.attrib;
1483
      %att-definition;
1484
      %att-encoding;
1485
>
1486

    
1487
<!ELEMENT %arcsinh.qname;  EMPTY >
1488
<!ATTLIST %arcsinh.qname;
1489
      %MATHML.Common.attrib;
1490
      %att-definition;
1491
      %att-encoding;
1492
>
1493

    
1494
<!ELEMENT %arctanh.qname;  EMPTY >
1495
<!ATTLIST %arctanh.qname;
1496
      %MATHML.Common.attrib;
1497
      %att-definition;
1498
      %att-encoding;
1499
>
1500

    
1501

    
1502

    
1503
<!ENTITY % cstatopnary              
1504
     "%mean.qname; | %sdev.qname; |
1505
      %variance.qname; | %median.qname; |
1506
      %mode.qname;" >
1507

    
1508
<!ELEMENT %mean.qname;  EMPTY >
1509
<!ATTLIST %mean.qname;
1510
      %MATHML.Common.attrib;
1511
      %att-definition;
1512
      %att-encoding;
1513
>
1514

    
1515
<!ELEMENT %sdev.qname;  EMPTY >
1516
<!ATTLIST %sdev.qname;
1517
      %MATHML.Common.attrib;
1518
      %att-definition;
1519
      %att-encoding;
1520
>
1521

    
1522
<!ELEMENT %variance.qname;  EMPTY >
1523
<!ATTLIST %variance.qname;
1524
      %MATHML.Common.attrib;
1525
      %att-definition;
1526
      %att-encoding;
1527
>
1528

    
1529
<!ELEMENT %median.qname;  EMPTY >
1530
<!ATTLIST %median.qname;
1531
      %MATHML.Common.attrib;
1532
      %att-definition;
1533
      %att-encoding;
1534
>
1535

    
1536
<!ELEMENT %mode.qname;  EMPTY >
1537
<!ATTLIST %mode.qname;
1538
      %MATHML.Common.attrib;
1539
      %att-definition;
1540
      %att-encoding;
1541
>
1542

    
1543
<!ENTITY % cstatopmoment            
1544
     "%moment.qname;" >
1545

    
1546
<!ELEMENT %moment.qname;  EMPTY >
1547
<!ATTLIST %moment.qname;
1548
      %MATHML.Common.attrib;
1549
      %att-definition;
1550
      %att-encoding;
1551
>
1552

    
1553
<!ENTITY % clalgop1ary              
1554
     "%determinant.qname; |
1555
      %transpose.qname;" >
1556

    
1557
<!ELEMENT %determinant.qname;  EMPTY >
1558
<!ATTLIST %determinant.qname;
1559
      %MATHML.Common.attrib;
1560
      %att-definition;
1561
      %att-encoding;
1562
>
1563

    
1564
<!ELEMENT %transpose.qname;  EMPTY >
1565
<!ATTLIST %transpose.qname;
1566
      %MATHML.Common.attrib;
1567
      %att-definition;
1568
      %att-encoding;
1569
>
1570

    
1571
<!ENTITY % clalgop2ary              
1572
     "%vectorproduct.qname; 
1573
      | %scalarproduct.qname; 
1574
      | %outerproduct.qname;" >
1575

    
1576
<!ELEMENT %vectorproduct.qname;  EMPTY >
1577
<!ATTLIST %vectorproduct.qname;
1578
      %MATHML.Common.attrib;
1579
      %att-definition;
1580
      %att-encoding;
1581
>
1582

    
1583
<!ELEMENT %scalarproduct.qname;  EMPTY >
1584
<!ATTLIST %scalarproduct.qname;
1585
      %MATHML.Common.attrib;
1586
      %att-definition;
1587
      %att-encoding;
1588
>
1589

    
1590
<!ELEMENT %outerproduct.qname;  EMPTY >
1591
<!ATTLIST %outerproduct.qname;
1592
      %MATHML.Common.attrib;
1593
      %att-definition;
1594
      %att-encoding;
1595
>
1596

    
1597
<!ENTITY % clalgopnary              
1598
     "%selector.qname;" >
1599

    
1600
<!ELEMENT %selector.qname;  EMPTY >
1601
<!ATTLIST %selector.qname;
1602
      %MATHML.Common.attrib;
1603
      %att-definition;
1604
      %att-encoding;
1605
>
1606

    
1607
<!-- Content elements: relations -->
1608

    
1609
<!ENTITY % cgenrel2ary             
1610
     "%neq.qname; | %factorof.qname;" >
1611

    
1612
<!ELEMENT %neq.qname;  EMPTY >
1613
<!ATTLIST %neq.qname;
1614
      %MATHML.Common.attrib;
1615
      %att-definition;
1616
      %att-encoding;
1617
>
1618

    
1619
<!ELEMENT %factorof.qname;  EMPTY >
1620
<!ATTLIST %factorof.qname;
1621
      %MATHML.Common.attrib;
1622
      %att-definition;
1623
      %att-encoding;
1624
>
1625

    
1626
<!ENTITY % cgenrelnary              
1627
     "%eq.qname; | %leq.qname; | %lt.qname; | %geq.qname; 
1628
      | %gt.qname;| %equivalent.qname; | %approx.qname;" >
1629

    
1630
<!ELEMENT %eq.qname;  EMPTY >
1631
<!ATTLIST %eq.qname;
1632
      %MATHML.Common.attrib;
1633
      %att-definition;
1634
      %att-encoding;
1635
>
1636

    
1637
<!ELEMENT %equivalent.qname;  EMPTY >
1638
<!ATTLIST %equivalent.qname;
1639
      %MATHML.Common.attrib;
1640
      %att-definition;
1641
      %att-encoding;
1642
>
1643

    
1644
<!ELEMENT %approx.qname;  EMPTY >
1645
<!ATTLIST %approx.qname;
1646
      %MATHML.Common.attrib;
1647
      %att-definition;
1648
      %att-encoding;
1649
>
1650

    
1651
<!ELEMENT %gt.qname;  EMPTY >
1652
<!ATTLIST %gt.qname;
1653
      %MATHML.Common.attrib;
1654
      %att-definition;
1655
      %att-encoding;
1656
>
1657

    
1658
<!ELEMENT %lt.qname;  EMPTY >
1659
<!ATTLIST %lt.qname;
1660
      %MATHML.Common.attrib;
1661
      %att-definition;
1662
      %att-encoding;
1663
>
1664

    
1665
<!ELEMENT %geq.qname;  EMPTY >
1666
<!ATTLIST %geq.qname;
1667
      %MATHML.Common.attrib;
1668
      %att-definition;
1669
      %att-encoding;
1670
>
1671

    
1672
<!ELEMENT %leq.qname;  EMPTY >
1673
<!ATTLIST %leq.qname;
1674
      %MATHML.Common.attrib;
1675
      %att-definition;
1676
      %att-encoding;
1677
>
1678

    
1679
<!ENTITY % csetrel2ary              
1680
     "%in.qname; | %notin.qname; | %notsubset.qname; | %notprsubset.qname;" >
1681

    
1682
<!ELEMENT %in.qname;  EMPTY >
1683
<!ATTLIST %in.qname;
1684
      %MATHML.Common.attrib;
1685
      %att-definition;
1686
      %att-encoding;
1687
>
1688

    
1689
<!ELEMENT %notin.qname;  EMPTY >
1690
<!ATTLIST %notin.qname;
1691
      %MATHML.Common.attrib;
1692
      %att-definition;
1693
      %att-encoding;
1694
>
1695

    
1696
<!ELEMENT %notsubset.qname;  EMPTY >
1697
<!ATTLIST %notsubset.qname;
1698
      %MATHML.Common.attrib;
1699
      %att-definition;
1700
      %att-encoding;
1701
>
1702

    
1703
<!ELEMENT %notprsubset.qname;  EMPTY >
1704
<!ATTLIST %notprsubset.qname;
1705
      %MATHML.Common.attrib;
1706
      %att-definition;
1707
      %att-encoding;
1708
>
1709

    
1710
<!ENTITY % csetrelnary       
1711
     "%subset.qname; | %prsubset.qname;" >
1712

    
1713
<!ELEMENT %subset.qname;  EMPTY >
1714
<!ATTLIST %subset.qname;
1715
      %MATHML.Common.attrib;
1716
      %att-definition;
1717
      %att-encoding;
1718
>
1719

    
1720
<!ELEMENT %prsubset.qname;  EMPTY >
1721
<!ATTLIST %prsubset.qname;
1722
      %MATHML.Common.attrib;
1723
      %att-definition;
1724
      %att-encoding;
1725
>
1726

    
1727
<!ENTITY % cseqrel2ary              
1728
     "%tendsto.qname;" >
1729

    
1730
<!ELEMENT %tendsto.qname;  EMPTY >
1731
<!ATTLIST %tendsto.qname;
1732
      %MATHML.Common.attrib;
1733
      %att-definition;
1734
      %att-encoding;
1735
      %att-type;
1736
>
1737

    
1738
<!-- Content elements: quantifiers -->
1739

    
1740
<!ENTITY % cquantifier            
1741
     "%lowlimit.qname; | %uplimit.qname; | %bvar.qname; 
1742
      | %degree.qname; | %logbase.qname;
1743
      | %momentabout.qname; | %domainofapplication.qname; " >
1744

    
1745
<!ATTLIST %lowlimit.qname;
1746
      %MATHML.Common.attrib;
1747
>
1748

    
1749
<!ATTLIST %uplimit.qname;
1750
      %MATHML.Common.attrib;
1751
>
1752

    
1753
<!ATTLIST %bvar.qname;
1754
      %MATHML.Common.attrib;
1755
>
1756

    
1757
<!ATTLIST %degree.qname;
1758
      %MATHML.Common.attrib;
1759
>
1760

    
1761
<!ATTLIST %logbase.qname;
1762
      %MATHML.Common.attrib;
1763
>
1764

    
1765
<!ATTLIST %momentabout.qname;
1766
      %MATHML.Common.attrib;
1767
>
1768

    
1769
<!ATTLIST %domainofapplication.qname;
1770
      %MATHML.Common.attrib;
1771
>
1772

    
1773
<!-- Operator groups -->
1774

    
1775
<!ENTITY % cop1ary                  
1776
     "%cfuncop1ary; | %carithop1ary; | %clogicop1ary; |
1777
      %ccalcop1ary; | %ctrigop; | %clalgop1ary; |
1778
      %csetop1ary;" >
1779

    
1780
<!ENTITY % cop2ary                  
1781
     "%carithop2ary; | %clogicop2ary;| %clalgop2ary; | %csetop2ary;" >
1782

    
1783
<!ENTITY % copnary                  
1784
     "%cfuncopnary; | %carithopnary; | %clogicopnary; |
1785
      %csetopnary; | %cstatopnary; | %clalgopnary;" >
1786

    
1787
<!ENTITY % copmisc                  
1788
     "%carithoproot; | %carithop1or2ary; | %ccalcop; |
1789
      %cseqop; | %cstatopmoment; | %clogicopquant;" >
1790

    
1791
<!-- Relation groups -->
1792

    
1793
<!ENTITY % crel2ary                 
1794
     "%cgenrel2ary; | %csetrel2ary; | %cseqrel2ary;" >
1795

    
1796
<!ENTITY % crelnary                 
1797
     "%cgenrelnary; | %csetrelnary;" >
1798

    
1799
<!-- Content constructs: all -->
1800

    
1801
<!ENTITY % Content                  
1802
     "%ctoken; | %cspecial; | %cother; | %csemantics; | %c0ary;
1803
      | %cconstructor; | %cquantifier; | %cop1ary; | %cop2ary; 
1804
      | %copnary; |%copmisc; | %crel2ary; | %crelnary;" >
1805

    
1806
<!-- Content constructs for substitution in presentation structures -->
1807

    
1808
<!ENTITY % ContInPres               
1809
     "%ci.qname; |%csymbol.qname;| %cn.qname; | %c0ary; |
1810
      %apply.qname; | %fn.qname; |
1811
      %lambda.qname; | %reln.qname; |
1812
      %cconstructor; |
1813
      %semantics.qname; |%declare.qname;" >
1814

    
1815
<!-- ............................................................. -->
1816
<!-- Recursive definition for content of expressions. Include
1817
     presentation constructs at lowest level so presentation
1818
     layout schemata hold presentation or content elements.
1819
     Include content constructs at lowest level so content
1820
     elements hold PCDATA or presentation elements at leaf
1821
     level (for permitted substitutable elements in context)
1822
-->
1823
<![%MathMLstrict;[
1824
<!-- in strict mode don't allow presentation in content
1825
     except where allowed by chapter 5:
1826
     ci, cn, csymbol, semantics
1827
-->
1828
  <!ENTITY % ContentExpression  "(%Content;)*" >
1829
  <!ENTITY % semanticsContentExpression        
1830
       "(%Content; | %PresInCont; |
1831
         %annotation.qname; | %annotation-xml.qname;)*" >
1832
]]>
1833
<!ENTITY % ContentExpression        
1834
     "(%Content; | %PresInCont;)*" >
1835
<!ENTITY % semanticsContentExpression    "%ContentExpression;">    
1836

    
1837

    
1838
<!ENTITY % PresExpression      
1839
     "(%Presentation; | %ContInPres;)*" >
1840
<!ENTITY % MathExpression           
1841
     "(%PresInCont; | %ContInPres;)*" >
1842

    
1843
<!-- PCDATA or MathML character elements -->
1844
<!ENTITY % MathMLCharacters         
1845
     "#PCDATA | %mglyph.qname; " >
1846

    
1847
<!-- Content elements: tokens                       -->
1848
<!-- (may contain embedded presentation constructs) -->
1849

    
1850
<!ELEMENT %ci.qname;                 (%MathMLCharacters; | %PresInCont;)* >
1851
<!ELEMENT %csymbol.qname;            (%MathMLCharacters; | %PresInCont;)* >
1852
<!ELEMENT %cn.qname;                 (%MathMLCharacters; | %sep.qname; | %PresInCont;)* >
1853

    
1854
<!-- Content elements: special -->
1855

    
1856
<!ELEMENT %apply.qname;              (%ContentExpression;) >
1857
<!ELEMENT %reln.qname;               (%ContentExpression;) >
1858
<!ELEMENT %lambda.qname;             (%ContentExpression;) >
1859

    
1860
<!-- Content elements: other -->
1861

    
1862
<!ELEMENT %condition.qname;          (%ContentExpression;) >
1863
<!ELEMENT %declare.qname;            (%ContentExpression;) >
1864

    
1865
<!-- Content elements: semantics -->
1866

    
1867
<!ELEMENT %semantics.qname;          (%semanticsContentExpression;) >
1868
<!ENTITY % Annotation.content  "( #PCDATA )" >
1869
<!ELEMENT %annotation.qname;         %Annotation.content; >
1870

    
1871
<!ENTITY % Annotation-xml.content "ANY" >
1872
<!ELEMENT %annotation-xml.qname;     %Annotation-xml.content; >
1873

    
1874
<!-- Content elements: constructors -->
1875

    
1876
<!ELEMENT %interval.qname;           (%ContentExpression;) >
1877
<!ELEMENT %set.qname;                (%ContentExpression;) >
1878
<!ELEMENT %list.qname;               (%ContentExpression;) >
1879
<!ELEMENT %vector.qname;             (%ContentExpression;) >
1880
<!ELEMENT %matrix.qname;             (%ContentExpression;) >
1881
<!ELEMENT %matrixrow.qname;          (%ContentExpression;) >
1882

    
1883
<!ELEMENT %piecewise.qname;          ((%piece.qname;)*, (%otherwise.qname;)? ) >
1884
<!ELEMENT %piece.qname;              (%ContentExpression;) >
1885
<!ELEMENT %otherwise.qname;          (%ContentExpression;) >
1886

    
1887
<!-- Content elements: operator (user-defined) -->
1888

    
1889
<!ELEMENT %fn.qname;                 (%ContentExpression;) >
1890

    
1891
<!-- Content elements: quantifiers -->
1892

    
1893
<!ELEMENT %lowlimit.qname;           (%ContentExpression;) >
1894
<!ELEMENT %uplimit.qname;            (%ContentExpression;) >
1895
<!ELEMENT %bvar.qname;               (%ContentExpression;) >
1896
<!ELEMENT %degree.qname;             (%ContentExpression;) >
1897
<!ELEMENT %logbase.qname;            (%ContentExpression;) >
1898
<!ELEMENT %momentabout.qname;        (%ContentExpression;) >
1899
<!ELEMENT %domainofapplication.qname; (%ContentExpression;) >
1900

    
1901
<!-- ............................................................. -->
1902
<!-- Presentation layout schemata contain tokens,
1903
     layout and content schemata.
1904
-->
1905

    
1906

    
1907

    
1908
<![%MathMLstrict;[
1909
<!-- In strict mode enforce mfrac has exactly two children
1910
      same for msub etc -->
1911
  <!ENTITY % onePresExpression
1912
       "(%Presentation; | %ContInPres;)" >
1913
  <!ENTITY % twoPresExpression
1914
       "(%onePresExpression;,%onePresExpression;)" >
1915
  <!ENTITY % threePresExpression
1916
       "(%onePresExpression;,%onePresExpression;,%onePresExpression;)" >
1917
  <!ENTITY % mtrPresExpression
1918
       "(%mtr.qname;|%mlabeledtr.qname;)*" >
1919
  <!ENTITY % mtdPresExpression
1920
       "(%mtd.qname;)*" >
1921
  <!ENTITY % prscrPresExpression " (%onePresExpression;,
1922
  ((%onePresExpression;|%none.qname;),(%onePresExpression;|%none.qname;))*,
1923
  (%mprescripts.qname;,
1924
  ((%onePresExpression;|%none.qname;),(%onePresExpression;|%none.qname;))*)?
1925
  )">
1926
]]>
1927

    
1928

    
1929
<!-- By default keep them as they were in MathML 2.0  -->
1930
<!ENTITY % onePresExpression   "%PresExpression;">
1931
<!ENTITY % twoPresExpression   "%PresExpression;">
1932
<!ENTITY % threePresExpression "%PresExpression;">
1933
<!ENTITY % mtrPresExpression   "%PresExpression;">
1934
<!ENTITY % mtdPresExpression   "%PresExpression;">
1935
<!ENTITY % prscrPresExpression "%PresExpression;">
1936

    
1937
<!ELEMENT %mstyle.qname;             (%PresExpression;) >
1938
<!ELEMENT %merror.qname;             (%PresExpression;) >
1939
<!ELEMENT %mphantom.qname;           (%PresExpression;) >
1940
<!ELEMENT %mrow.qname;               (%PresExpression;) >
1941
<!ELEMENT %mfrac.qname;              (%twoPresExpression;) >
1942
<!ELEMENT %msqrt.qname;              (%PresExpression;) >
1943
<!ELEMENT %menclose.qname;           (%PresExpression;) >
1944
<!ELEMENT %mroot.qname;              (%twoPresExpression;) >
1945
<!ELEMENT %msub.qname;               (%twoPresExpression;) >
1946
<!ELEMENT %msup.qname;               (%twoPresExpression;) >
1947
<!ELEMENT %msubsup.qname;            (%threePresExpression;) >
1948
<!ELEMENT %mmultiscripts.qname;      (%prscrPresExpression;) >
1949
<!ELEMENT %munder.qname;             (%twoPresExpression;) >
1950
<!ELEMENT %mover.qname;              (%twoPresExpression;) >
1951
<!ELEMENT %munderover.qname;         (%threePresExpression;) >
1952
<!ELEMENT %mtable.qname;             (%mtrPresExpression;) >
1953
<!ELEMENT %mtr.qname;                (%mtdPresExpression;) >
1954
<!ELEMENT %mlabeledtr.qname;         (%mtdPresExpression;) >
1955
<!ELEMENT %mtd.qname;                (%PresExpression;) >
1956
<!ELEMENT %maction.qname;            (%PresExpression;) >
1957
<!ELEMENT %mfenced.qname;            (%PresExpression;) >
1958
<!ELEMENT %mpadded.qname;            (%PresExpression;) >
1959

    
1960
<!-- Presentation elements contain PCDATA or malignmark constructs. -->
1961

    
1962
<!ELEMENT %mi.qname;                 (%MathMLCharacters; |
1963
      %malignmark.qname;)* >
1964
<!ELEMENT %mn.qname;                 (%MathMLCharacters; |
1965
      %malignmark.qname;)* >
1966
<!ELEMENT %mo.qname;                 (%MathMLCharacters; |
1967
      %malignmark.qname;)* >
1968
<!ELEMENT %mtext.qname;              (%MathMLCharacters; |
1969
      %malignmark.qname;)* >
1970
<!ELEMENT %ms.qname;                 (%MathMLCharacters; |
1971
      %malignmark.qname;)* >
1972

    
1973
<!-- Browser interface definition  ............................... -->
1974

    
1975
<!-- Attributes for top-level element "math" -->
1976

    
1977
<!ENTITY % att-macros               
1978
     "macros       CDATA                    #IMPLIED" >
1979
<!ENTITY % att-mode                 
1980
     "mode         CDATA                    #IMPLIED" >
1981
<![%MathMLstrict;[
1982
  <!ENTITY % att-display
1983
     "display      ( block | inline )                    'inline'" >
1984
]]>
1985
<!ENTITY % att-display                
1986
     "display      CDATA                    #IMPLIED" >
1987

    
1988
<!ENTITY % att-schemalocation               
1989
     "%Schema.prefix;:schemaLocation CDATA  #IMPLIED">		
1990

    
1991
<!ENTITY % att-topinfo          
1992
     "%MATHML.Common.attrib;
1993
      %att-schemalocation;		
1994
      %att-macros;
1995
      %att-mode;
1996
      %att-display;" >
1997

    
1998
<!-- Attributes for browser interface element -->
1999

    
2000
<!ENTITY % att-baseline             
2001
     "baseline     CDATA                    #IMPLIED" >
2002
<!ENTITY % att-overflow            
2003
     "overflow  ( scroll | elide | truncate | scale ) 'scroll'" >
2004
<!ENTITY % att-altimg               
2005
     "altimg       CDATA                    #IMPLIED" >
2006
<!ENTITY % att-alttext           
2007
     "alttext      CDATA                    #IMPLIED" >
2008

    
2009
<!ENTITY % att-browif           
2010
     "%att-type;
2011
      %att-name;
2012
      %att-height;
2013
      %att-width;
2014
      %att-baseline;
2015
      %att-overflow;
2016
      %att-altimg;
2017
      %att-alttext;" >
2018

    
2019
<!-- ............................................................. -->
2020
<!-- The top-level element "math" contains MathML encoded
2021
     mathematics. The "math" element has the browser info
2022
     attributes iff it is also the browser interface element.
2023
-->
2024

    
2025
<!ELEMENT %math.qname;               (%MathExpression;) >
2026

    
2027
<!ATTLIST %math.qname;
2028
      %att-topinfo;
2029
      %att-browif; >
2030

    
2031
<!-- MathML Character Entities .............................................. -->
2032
<!ENTITY % mathml-charent.module "INCLUDE" >
2033
<![%mathml-charent.module;[
2034
<!-- Entity sets from ISO Technical Report 9573-13 ..... -->
2035

    
2036
<!ENTITY % ent-isoamsa
2037
      PUBLIC "-//W3C//ENTITIES Added Math Symbols: Arrow Relations for MathML 2.0//EN"
2038
             "iso9573-13/isoamsa.ent" >
2039
%ent-isoamsa;
2040

    
2041
<!ENTITY % ent-isoamsb
2042
      PUBLIC "-//W3C//ENTITIES Added Math Symbols: Binary Operators for MathML 2.0//EN"
2043
             "iso9573-13/isoamsb.ent" >
2044
%ent-isoamsb;
2045

    
2046
<!ENTITY % ent-isoamsc
2047
      PUBLIC "-//W3C//ENTITIES Added Math Symbols: Delimiters for MathML 2.0//EN"
2048
             "iso9573-13/isoamsc.ent" >
2049
%ent-isoamsc;
2050

    
2051
<!ENTITY % ent-isoamsn
2052
      PUBLIC "-//W3C//ENTITIES Added Math Symbols: Negated Relations for MathML 2.0//EN"
2053
             "iso9573-13/isoamsn.ent" >
2054
%ent-isoamsn;
2055

    
2056
<!ENTITY % ent-isoamso
2057
      PUBLIC "-//W3C//ENTITIES Added Math Symbols: Ordinary for MathML 2.0//EN"
2058
             "iso9573-13/isoamso.ent" >
2059
%ent-isoamso;
2060

    
2061
<!ENTITY % ent-isoamsr
2062
      PUBLIC "-//W3C//ENTITIES Added Math Symbols: Relations for MathML 2.0//EN"
2063
             "iso9573-13/isoamsr.ent" >
2064
%ent-isoamsr;
2065

    
2066
<!ENTITY % ent-isogrk3
2067
      PUBLIC "-//W3C//ENTITIES Greek Symbols for MathML 2.0//EN"
2068
             "iso9573-13/isogrk3.ent" >
2069
%ent-isogrk3;
2070

    
2071
<!ENTITY % ent-isomfrk
2072
      PUBLIC "-//W3C//ENTITIES Math Alphabets: Fraktur for MathML 2.0//EN"
2073
             "iso9573-13/isomfrk.ent" >
2074
%ent-isomfrk;
2075

    
2076
<!ENTITY % ent-isomopf
2077
      PUBLIC "-//W3C//ENTITIES Math Alphabets: Open Face for MathML 2.0//EN"
2078
             "iso9573-13/isomopf.ent" >
2079
%ent-isomopf;
2080

    
2081
<!ENTITY % ent-isomscr
2082
      PUBLIC "-//W3C//ENTITIES Math Alphabets: Script for MathML 2.0//EN"
2083
             "iso9573-13/isomscr.ent" >
2084
%ent-isomscr;
2085

    
2086
<!ENTITY % ent-isotech
2087
      PUBLIC "-//W3C//ENTITIES General Technical for MathML 2.0//EN"
2088
             "iso9573-13/isotech.ent" >
2089
%ent-isotech;
2090

    
2091
<!-- Entity sets from informative annex to ISO 8879:1986 (SGML) ....... -->
2092

    
2093
<!ENTITY % ent-isobox
2094
      PUBLIC "-//W3C//ENTITIES Box and Line Drawing for MathML 2.0//EN"
2095
             "iso8879/isobox.ent" >
2096
%ent-isobox;
2097

    
2098
<!ENTITY % ent-isocyr1
2099
      PUBLIC "-//W3C//ENTITIES Russian Cyrillic for MathML 2.0//EN"
2100
             "iso8879/isocyr1.ent" >
2101
%ent-isocyr1;
2102

    
2103
<!ENTITY % ent-isocyr2
2104
      PUBLIC "-//W3C//ENTITIES Non-Russian Cyrillic for MathML 2.0//EN"
2105
             "iso8879/isocyr2.ent" >
2106
%ent-isocyr2;
2107

    
2108
<!ENTITY % ent-isodia
2109
      PUBLIC "-//W3C//ENTITIES Diacritical Marks for MathML 2.0//EN"
2110
             "iso8879/isodia.ent" >
2111
%ent-isodia;
2112

    
2113
<!ENTITY % ent-isolat1
2114
      PUBLIC "-//W3C//ENTITIES Added Latin 1 for MathML 2.0//EN"
2115
             "iso8879/isolat1.ent" >
2116
%ent-isolat1;
2117

    
2118
<!ENTITY % ent-isolat2
2119
      PUBLIC "-//W3C//ENTITIES Added Latin 2 for MathML 2.0//EN"
2120
             "iso8879/isolat2.ent" >
2121
%ent-isolat2;
2122

    
2123
<!ENTITY % ent-isonum
2124
      PUBLIC "-//W3C//ENTITIES Numeric and Special Graphic for MathML 2.0//EN"
2125
             "iso8879/isonum.ent" >
2126
%ent-isonum;
2127

    
2128
<!ENTITY % ent-isopub
2129
      PUBLIC "-//W3C//ENTITIES Publishing for MathML 2.0//EN"
2130
             "iso8879/isopub.ent" >
2131
%ent-isopub;
2132

    
2133
<!-- New characters defined by MathML ............................ -->
2134

    
2135
<!ENTITY % ent-mmlextra
2136
      PUBLIC "-//W3C//ENTITIES Extra for MathML 2.0//EN"
2137
             "mathml/mmlextra.ent" >
2138
%ent-mmlextra;
2139

    
2140
<!-- MathML aliases for characters defined above ................. -->
2141

    
2142
<!ENTITY % ent-mmlalias
2143
      PUBLIC "-//W3C//ENTITIES Aliases for MathML 2.0//EN"
2144
             "mathml/mmlalias.ent" >
2145
%ent-mmlalias;
2146

    
2147
<!-- end of MathML Character Entity section -->]]>
2148

    
2149
<!-- Revision History:
2150

    
2151
       Initial draft (syntax = XML) 1997-05-09
2152
          Stephen Buswell
2153
       Revised 1997-05-14
2154
          Robert Miner
2155
       Revised 1997-06-29 and 1997-07-02
2156
          Stephen Buswell
2157
       Revised 1997-12-15
2158
          Stephen Buswell
2159
       Revised 1998-02-08
2160
          Stephen Buswell
2161
       Revised 1998-04-04
2162
          Stephen Buswell
2163
       Entities and small revisions 1999-02-21
2164
          David Carlisle
2165
       Added attribute definitionURL to ci and cn 1999-10-11
2166
          Nico Poppelier
2167
       Additions for MathML 2  1999-12-16
2168
          David Carlisle
2169
       Namespace support 2000-01-14
2170
          David Carlisle
2171
       XHTML Compatibility 2000-02-23
2172
          Murray Altheim
2173
       New content elements 2000-03-26
2174
          David Carlisle
2175
       Further revisions for MathML2 CR draft 2000-07-11
2176
          David Carlisle
2177
       Further revisions for MathML2 CR draft 2000-10-31		
2178
          David Carlisle		
2179
       Revisions for Unicode 3.2  2002-05-21		
2180
          David Carlisle		
2181
       Add width and side attributes to mtable (to align with the specification)  2002-06-05		
2182
          David Carlisle		
2183
       Use %XLINK.prefix rather than hardwired xlink:, add xlink:type 2002-06-12		
2184
          David Carlisle		
2185
       Add missing numalign and denomalign attributes for mfrac 2002-07-05		
2186
          David Carlisle		
2187
       Add MathMLstrict entity and related extra constraints 2002-12-05		
2188
          David Carlisle		
2189
       Add support for xi:schemaLocation 2003-04-05		
2190
          David Carlisle		
2191
       Removed actiontype from mstyle (to match spec) 2003-04-07		
2192
          David Carlisle		
2193
       Additional constraints for MathMLstrict code (From Simon		
2194
          Pepping on www-math list) 2003-05-22		
2195
          David Carlisle		
2196
       Add missing minlabelspacing attribute (From Simon		
2197
          Pepping on www-math list) 2003-05-22		
2198
          David Carlisle		
2199
       Removed restricted menclose notation checking from MathMLstrict 2003-09-08		
2200
          David Carlisle		
2201

    
2202
-->
2203

    
2204
<!-- end of MathML 2.0 DTD  ................................................ -->
2205
<!-- ....................................................................... -->
2206

    
(22-22/27)