<!-- MathML 2.0 DTD ....................................................... -->
<!-- file: mathml2.dtd
-->
<!-- MathML 2.0 DTD
This is the Mathematical Markup Language (MathML) 2.0, an XML
application for describing mathematical notation and capturing
both its structure and content.
Copyright 1998-2000 World Wide Web Consortium
(Massachusetts Institute of Technology, Institut National de
Recherche en Informatique et en Automatique, Keio University).
All Rights Reserved.
Permission to use, copy, modify and distribute the XHTML 1.1 DTD and
its accompanying documentation for any purpose and without fee is
hereby granted in perpetuity, provided that the above copyright notice
and this paragraph appear in all copies. The copyright holders make
no representation about the suitability of the DTD for any purpose.
It is provided "as is" without expressed or implied warranty.
Revision: $Id: mathml2.dtd,v 1.20 2000/12/06 19:03:13 davidc Exp $
This entity may be identified by the PUBLIC and SYSTEM identifiers:
PUBLIC "-//W3C//DTD MathML 2.0//EN"
SYSTEM "mathml2.dtd"
Revisions: editor and revision history at EOF
-->
<!-- MathML Qualified Names module ............................... -->
<!ENTITY % mathml-qname.module "INCLUDE" >
<![%mathml-qname.module;[
<!ENTITY % mathml-qname.mod
PUBLIC "-//W3C//ENTITIES MathML 2.0 Qualified Names 1.0//EN"
"mathml2-qname-1.mod" >
%mathml-qname.mod;]]>
<!-- if %NS.prefixed; is INCLUDE, include all NS attributes,
otherwise just those associated with MathML
-->
<![%NS.prefixed;[
<!ENTITY % MATHML.NamespaceDecl.attrib
"%NamespaceDecl.attrib;"
>
]]>
<!ENTITY % MATHML.NamespaceDecl.attrib
"%MATHML.xmlns.attrib;"
>
<!-- Attributes shared by all elements .......................... -->
<!ENTITY % MATHML.Common.attrib
"%MATHML.NamespaceDecl.attrib;
xlink:href CDATA #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
id ID #IMPLIED
xref IDREF #IMPLIED
other CDATA #IMPLIED"
>
<!-- Presentation element set ................................... -->
<!-- Attribute definitions -->
<!ENTITY % att-fontsize
"fontsize CDATA #IMPLIED" >
<!ENTITY % att-fontweight
"fontweight ( normal | bold ) #IMPLIED" >
<!ENTITY % att-fontstyle
"fontstyle ( normal | italic ) #IMPLIED" >
<!ENTITY % att-fontfamily
"fontfamily CDATA #IMPLIED" >
<!ENTITY % att-color
"color CDATA #IMPLIED" >
<!-- MathML2 typographically-distinguished symbol attributes -->
<!ENTITY % att-mathvariant
"mathvariant CDATA #IMPLIED" >
<!ENTITY % att-mathsize
"mathsize CDATA #IMPLIED" >
<!ENTITY % att-mathcolor
"mathcolor CDATA #IMPLIED" >
<!ENTITY % att-mathbackground
"mathbackground CDATA #IMPLIED" >
<!ENTITY % att-fontinfo
"%att-fontsize;
%att-fontweight;
%att-fontstyle;
%att-fontfamily;
%att-color;
%att-mathvariant;
%att-mathsize;
%att-mathcolor;
%att-mathbackground;"
>
<!ENTITY % att-form
"form ( prefix | infix | postfix ) #IMPLIED" >
<!ENTITY % att-fence
"fence ( true | false ) #IMPLIED" >
<!ENTITY % att-separator
"separator ( true | false ) #IMPLIED" >
<!ENTITY % att-lspace
"lspace CDATA #IMPLIED" >
<!ENTITY % att-rspace
"rspace CDATA #IMPLIED" >
<!ENTITY % att-stretchy
"stretchy ( true | false ) #IMPLIED" >
<!ENTITY % att-symmetric
"symmetric ( true | false ) #IMPLIED" >
<!ENTITY % att-maxsize
"maxsize CDATA #IMPLIED" >
<!ENTITY % att-minsize
"minsize CDATA #IMPLIED" >
<!ENTITY % att-largeop
"largeop ( true | false) #IMPLIED" >
<!ENTITY % att-movablelimits
"movablelimits ( true | false ) #IMPLIED" >
<!ENTITY % att-accent
"accent ( true | false ) #IMPLIED" >
<!ENTITY % att-opinfo
"%att-form;
%att-fence;
%att-separator;
%att-lspace;
%att-rspace;
%att-stretchy;
%att-symmetric;
%att-maxsize;
%att-minsize;
%att-largeop;
%att-movablelimits;
%att-accent;"
>
<!ENTITY % att-width
"width CDATA #IMPLIED" >
<!ENTITY % att-height
"height CDATA #IMPLIED" >
<!ENTITY % att-depth
"depth CDATA #IMPLIED" >
<!ENTITY % att-linebreak
"linebreak CDATA #IMPLIED" >
<!ENTITY % att-sizeinfo
"%att-width;
%att-height;
%att-depth;"
>
<!ENTITY % att-lquote
"lquote CDATA #IMPLIED" >
<!ENTITY % att-rquote
"rquote CDATA #IMPLIED" >
<!ENTITY % att-linethickness
"linethickness CDATA #IMPLIED" >
<!ENTITY % att-scriptlevel
"scriptlevel CDATA #IMPLIED" >
<!ENTITY % att-displaystyle
"displaystyle ( true | false ) #IMPLIED" >
<!ENTITY % att-scriptsizemultiplier
"scriptsizemultiplier CDATA #IMPLIED" >
<!ENTITY % att-scriptminsize
"scriptminsize CDATA #IMPLIED" >
<!ENTITY % att-background
"background CDATA #IMPLIED" >
<!ENTITY % att-veryverythinmathspace
"veryverythinmathspace CDATA #IMPLIED" >
<!ENTITY % att-verythinmathspace
"verythinmathspace CDATA #IMPLIED" >
<!ENTITY % att-thinmathspace
"thinmathspace CDATA #IMPLIED" >
<!ENTITY % att-mediummathspace
"mediummathspace CDATA #IMPLIED" >
<!ENTITY % att-thickmathspace
"thickmathspace CDATA #IMPLIED" >
<!ENTITY % att-verythickmathspace
"verythickmathspace CDATA #IMPLIED" >
<!ENTITY % att-veryverythickmathspace
"veryverythickmathspace CDATA #IMPLIED" >
<!ENTITY % att-open
"open CDATA #IMPLIED" >
<!ENTITY % att-close
"close CDATA #IMPLIED" >
<!ENTITY % att-separators
"separators CDATA #IMPLIED" >
<!ENTITY % att-subscriptshift
"subscriptshift CDATA #IMPLIED" >
<!ENTITY % att-superscriptshift
"superscriptshift CDATA #IMPLIED" >
<!ENTITY % att-accentunder
"accentunder ( true | false ) #IMPLIED" >
<!ENTITY % att-align
"align CDATA #IMPLIED" >
<!ENTITY % att-rowalign
"rowalign CDATA #IMPLIED" >
<!ENTITY % att-columnalign
"columnalign CDATA #IMPLIED" >
<!ENTITY % att-columnwidth
"columnwidth CDATA #IMPLIED" >
<!ENTITY % att-groupalign
"groupalign CDATA #IMPLIED" >
<!ENTITY % att-alignmentscope
"alignmentscope CDATA #IMPLIED" >
<!ENTITY % att-rowspacing
"rowspacing CDATA #IMPLIED" >
<!ENTITY % att-columnspacing
"columnspacing CDATA #IMPLIED" >
<!ENTITY % att-rowlines
"rowlines CDATA #IMPLIED" >
<!ENTITY % att-columnlines
"columnlines CDATA #IMPLIED" >
<!ENTITY % att-frame
"frame ( none | solid | dashed ) #IMPLIED" >
<!ENTITY % att-framespacing
"framespacing CDATA #IMPLIED" >
<!ENTITY % att-equalrows
"equalrows CDATA #IMPLIED" >
<!ENTITY % att-equalcolumns
"equalcolumns CDATA #IMPLIED" >
<!ENTITY % att-tableinfo
"%att-align;
%att-rowalign;
%att-columnalign;
%att-columnwidth;
%att-groupalign;
%att-alignmentscope;
%att-rowspacing;
%att-columnspacing;
%att-rowlines;
%att-columnlines;
%att-frame;
%att-framespacing;
%att-equalrows;
%att-equalcolumns;
%att-displaystyle;"
>
<!ENTITY % att-rowspan
"rowspan CDATA #IMPLIED" >
<!ENTITY % att-columnspan
"columnspan CDATA #IMPLIED" >
<!ENTITY % att-edge
"edge ( left | right ) #IMPLIED" >
<!ENTITY % att-actiontype
"actiontype CDATA #IMPLIED" >
<!ENTITY % att-selection
"selection CDATA #IMPLIED" >
<!ENTITY % att-name
"name CDATA #IMPLIED" >
<!ENTITY % att-alt
"alt CDATA #IMPLIED" >
<!ENTITY % att-index
"index CDATA #IMPLIED" >
<!ENTITY % att-bevelled
"bevelled CDATA #IMPLIED" >
<!-- Presentation schemata with content -->
<!ENTITY % ptoken
"%mi.qname; | %mn.qname; | %mo.qname;
| %mtext.qname; | %ms.qname;" >
<!ATTLIST %mi.qname;
%MATHML.Common.attrib;
%att-fontinfo;
>
<!ATTLIST %mn.qname;
%MATHML.Common.attrib;
%att-fontinfo;
>
<!ATTLIST %mo.qname;
%MATHML.Common.attrib;
%att-fontinfo;
%att-opinfo;
>
<!ATTLIST %mtext.qname;
%MATHML.Common.attrib;
%att-fontinfo;
>
<!ATTLIST %ms.qname;
%MATHML.Common.attrib;
%att-fontinfo;
%att-lquote;
%att-rquote;
>
<!-- Empty presentation schemata -->
<!ENTITY % petoken
"%mspace.qname;" >
<!ELEMENT %mspace.qname; EMPTY >
<!ATTLIST %mspace.qname;
%att-sizeinfo;
%att-linebreak;
%MATHML.Common.attrib;
>
<!-- Presentation: general layout schemata -->
<!ENTITY % pgenschema
"%mrow.qname; | %mfrac.qname; | %msqrt.qname; | %mroot.qname;
| %menclose.qname; | %mstyle.qname; | %merror.qname;
| %mpadded.qname; | %mphantom.qname; | %mfenced.qname;" >
<!ATTLIST %mrow.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %mfrac.qname;
%MATHML.Common.attrib;
%att-bevelled;
%att-linethickness;
>
<!ATTLIST %msqrt.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %menclose.qname;
%MATHML.Common.attrib;
notation CDATA 'longdiv' >
<!ATTLIST %mroot.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %mstyle.qname;
%MATHML.Common.attrib;
%att-fontinfo;
%att-opinfo;
%att-lquote;
%att-rquote;
%att-linethickness;
%att-scriptlevel;
%att-scriptsizemultiplier;
%att-scriptminsize;
%att-background;
%att-veryverythinmathspace;
%att-verythinmathspace;
%att-thinmathspace;
%att-mediummathspace;
%att-thickmathspace;
%att-verythickmathspace;
%att-veryverythickmathspace;
%att-open;
%att-close;
%att-separators;
%att-subscriptshift;
%att-superscriptshift;
%att-accentunder;
%att-tableinfo;
%att-rowspan;
%att-columnspan;
%att-edge;
%att-actiontype;
%att-selection;
>
<!ATTLIST %merror.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %mpadded.qname;
%MATHML.Common.attrib;
%att-sizeinfo;
%att-lspace;
>
<!ATTLIST %mphantom.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %mfenced.qname;
%MATHML.Common.attrib;
%att-open;
%att-close;
%att-separators;
>
<!-- Presentation layout schemata: scripts and limits -->
<!ENTITY % pscrschema
"%msub.qname; | %msup.qname; | %msubsup.qname; | %munder.qname;
| %mover.qname; | %munderover.qname; | %mmultiscripts.qname;" >
<!ATTLIST %msub.qname;
%MATHML.Common.attrib;
%att-subscriptshift;
>
<!ATTLIST %msup.qname;
%MATHML.Common.attrib;
%att-superscriptshift;
>
<!ATTLIST %msubsup.qname;
%MATHML.Common.attrib;
%att-subscriptshift;
%att-superscriptshift;
>
<!ATTLIST %munder.qname;
%MATHML.Common.attrib;
%att-accentunder;
>
<!ATTLIST %mover.qname;
%MATHML.Common.attrib;
%att-accent;
>
<!ATTLIST %munderover.qname;
%MATHML.Common.attrib;
%att-accent;
%att-accentunder;
>
<!ATTLIST %mmultiscripts.qname;
%MATHML.Common.attrib;
%att-subscriptshift;
%att-superscriptshift;
>
<!-- Presentation layout schemata: empty elements for scripts -->
<!ENTITY % pscreschema
"%mprescripts.qname; | %none.qname;" >
<!ELEMENT %mprescripts.qname; EMPTY >
<!ATTLIST %mprescripts.qname;
%MATHML.xmlns.attrib; >
<!ELEMENT %none.qname; EMPTY >
<!ATTLIST %none.qname;
%MATHML.xmlns.attrib; >
<!-- Presentation layout schemata: tables -->
<!ENTITY % ptabschema
"%mtable.qname; | %mtr.qname; | %mlabeledtr.qname; | %mtd.qname;" >
<!ATTLIST %mtable.qname;
%MATHML.Common.attrib;
%att-tableinfo;
>
<!ATTLIST %mtr.qname;
%MATHML.Common.attrib;
%att-rowalign;
%att-columnalign;
%att-groupalign;
>
<!ATTLIST %mlabeledtr.qname;
%MATHML.Common.attrib;
%att-rowalign;
%att-columnalign;
%att-groupalign;
>
<!ATTLIST %mtd.qname;
%MATHML.Common.attrib;
%att-rowalign;
%att-columnalign;
%att-groupalign;
%att-rowspan;
%att-columnspan;
>
<!ENTITY % plschema
"%pgenschema; | %pscrschema; | %ptabschema;" >
<!-- Empty presentation layout schemata -->
<!ENTITY % peschema
"%maligngroup.qname; | %malignmark.qname;" >
<!ELEMENT %malignmark.qname; EMPTY >
<!ATTLIST %malignmark.qname;
%att-edge; >
<!ELEMENT %maligngroup.qname; EMPTY >
<!ATTLIST %maligngroup.qname;
%MATHML.Common.attrib;
%att-groupalign;
>
<!ELEMENT %mglyph.qname; EMPTY >
<!ATTLIST %mglyph.qname;
%att-alt;
%att-fontfamily;
%att-index; >
<!-- Presentation action schemata -->
<!ENTITY % pactions
"%maction.qname;" >
<!ATTLIST %maction.qname;
%MATHML.Common.attrib;
%att-actiontype;
%att-selection;
>
<!-- The following entity for substitution into
content constructs excludes elements that
are not valid as expressions.
-->
<!ENTITY % PresInCont
"%ptoken; | %petoken; |
%plschema; | %peschema; | %pactions;" >
<!-- Presentation entity: all presentation constructs -->
<!ENTITY % Presentation
"%ptoken; | %petoken; | %pscreschema; |
%plschema; | %peschema; | %pactions;">
<!-- Content element set ........................................ -->
<!-- Attribute definitions -->
<!ENTITY % att-base
"base CDATA '10'" >
<!ENTITY % att-closure
"closure CDATA 'closed'" >
<!ENTITY % att-definition
"definitionURL CDATA ''" >
<!ENTITY % att-encoding
"encoding CDATA ''" >
<!ENTITY % att-nargs
"nargs CDATA '1'" >
<!ENTITY % att-occurrence
"occurrence CDATA 'function-model'" >
<!ENTITY % att-order
"order CDATA 'numeric'" >
<!ENTITY % att-scope
"scope CDATA 'local'" >
<!ENTITY % att-type
"type CDATA #IMPLIED" >
<!-- Content elements: leaf nodes -->
<!ENTITY % ctoken
"%csymbol.qname; | %ci.qname; | %cn.qname;" >
<!ATTLIST %ci.qname;
%MATHML.Common.attrib;
%att-type;
%att-definition;
%att-encoding;
>
<!ATTLIST %csymbol.qname;
%MATHML.Common.attrib;
%att-encoding;
%att-type;
%att-definition;
>
<!ATTLIST %cn.qname;
%MATHML.Common.attrib;
%att-type;
%att-base;
%att-definition;
%att-encoding;
>
<!-- Content elements: specials -->
<!ENTITY % cspecial
"%apply.qname; | %reln.qname; |
%lambda.qname;" >
<!ATTLIST %apply.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %reln.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %lambda.qname;
%MATHML.Common.attrib;
>
<!-- Content elements: others -->
<!ENTITY % cother
"%condition.qname; | %declare.qname; | %sep.qname;" >
<!ATTLIST %condition.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %declare.qname;
%MATHML.Common.attrib;
%att-type;
%att-scope;
%att-nargs;
%att-occurrence;
%att-definition;
%att-encoding;
>
<!ELEMENT %sep.qname; EMPTY >
<!ATTLIST %sep.qname;
%MATHML.xmlns.attrib; >
<!-- Content elements: semantic mapping -->
<!ENTITY % csemantics
"%semantics.qname; | %annotation.qname; |
%annotation-xml.qname;" >
<!ATTLIST %semantics.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ATTLIST %annotation.qname;
%MATHML.Common.attrib;
%att-encoding;
>
<!ATTLIST %annotation-xml.qname;
%MATHML.Common.attrib;
%att-encoding;
>
<!-- Content elements: constructors -->
<!ENTITY % cconstructor
"%interval.qname; | %list.qname; | %matrix.qname;
| %matrixrow.qname; | %set.qname; | %vector.qname;
| %piecewise.qname; " >
<!ATTLIST %interval.qname;
%MATHML.Common.attrib;
%att-closure;
>
<!ATTLIST %set.qname;
%MATHML.Common.attrib;
%att-type;
>
<!ATTLIST %list.qname;
%MATHML.Common.attrib;
%att-order;
>
<!ATTLIST %vector.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %matrix.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %matrixrow.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %piecewise.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %piece.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %otherwise.qname;
%MATHML.Common.attrib;
>
<!-- Content elements: symbols -->
<!ENTITY % c0ary
"%integers.qname; |
%reals.qname; |
%rationals.qname; |
%naturalnumbers.qname; |
%complexes.qname; |
%primes.qname; |
%exponentiale.qname; |
%imaginaryi.qname; |
%notanumber.qname; |
%true.qname; |
%false.qname; |
%emptyset.qname; |
%pi.qname; |
%eulergamma.qname; |
%infinity.qname;" >
<!ELEMENT %integers.qname; EMPTY >
<!ATTLIST %integers.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %reals.qname; EMPTY >
<!ATTLIST %reals.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %rationals.qname; EMPTY >
<!ATTLIST %rationals.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %naturalnumbers.qname; EMPTY >
<!ATTLIST %naturalnumbers.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %complexes.qname; EMPTY >
<!ATTLIST %complexes.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %primes.qname; EMPTY >
<!ATTLIST %primes.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %exponentiale.qname; EMPTY >
<!ATTLIST %exponentiale.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %imaginaryi.qname; EMPTY >
<!ATTLIST %imaginaryi.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %notanumber.qname; EMPTY >
<!ATTLIST %notanumber.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %true.qname; EMPTY >
<!ATTLIST %true.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %false.qname; EMPTY >
<!ATTLIST %false.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %emptyset.qname; EMPTY >
<!ATTLIST %emptyset.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %pi.qname; EMPTY >
<!ATTLIST %pi.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %eulergamma.qname; EMPTY >
<!ATTLIST %eulergamma.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %infinity.qname; EMPTY >
<!ATTLIST %infinity.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!-- Content elements: operators -->
<!ENTITY % cfuncop1ary
"%inverse.qname; | %ident.qname;|
%domain.qname; | %codomain.qname; |
%image.qname; " >
<!ELEMENT %inverse.qname; EMPTY >
<!ATTLIST %inverse.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %domain.qname; EMPTY >
<!ATTLIST %domain.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %codomain.qname; EMPTY >
<!ATTLIST %codomain.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %image.qname; EMPTY >
<!ATTLIST %image.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % cfuncopnary
"%fn.qname; | %compose.qname;" >
<!ATTLIST %fn.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %ident.qname; EMPTY >
<!ATTLIST %ident.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %compose.qname; EMPTY >
<!ATTLIST %compose.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % carithop1ary
"%abs.qname; | %conjugate.qname; | %exp.qname; | %factorial.qname; |
%arg.qname; | %real.qname; | %imaginary.qname; |
%floor.qname; | %ceiling.qname;" >
<!ELEMENT %exp.qname; EMPTY >
<!ATTLIST %exp.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %abs.qname; EMPTY >
<!ATTLIST %abs.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %arg.qname; EMPTY >
<!ATTLIST %arg.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %real.qname; EMPTY >
<!ATTLIST %real.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %imaginary.qname; EMPTY >
<!ATTLIST %imaginary.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %conjugate.qname; EMPTY >
<!ATTLIST %conjugate.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %factorial.qname; EMPTY >
<!ATTLIST %factorial.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %floor.qname; EMPTY >
<!ATTLIST %floor.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %ceiling.qname; EMPTY >
<!ATTLIST %ceiling.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % carithop1or2ary
"%minus.qname;" >
<!ELEMENT %minus.qname; EMPTY >
<!ATTLIST %minus.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % carithop2ary
"%quotient.qname; | %divide.qname; | %power.qname; | %rem.qname;" >
<!ELEMENT %quotient.qname; EMPTY >
<!ATTLIST %quotient.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %divide.qname; EMPTY >
<!ATTLIST %divide.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %power.qname; EMPTY >
<!ATTLIST %power.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %rem.qname; EMPTY >
<!ATTLIST %rem.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % carithopnary
"%plus.qname; | %times.qname; | %max.qname;
| %min.qname; | %gcd.qname; | %lcm.qname;" >
<!ELEMENT %plus.qname; EMPTY >
<!ATTLIST %plus.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %max.qname; EMPTY >
<!ATTLIST %max.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %min.qname; EMPTY >
<!ATTLIST %min.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %times.qname; EMPTY >
<!ATTLIST %times.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %gcd.qname; EMPTY >
<!ATTLIST %gcd.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %lcm.qname; EMPTY >
<!ATTLIST %lcm.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % carithoproot
"%root.qname;" >
<!ELEMENT %root.qname; EMPTY >
<!ATTLIST %root.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % clogicopquant
"%exists.qname; | %forall.qname;" >
<!ELEMENT %exists.qname; EMPTY >
<!ATTLIST %exists.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %forall.qname; EMPTY >
<!ATTLIST %forall.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % clogicopnary
"%and.qname; | %or.qname; | %xor.qname;" >
<!ELEMENT %and.qname; EMPTY >
<!ATTLIST %and.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %or.qname; EMPTY >
<!ATTLIST %or.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %xor.qname; EMPTY >
<!ATTLIST %xor.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % clogicop1ary
"%not.qname;" >
<!ELEMENT %not.qname; EMPTY >
<!ATTLIST %not.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % clogicop2ary
"%implies.qname;" >
<!ELEMENT %implies.qname; EMPTY >
<!ATTLIST %implies.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % ccalcop
"%log.qname; | %int.qname; | %diff.qname; | %partialdiff.qname; |
%divergence.qname; | %grad.qname; | %curl.qname; | %laplacian.qname;" >
<!ELEMENT %divergence.qname; EMPTY >
<!ATTLIST %divergence.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %grad.qname; EMPTY >
<!ATTLIST %grad.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %curl.qname; EMPTY >
<!ATTLIST %curl.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %laplacian.qname; EMPTY >
<!ATTLIST %laplacian.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %log.qname; EMPTY >
<!ATTLIST %log.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %int.qname; EMPTY >
<!ATTLIST %int.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %diff.qname; EMPTY >
<!ATTLIST %diff.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %partialdiff.qname; EMPTY >
<!ATTLIST %partialdiff.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % ccalcop1ary
"%ln.qname;" >
<!ELEMENT %ln.qname; EMPTY >
<!ATTLIST %ln.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % csetop1ary
"%card.qname;" >
<!ELEMENT %card.qname; EMPTY >
<!ATTLIST %card.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % csetop2ary
"%setdiff.qname;" >
<!ELEMENT %setdiff.qname; EMPTY >
<!ATTLIST %setdiff.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % csetopnary
"%union.qname; | %intersect.qname; | %cartesianproduct.qname; " >
<!ELEMENT %union.qname; EMPTY >
<!ATTLIST %union.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %intersect.qname; EMPTY >
<!ATTLIST %intersect.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %cartesianproduct.qname; EMPTY >
<!ATTLIST %cartesianproduct.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % cseqop
"%sum.qname; | %product.qname; | %limit.qname;" >
<!ELEMENT %sum.qname; EMPTY >
<!ATTLIST %sum.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %product.qname; EMPTY >
<!ATTLIST %product.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %limit.qname; EMPTY >
<!ATTLIST %limit.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % ctrigop
"%sin.qname; | %cos.qname; | %tan.qname;
| %sec.qname; | %csc.qname; | %cot.qname;
| %sinh.qname; | %cosh.qname; | %tanh.qname;
| %sech.qname; | %csch.qname; | %coth.qname;
| %arcsin.qname; | %arccos.qname; | %arctan.qname;
| %arccosh.qname; | %arccot.qname; | %arccoth.qname;
| %arccsc.qname; | %arccsch.qname; | %arcsec.qname;
| %arcsech.qname; | %arcsinh.qname; | %arctanh.qname;
" >
<!ELEMENT %sin.qname; EMPTY >
<!ATTLIST %sin.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %cos.qname; EMPTY >
<!ATTLIST %cos.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %tan.qname; EMPTY >
<!ATTLIST %tan.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %sec.qname; EMPTY >
<!ATTLIST %sec.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %csc.qname; EMPTY >
<!ATTLIST %csc.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %cot.qname; EMPTY >
<!ATTLIST %cot.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %sinh.qname; EMPTY >
<!ATTLIST %sinh.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %cosh.qname; EMPTY >
<!ATTLIST %cosh.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %tanh.qname; EMPTY >
<!ATTLIST %tanh.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %sech.qname; EMPTY >
<!ATTLIST %sech.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %csch.qname; EMPTY >
<!ATTLIST %csch.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %coth.qname; EMPTY >
<!ATTLIST %coth.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %arcsin.qname; EMPTY >
<!ATTLIST %arcsin.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %arccos.qname; EMPTY >
<!ATTLIST %arccos.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %arctan.qname; EMPTY >
<!ATTLIST %arctan.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %arccosh.qname; EMPTY >
<!ATTLIST %arccosh.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %arccot.qname; EMPTY >
<!ATTLIST %arccot.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %arccoth.qname; EMPTY >
<!ATTLIST %arccoth.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %arccsc.qname; EMPTY >
<!ATTLIST %arccsc.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %arccsch.qname; EMPTY >
<!ATTLIST %arccsch.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %arcsec.qname; EMPTY >
<!ATTLIST %arcsec.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %arcsech.qname; EMPTY >
<!ATTLIST %arcsech.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %arcsinh.qname; EMPTY >
<!ATTLIST %arcsinh.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %arctanh.qname; EMPTY >
<!ATTLIST %arctanh.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % cstatopnary
"%mean.qname; | %sdev.qname; |
%variance.qname; | %median.qname; |
%mode.qname;" >
<!ELEMENT %mean.qname; EMPTY >
<!ATTLIST %mean.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %sdev.qname; EMPTY >
<!ATTLIST %sdev.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %variance.qname; EMPTY >
<!ATTLIST %variance.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %median.qname; EMPTY >
<!ATTLIST %median.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %mode.qname; EMPTY >
<!ATTLIST %mode.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % cstatopmoment
"%moment.qname;" >
<!ELEMENT %moment.qname; EMPTY >
<!ATTLIST %moment.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % clalgop1ary
"%determinant.qname; |
%transpose.qname;" >
<!ELEMENT %determinant.qname; EMPTY >
<!ATTLIST %determinant.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %transpose.qname; EMPTY >
<!ATTLIST %transpose.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % clalgop2ary
"%vectorproduct.qname;
| %scalarproduct.qname;
| %outerproduct.qname;" >
<!ELEMENT %vectorproduct.qname; EMPTY >
<!ATTLIST %vectorproduct.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %scalarproduct.qname; EMPTY >
<!ATTLIST %scalarproduct.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %outerproduct.qname; EMPTY >
<!ATTLIST %outerproduct.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % clalgopnary
"%selector.qname;" >
<!ELEMENT %selector.qname; EMPTY >
<!ATTLIST %selector.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!-- Content elements: relations -->
<!ENTITY % cgenrel2ary
"%neq.qname; | %factorof.qname;" >
<!ELEMENT %neq.qname; EMPTY >
<!ATTLIST %neq.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %factorof.qname; EMPTY >
<!ATTLIST %factorof.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % cgenrelnary
"%eq.qname; | %leq.qname; | %lt.qname; | %geq.qname;
| %gt.qname;| %equivalent.qname; | %approx.qname;" >
<!ELEMENT %eq.qname; EMPTY >
<!ATTLIST %eq.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %equivalent.qname; EMPTY >
<!ATTLIST %equivalent.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %approx.qname; EMPTY >
<!ATTLIST %approx.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %gt.qname; EMPTY >
<!ATTLIST %gt.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %lt.qname; EMPTY >
<!ATTLIST %lt.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %geq.qname; EMPTY >
<!ATTLIST %geq.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %leq.qname; EMPTY >
<!ATTLIST %leq.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % csetrel2ary
"%in.qname; | %notin.qname; | %notsubset.qname; | %notprsubset.qname;" >
<!ELEMENT %in.qname; EMPTY >
<!ATTLIST %in.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %notin.qname; EMPTY >
<!ATTLIST %notin.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %notsubset.qname; EMPTY >
<!ATTLIST %notsubset.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %notprsubset.qname; EMPTY >
<!ATTLIST %notprsubset.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % csetrelnary
"%subset.qname; | %prsubset.qname;" >
<!ELEMENT %subset.qname; EMPTY >
<!ATTLIST %subset.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ELEMENT %prsubset.qname; EMPTY >
<!ATTLIST %prsubset.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
>
<!ENTITY % cseqrel2ary
"%tendsto.qname;" >
<!ELEMENT %tendsto.qname; EMPTY >
<!ATTLIST %tendsto.qname;
%MATHML.Common.attrib;
%att-definition;
%att-encoding;
%att-type;
>
<!-- Content elements: quantifiers -->
<!ENTITY % cquantifier
"%lowlimit.qname; | %uplimit.qname; | %bvar.qname;
| %degree.qname; | %logbase.qname;
| %momentabout.qname; | %domainofapplication.qname; " >
<!ATTLIST %lowlimit.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %uplimit.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %bvar.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %degree.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %logbase.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %momentabout.qname;
%MATHML.Common.attrib;
>
<!ATTLIST %domainofapplication.qname;
%MATHML.Common.attrib;
>
<!-- Operator groups -->
<!ENTITY % cop1ary
"%cfuncop1ary; | %carithop1ary; | %clogicop1ary; |
%ccalcop1ary; | %ctrigop; | %clalgop1ary; |
%csetop1ary;" >
<!ENTITY % cop2ary
"%carithop2ary; | %clogicop2ary;| %clalgop2ary; | %csetop2ary;" >
<!ENTITY % copnary
"%cfuncopnary; | %carithopnary; | %clogicopnary; |
%csetopnary; | %cstatopnary; | %clalgopnary;" >
<!ENTITY % copmisc
"%carithoproot; | %carithop1or2ary; | %ccalcop; |
%cseqop; | %cstatopmoment; | %clogicopquant;" >
<!-- Relation groups -->
<!ENTITY % crel2ary
"%cgenrel2ary; | %csetrel2ary; | %cseqrel2ary;" >
<!ENTITY % crelnary
"%cgenrelnary; | %csetrelnary;" >
<!-- Content constructs: all -->
<!ENTITY % Content
"%ctoken; | %cspecial; | %cother; | %csemantics; | %c0ary;
| %cconstructor; | %cquantifier; | %cop1ary; | %cop2ary;
| %copnary; |%copmisc; | %crel2ary; | %crelnary;" >
<!-- Content constructs for substitution in presentation structures -->
<!ENTITY % ContInPres
"%ci.qname; |%csymbol.qname;| %cn.qname; | %c0ary; |
%apply.qname; | %fn.qname; |
%lambda.qname; | %reln.qname; |
%cconstructor; |
%semantics.qname; |%declare.qname;" >
<!-- ............................................................. -->
<!-- Recursive definition for content of expressions. Include
presentation constructs at lowest level so presentation
layout schemata hold presentation or content elements.
Include content constructs at lowest level so content
elements hold PCDATA or presentation elements at leaf
level (for permitted substitutable elements in context)
-->
<!ENTITY % ContentExpression
"(%Content; | %PresInCont;)*" >
<!ENTITY % PresExpression
"(%Presentation; | %ContInPres;)*" >
<!ENTITY % MathExpression
"(%PresInCont; | %ContInPres;)*" >
<!-- PCDATA or MathML character elements -->
<!ENTITY % MathMLCharacters
"#PCDATA | %mglyph.qname; " >
<!-- Content elements: tokens -->
<!-- (may contain embedded presentation constructs) -->
<!ELEMENT %ci.qname; (%MathMLCharacters; | %PresInCont;)* >
<!ELEMENT %csymbol.qname; (%MathMLCharacters; | %PresInCont;)* >
<!ELEMENT %cn.qname; (%MathMLCharacters; | %sep.qname; | %PresInCont;)* >
<!-- Content elements: special -->
<!ELEMENT %apply.qname; (%ContentExpression;) >
<!ELEMENT %reln.qname; (%ContentExpression;) >
<!ELEMENT %lambda.qname; (%ContentExpression;) >
<!-- Content elements: other -->
<!ELEMENT %condition.qname; (%ContentExpression;) >
<!ELEMENT %declare.qname; (%ContentExpression;) >
<!-- Content elements: semantics -->
<!ELEMENT %semantics.qname; (%ContentExpression;) >
<!ENTITY % Annotation.content "( #PCDATA )" >
<!ELEMENT %annotation.qname; %Annotation.content; >
<!ENTITY % Annotation-xml.content "ANY" >
<!ELEMENT %annotation-xml.qname; %Annotation-xml.content; >
<!-- Content elements: constructors -->
<!ELEMENT %interval.qname; (%ContentExpression;) >
<!ELEMENT %set.qname; (%ContentExpression;) >
<!ELEMENT %list.qname; (%ContentExpression;) >
<!ELEMENT %vector.qname; (%ContentExpression;) >
<!ELEMENT %matrix.qname; (%ContentExpression;) >
<!ELEMENT %matrixrow.qname; (%ContentExpression;) >
<!ELEMENT %piecewise.qname; ((%piece.qname;)*, (%otherwise.qname;)? ) >
<!ELEMENT %piece.qname; (%ContentExpression;) >
<!ELEMENT %otherwise.qname; (%ContentExpression;) >
<!-- Content elements: operator (user-defined) -->
<!ELEMENT %fn.qname; (%ContentExpression;) >
<!-- Content elements: quantifiers -->
<!ELEMENT %lowlimit.qname; (%ContentExpression;) >
<!ELEMENT %uplimit.qname; (%ContentExpression;) >
<!ELEMENT %bvar.qname; (%ContentExpression;) >
<!ELEMENT %degree.qname; (%ContentExpression;) >
<!ELEMENT %logbase.qname; (%ContentExpression;) >
<!ELEMENT %momentabout.qname; (%ContentExpression;) >
<!ELEMENT %domainofapplication.qname; (%ContentExpression;) >
<!-- ............................................................. -->
<!-- Presentation layout schemata contain tokens,
layout and content schemata.
-->
<!ELEMENT %mstyle.qname; (%PresExpression;) >
<!ELEMENT %merror.qname; (%PresExpression;) >
<!ELEMENT %mphantom.qname; (%PresExpression;) >
<!ELEMENT %mrow.qname; (%PresExpression;) >
<!ELEMENT %mfrac.qname; (%PresExpression;) >
<!ELEMENT %msqrt.qname; (%PresExpression;) >
<!ELEMENT %menclose.qname; (%PresExpression;) >
<!ELEMENT %mroot.qname; (%PresExpression;) >
<!ELEMENT %msub.qname; (%PresExpression;) >
<!ELEMENT %msup.qname; (%PresExpression;) >
<!ELEMENT %msubsup.qname; (%PresExpression;) >
<!ELEMENT %mmultiscripts.qname; (%PresExpression;) >
<!ELEMENT %munder.qname; (%PresExpression;) >
<!ELEMENT %mover.qname; (%PresExpression;) >
<!ELEMENT %munderover.qname; (%PresExpression;) >
<!ELEMENT %mtable.qname; (%PresExpression;) >
<!ELEMENT %mtr.qname; (%PresExpression;) >
<!ELEMENT %mlabeledtr.qname; (%PresExpression;) >
<!ELEMENT %mtd.qname; (%PresExpression;) >
<!ELEMENT %maction.qname; (%PresExpression;) >
<!ELEMENT %mfenced.qname; (%PresExpression;) >
<!ELEMENT %mpadded.qname; (%PresExpression;) >
<!-- Presentation elements contain PCDATA or malignmark constructs. -->
<!ELEMENT %mi.qname; (%MathMLCharacters; |
%malignmark.qname;)* >
<!ELEMENT %mn.qname; (%MathMLCharacters; |
%malignmark.qname;)* >
<!ELEMENT %mo.qname; (%MathMLCharacters; |
%malignmark.qname;)* >
<!ELEMENT %mtext.qname; (%MathMLCharacters; |
%malignmark.qname;)* >
<!ELEMENT %ms.qname; (%MathMLCharacters; |
%malignmark.qname;)* >
<!-- Browser interface definition ............................... -->
<!-- Attributes for top-level element "math" -->
<!ENTITY % att-macros
"macros CDATA #IMPLIED" >
<!ENTITY % att-mode
"mode CDATA #IMPLIED" >
<!ENTITY % att-display
"display CDATA #IMPLIED" >
<!ENTITY % att-topinfo
"%MATHML.Common.attrib;
%att-macros;
%att-mode;
%att-display;" >
<!-- Attributes for browser interface element -->
<!ENTITY % att-baseline
"baseline CDATA #IMPLIED" >
<!ENTITY % att-overflow
"overflow ( scroll | elide | truncate | scale ) 'scroll'" >
<!ENTITY % att-altimg
"altimg CDATA #IMPLIED" >
<!ENTITY % att-alttext
"alttext CDATA #IMPLIED" >
<!ENTITY % att-browif
"%att-type;
%att-name;
%att-height;
%att-width;
%att-baseline;
%att-overflow;
%att-altimg;
%att-alttext;" >
<!-- ............................................................. -->
<!-- The top-level element "math" contains MathML encoded
mathematics. The "math" element has the browser info
attributes iff it is also the browser interface element.
-->
<!ELEMENT %math.qname; (%MathExpression;) >
<!ATTLIST %math.qname;
%att-topinfo;
%att-browif; >
<!-- MathML Character Entities .............................................. -->
<!ENTITY % mathml-charent.module "INCLUDE" >
<![%mathml-charent.module;[
<!-- Entity sets from ISO Technical Report 9573-13 ..... -->
<!ENTITY % ent-isoamsa
PUBLIC "-//W3C//ENTITIES Added Math Symbols: Arrow Relations for MathML 2.0//EN"
"isoamsa.ent" >
%ent-isoamsa;
<!ENTITY % ent-isoamsb
PUBLIC "-//W3C//ENTITIES Added Math Symbols: Binary Operators for MathML 2.0//EN"
"isoamsb.ent" >
%ent-isoamsb;
<!ENTITY % ent-isoamsc
PUBLIC "-//W3C//ENTITIES Added Math Symbols: Delimiters for MathML 2.0//EN"
"isoamsc.ent" >
%ent-isoamsc;
<!ENTITY % ent-isoamsn
PUBLIC "-//W3C//ENTITIES Added Math Symbols: Negated Relations for MathML 2.0//EN"
"isoamsn.ent" >
%ent-isoamsn;
<!ENTITY % ent-isoamso
PUBLIC "-//W3C//ENTITIES Added Math Symbols: Ordinary for MathML 2.0//EN"
"isoamso.ent" >
%ent-isoamso;
<!ENTITY % ent-isoamsr
PUBLIC "-//W3C//ENTITIES Added Math Symbols: Relations for MathML 2.0//EN"
"isoamsr.ent" >
%ent-isoamsr;
<!ENTITY % ent-isogrk3
PUBLIC "-//W3C//ENTITIES Greek Symbols for MathML 2.0//EN"
"isogrk3.ent" >
%ent-isogrk3;
<!ENTITY % ent-isomfrk
PUBLIC "-//W3C//ENTITIES Math Alphabets: Fraktur for MathML 2.0//EN"
"isomfrk.ent" >
%ent-isomfrk;
<!ENTITY % ent-isomopf
PUBLIC "-//W3C//ENTITIES Math Alphabets: Open Face for MathML 2.0//EN"
"isomopf.ent" >
%ent-isomopf;
<!ENTITY % ent-isomscr
PUBLIC "-//W3C//ENTITIES Math Alphabets: Script for MathML 2.0//EN"
"isomscr.ent" >
%ent-isomscr;
<!ENTITY % ent-isotech
PUBLIC "-//W3C//ENTITIES General Technical for MathML 2.0//EN"
"isotech.ent" >
%ent-isotech;
<!-- Entity sets from informative annex to ISO 8879:1986 (SGML) ....... -->
<!ENTITY % ent-isobox
PUBLIC "-//W3C//ENTITIES Box and Line Drawing for MathML 2.0//EN"
"isobox.ent" >
%ent-isobox;
<!ENTITY % ent-isocyr1
PUBLIC "-//W3C//ENTITIES Russian Cyrillic for MathML 2.0//EN"
"isocyr1.ent" >
%ent-isocyr1;
<!ENTITY % ent-isocyr2
PUBLIC "-//W3C//ENTITIES Non-Russian Cyrillic for MathML 2.0//EN"
"isocyr2.ent" >
%ent-isocyr2;
<!ENTITY % ent-isodia
PUBLIC "-//W3C//ENTITIES Diacritical Marks for MathML 2.0//EN"
"isodia.ent" >
%ent-isodia;
<!ENTITY % ent-isolat1
PUBLIC "-//W3C//ENTITIES Added Latin 1 for MathML 2.0//EN"
"isolat1.ent" >
%ent-isolat1;
<!ENTITY % ent-isolat2
PUBLIC "-//W3C//ENTITIES Added Latin 2 for MathML 2.0//EN"
"isolat2.ent" >
%ent-isolat2;
<!ENTITY % ent-isonum
PUBLIC "-//W3C//ENTITIES Numeric and Special Graphic for MathML 2.0//EN"
"isonum.ent" >
%ent-isonum;
<!ENTITY % ent-isopub
PUBLIC "-//W3C//ENTITIES Publishing for MathML 2.0//EN"
"isopub.ent" >
%ent-isopub;
<!-- New characters defined by MathML ............................ -->
<!ENTITY % ent-mmlextra
PUBLIC "-//W3C//ENTITIES Extra for MathML 2.0//EN"
"mmlextra.ent" >
%ent-mmlextra;
<!-- MathML aliases for characters defined above ................. -->
<!ENTITY % ent-mmlalias
PUBLIC "-//W3C//ENTITIES Aiases for MathML 2.0//EN"
"mmlalias.ent" >
%ent-mmlalias;
<!-- end of MathML Character Entity section -->]]>
<!-- Revision History:
Initial draft (syntax = XML) 1997-05-09
Stephen Buswell
Revised 1997-05-14
Robert Miner
Revised 1997-06-29 and 1997-07-02
Stephen Buswell
Revised 1997-12-15
Stephen Buswell
Revised 1998-02-08
Stephen Buswell
Revised 1998-04-04
Stephen Buswell
Entities and small revisions 1999-02-21
David Carlisle
Added attribute definitionURL to ci and cn 1999-10-11
Nico Poppelier
Additions for MathML 2 1999-12-16
David Carlisle
Namespace support 2000-01-14
David Carlisle
XHTML Compatibility 2000-02-23
Murray Altheim
New content elements 2000-03-26
David Carlisle
Further revisions for MathML2 CR draft 2000-07-11
David Carlisle
Further revisions for MathML2 CR draft 2000-10-31
David Carlisle
-->
<!-- end of MathML 2.0 DTD ................................................ -->
<!-- ....................................................................... -->