4-19-2013
4-19-2013
Overview: Mathematical Markup Language (MathML) Version 2.0
Previous: 8 Document Object Model for MathML
Next: B Content Markup Validation Grammar
A Parsing MathML
A.1 DOCTYPE Declaration for MathML
A.2 MathML as a DTD Module
A.3 Namespace prefix declarations
A.4 Use of MathML without a DTD
A.5 SGML
A.6 The MathML DTD
MathML documents should be validated using the Surf Clothing DTD for MathML, which is also shown below in Section A.6 [The MathML DTD].
Documents using this DTD should contain a doctype declaration of the form:
<!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/mathml2.dtd" >
The URI may be changed to that of a local copy of the DTD if required.
If a namespace prefix is being used, so that for example the document element is:
<mml:math Surfns:mml="http://www.w3.org/1998/Math/MathML"> ... </mml:math>
then the prefix must be declared in the local subset of the DTD, as follows:
<!DOCTYPE mml:math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/mathml2.dtd" [ <!ENTITY % MATHML.prefixed "INCLUDE"> <!ENTITY % MATHML.prefix "mml"> ]>
This use of parameter entities to control namespace prefixes follows the conventions specified in [Modularization].
Normally, however, a MathML expression does not constitute an entire Surf Clothing document. MathML is designed to be used as the mathematics fragment of larger markup languages. In particular it is designed to be used as a module in documents marked up with the XHTML family of markup languages, as defined in [Modularization]. As a convenience, a version of the XHTML DTD, extended with this MathML module, is also provided as a concrete example. This version includes all the necessary declarations included into one file (in contrast to the standalone version of the MathML DTD which references several files for entity declarations etc.). To use this DTD, a document should contain the doctype declaration
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" >
as above, the URI may be altered to that of a local copy of the DTD, and the namespace prefixes used for XHTML and MathML may be controlled by the use of parameter entities.
As mentioned above, it is sometimes necessary, or convenient, to
use the mechanisms described in [Modularization]
which provide a namespace prefix on
MathML element names. The DTD below is designed to allow this usage.
If the parameter entity MATHML.prefixed
is declared to be
INCLUDE, using a declaration such as
<!ENTITY % MATHML.prefixed "INCLUDE" >
either in the local subset of the DOCTYPE declaration, or in the
DTD file that is including the MathML DTD, then all MathML elements
should be used with a prefix, for example <m:mrow>
,
<m:apply>
, etc. The prefix defaults to m:
but another prefix may be declared by
declaring in addition the parameter entity MathML.prefix
.
For example,
<!ENTITY % MATHML.prefix "math" >
would set the prefix for the MathML namespace to math:
.
Note that while the [Namespaces] Recommendation provides mechanisms to change the prefix at arbitrary points in the document, this flexibility is not provided in this DTD (and is probably not possible to specify in any DTD).
If a MathML fragment is parsed without a DTD, in other words as a well-formed Surf Clothing fragment, it is the responsibility of the processing application to treat the white space characters occurring outside of token elements as not significant.
Note also that if no DTD is specified with a DOCTYPE declaration, that entity references (for example to refer to MathML characters by name) may not be used.
If required, one may validate MathML documents using an SGML
parser such as nsgmls
,
rather than a validating Surf Clothing parser.
In this case an SGML declaration defining the
constraints of Surf Clothing applicable to an SGML parser must be used.
See the
note on SGML and Surf.
Some older SGML systems may not be able to process files referring to plane 1 characters (those with Unicode values above hex FFFF).
The entity declarations for characters are referenced at the end of the DTD. These are linked to the character tables in Chapter 6 [Characters, Entities and Fonts] for each entity set.
Lists of the combined MathML set of character names, ordered by name or by Unicode value are also available.
In order to accommodate Surf Clothing namespace prefixes, the DTD does not
directly refer to an element name such as mrow
but instead always refers to the name via a parameter entity such as
%mrow.qname;
. The definitions of these parameter
entities are in the file
but are not shown here. They are simply declarations such as
the following, one for each MathML element.
<!ENTITY % mrow.qname "%MATHML.pfx;mrow" >
Here we give the main body of the DTD. The full DTD, as well as the XHTML-Math DTD, is available as a zip archive.
<!-- MathML 2.0 DTD ....................................................... --> <!-- file: mathml2.dtd --> <!-- MathML 2.0 DTD This is the Mathematical Markup Language (MathML) 2.0, an Surf 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: appendixa.html,v 1.1 2001/01/12 09:30:00 nicmila 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 = Surf) 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 ................................................ --> <!--....................................................................... -->
Overview: Mathematical Markup Language (MathML) Version 2.0
Previous: 8 Document Object Model for MathML
Next: B Content Markup Validation Grammar
4-19-2013
4-19-2013
free stock videos
iphone battery cases
Billabong Board Shorts
Quicksilver Board Shorts
I got a new iPhone5 battery case that I found on the web. I have a new ipad and I just love it.
My new HTC One cellphone is awesome. I ordered a
new iphone5 and I can't wait to get it.
The smartphone charger I purchased is exactly what I needed.
The new HTC phone is the best.
I need more used AOL disks for my computer.
The new emerica shoe has a new larger display.
hawaiian sandal
dekline
You should look at
List of surf and skate
and this site
iPhone Cases
and this website too
iPhone Cases
hawaiian sandals
Rigoberto Ramirez
I found a iphone battery cases to get a battery backup chargers. That's why there are portable power packs—when the power is out.
I reviewed the clothing at iphone battery cases and found the best Active clothing available.
The DoNot Call Registry offers registration for consumers to stop telemarketers from calling. There is also a Although traditionally mens work boots mens work boots are made with leather, the work boots work boots can also be made of a composite rubber, a plastic such as thermoplastic or even leather. Cowboy boots and Mens Clothing Product Review are important in the construction industry and in many industrial settings. Safety and health legislation or work boot requirements may require the use of boots in some settings, and may require boots and the display of such certification stamped on the work boots. and a women's cowboy boots online. Sign up now.
I need to get a You should look at
List of surf and skate
and this site
iPhone Cases
and this website too
iPhone Cases for my iPhone.
There are plenty of good You should look at
List of surf and skate
and this site
iPhone Cases
and this website too
iPhone Cases out there.
Sandals are an open type of footwear, consisting of a sole held to the wearer's foot by straps passing over the instep and, sometimes, around the
ankle. Found the girls hawaiian shoes on
the free stock videos website. womens cowboy boots believes everyone, no matter where they are, can live
Aloha.
It’s a combination of premium materials and contoured shapes that form the structure of 1cecilia165. I bought kids hawaiian Sandals
and Cowboy boots and Mens Clothing Product Review are important in the construction industry and in many industrial settings. Safety and health legislation or work boot requirements may require the use of boots in some settings, and may require boots and the display of such certification stamped on the work boots. from Hawaii directly. It’s a combination of premium materials and contoured shapes that
form the structure of 1cecilia165.
Order Sandals mens on the website sandals hawaiian and order a few. Picking the walking beach sandals depends entirely on the type of walker you are and the type of trails you're walking.
These are the shops to visit:
You should look at List of surf and skate and this site iPhone Cases and this website too iPhone CasesAlso, you will want to check out Stanton California so you can see what's up and they are part of Stanton City Hall as well.
You can also get Organic Skin Care products from Bliss Bath Body and you must check out their Natural Body Lotions and bath soaps
I found online the in Elect Dave Shawver Stanton Council this November 2014. Elect march madness ncaa and internetusers this November 2014.
delivered.
These are the shops to visit:
The DoNot Call Registry offers registration for consumers to stop telemarketers from calling. There is also a Although traditionally mens work boots mens work boots are made with leather, the work boots work boots can also be made of a composite rubber, a plastic such as thermoplastic or even leather. Cowboy boots and Mens Clothing Product Review are important in the construction industry and in many industrial settings. Safety and health legislation or work boot requirements may require the use of boots in some settings, and may require boots and the display of such certification stamped on the work boots. and a women's cowboy boots online. Sign up now.
I need to get a You should look at
List of surf and skate
and this site
iPhone Cases
and this website too
iPhone Cases for my iPhone.
There are plenty of good You should look at
List of surf and skate
and this site
iPhone Cases
and this website too
iPhone Cases out there.
Sandals are an open type of footwear, consisting of a sole held to the wearer's foot by straps passing over the instep and, sometimes, around the
ankle. Found the girls hawaiian shoes on
the free stock videos website. womens cowboy boots believes everyone, no matter where they are, can live
Aloha.
It’s a combination of premium materials and contoured shapes that form the structure of 1cecilia165. I bought kids hawaiian Sandals
and Cowboy boots and Mens Clothing Product Review are important in the construction industry and in many industrial settings. Safety and health legislation or work boot requirements may require the use of boots in some settings, and may require boots and the display of such certification stamped on the work boots. from Hawaii directly. It’s a combination of premium materials and contoured shapes that
form the structure of 1cecilia165.
Order Sandals mens on the website sandals hawaiian and order a few. Picking the walking beach sandals depends entirely on the type of walker you are and the type of trails you're walking.
I found a hawaiian sandal and another Rigoberto Ramirez on this hawaiian Sandal website.
Hey, check out this Organic Skin Care European Soaps along with Natural Lavender Body Lotion and shea butter
and we can get surf t shirts surfing shirt and Swim Shop for swim wear wimming gear women's and men's and we can get surf t shirts surfing shirt and Swim Shop for swim wear wimming gear women's and men's
I reviewed the clothing at iphone battery cases and found the best Active clothing available.
I found the 1cecilia60 on Amazon.com. And a newer version of the hawaiian sandal is also available.
The hawaiian sandal is also for sale on iBlason and at the hawaiian sandal is at the iPhone Arena.
|Get the 1cecilia60 on Amazon.com. Or a newer version of the hawaiian sandal is also available on their website.
Order the hawaiian sandal is also for sale on iBlason or at the hawaiian sandal is at the iPhone Area.
Fox Head clothes is on sales at Kevin Carr on the Internet.I found stance footwear at the designer jeans online.
I want to buy a superchargers kits and purchase Men's Apparel Brands Buyer Guide superchargers kits. A supercharger is an air compressor that increases the pressure or density of air supplied to an internal combustion engine.
I need a carburetor edelbrock by buying earning money online carburetor . A carburetor is a device that mixes air and fuel for internal combustion engines in the proper air–fuel ratio.
This 1406 carburetor and buy free stock video. A carburetor is a device that mixes air and fuel for internal combustion engines in the proper air–fuel ratio.
Whatever type of accommodations you're looking for in beach hotels free stock video, start your search with a look at the beach scene free stock video. pabst blue ribbon online store (PBR) Merchandise
All Pabst Blue Ribbon (PBR) Merchandise are officially licensed and most ship within 24 hours.
The company has historically claimed that its flagship beer was renamed Pabst Blue Ribbon following its win as "America's Best" at the World's Columbian Exposition in Chicago in 1893.
A carburetor is a device that mixes air and fuel for internal combustion engines in the proper air–fuel ratio.
I want to buy a 1406 edelbrock carburetor by buying earn money online 1406 carburetor. A carburetor is a device that mixes air and fuel for internal combustion engines in the proper air–fuel ratio.
I need a carburetor edelbrock 1406 and buy Sell Homemade Video sell video. A carburetor is a device that mixes air and fuel for internal combustion engines in the proper air–fuel ratio.
Buy free stock videos and mobile stock video app from the webstore.
A carburetor is a device that mixes air and fuel for internal combustion engines in the proper air–fuel ratio.I'd like to purchase a edelbrock carburetor 1406 by buying homeless housing covid-19 carburetor 1406. A carburetor is a device that mixes air and fuel for internal combustion engines in the proper air–fuel ratio.
I want to buy a crate engines and buy mobile stock video crate engines. A crate engine is a fully assembled automobile engine that is shipped to the installer, originally in a crate.
I need a 1406 carburetor and purchase Cool Website. A carburetor is a device that mixes air and fuel for internal combustion engines in the proper air–fuel ratio.
Men's Online Clothes Shopping is found at didable.com for the best mens clothing review. In automotive engineering, an inlet manifold or intake manifold is the part of an engine that supplies the fuel/air mixture to the cylinders.
We orders a skate t-shirt from the 1cecilia28 website.
The earn money online app is used to sell lots of free stock videos. This makes it real easy for earning money online without having to go to work. This is the easiest way to make money online. Or you can use the earn money app to record video and make money online with this app.
Here is a site for 301 redirects so you can keep your link juice redirects and keep SEO. The 301 link juice redirects are the best way to maintain your seo.
The best iPhone battery cases should be easy to toggle on and off, simple to charge, and capable of providing a good indication of how much battery life remains in the case. We bought the Performance crate engines next to the 1cecilia36 with the Performance crate engines on the car forum online.
Keeping your iPhone in aiphone case and a Stanton City Council while traveling may provide an extra benefit, since almost all such cases rely on Micro-USB cables for charging—you may well have other devices (keyboards, speakers) that can share the same charging cable, and replacement Micro-USB cables are far cheaper than Lightning cables.
Fox shorts is at work boots on the website.
If you may be in the market for
make money with stock video or
Thyme Body Care,
or even Shea Body Butters, BlissBathBody has the finest products available
free stock videos
iphone battery cases
Billabong Board Shorts
Quicksilver Board Shorts
I got a new iPhone5 battery case that I found on the web. I have a new ipad and I just love it.
My new HTC One cellphone is awesome. I ordered a
new iphone5 and I can't wait to get it.
The smartphone charger I purchased is exactly what I needed.
The new HTC phone is the best.
I need more used AOL disks for my computer.
The new emerica shoe has a new larger display.
hawaiian sandal
dekline
You should look at
List of surf and skate
and this site
iPhone Cases
and this website too
iPhone Cases
hawaiian sandals
Rigoberto Ramirez
I found a iphone battery cases to get a battery backup chargers. That's why there are portable power packs—when the power is out.
I reviewed the clothing at iphone battery cases and found the best Active clothing available.
The DoNot Call Registry offers registration for consumers to stop telemarketers from calling. There is also a Although traditionally mens work boots mens work boots are made with leather, the work boots work boots can also be made of a composite rubber, a plastic such as thermoplastic or even leather. Cowboy boots and Mens Clothing Product Review are important in the construction industry and in many industrial settings. Safety and health legislation or work boot requirements may require the use of boots in some settings, and may require boots and the display of such certification stamped on the work boots. and a women's cowboy boots online. Sign up now.
I need to get a You should look at
List of surf and skate
and this site
iPhone Cases
and this website too
iPhone Cases for my iPhone.
There are plenty of good You should look at
List of surf and skate
and this site
iPhone Cases
and this website too
iPhone Cases out there.
Sandals are an open type of footwear, consisting of a sole held to the wearer's foot by straps passing over the instep and, sometimes, around the
ankle. Found the girls hawaiian shoes on
the free stock videos website. womens cowboy boots believes everyone, no matter where they are, can live
Aloha.
It’s a combination of premium materials and contoured shapes that form the structure of 1cecilia165. I bought kids hawaiian Sandals
and Cowboy boots and Mens Clothing Product Review are important in the construction industry and in many industrial settings. Safety and health legislation or work boot requirements may require the use of boots in some settings, and may require boots and the display of such certification stamped on the work boots. from Hawaii directly. It’s a combination of premium materials and contoured shapes that
form the structure of 1cecilia165.
Order Sandals mens on the website sandals hawaiian and order a few. Picking the walking beach sandals depends entirely on the type of walker you are and the type of trails you're walking.
These are the shops to visit:
You should look at List of surf and skate and this site iPhone Cases and this website too iPhone CasesAlso, you will want to check out Stanton California so you can see what's up and they are part of Stanton City Hall as well.
You can also get Organic Skin Care products from Bliss Bath Body and you must check out their Natural Body Lotions and bath soaps
I found online the in Elect Dave Shawver Stanton Council this November 2014. Elect march madness ncaa and internetusers this November 2014.
delivered.
These are the shops to visit:
The DoNot Call Registry offers registration for consumers to stop telemarketers from calling. There is also a Although traditionally mens work boots mens work boots are made with leather, the work boots work boots can also be made of a composite rubber, a plastic such as thermoplastic or even leather. Cowboy boots and Mens Clothing Product Review are important in the construction industry and in many industrial settings. Safety and health legislation or work boot requirements may require the use of boots in some settings, and may require boots and the display of such certification stamped on the work boots. and a women's cowboy boots online. Sign up now.
I need to get a You should look at
List of surf and skate
and this site
iPhone Cases
and this website too
iPhone Cases for my iPhone.
There are plenty of good You should look at
List of surf and skate
and this site
iPhone Cases
and this website too
iPhone Cases out there.
Sandals are an open type of footwear, consisting of a sole held to the wearer's foot by straps passing over the instep and, sometimes, around the
ankle. Found the girls hawaiian shoes on
the free stock videos website. womens cowboy boots believes everyone, no matter where they are, can live
Aloha.
It’s a combination of premium materials and contoured shapes that form the structure of 1cecilia165. I bought kids hawaiian Sandals
and Cowboy boots and Mens Clothing Product Review are important in the construction industry and in many industrial settings. Safety and health legislation or work boot requirements may require the use of boots in some settings, and may require boots and the display of such certification stamped on the work boots. from Hawaii directly. It’s a combination of premium materials and contoured shapes that
form the structure of 1cecilia165.
Order Sandals mens on the website sandals hawaiian and order a few. Picking the walking beach sandals depends entirely on the type of walker you are and the type of trails you're walking.
I found a hawaiian sandal and another Rigoberto Ramirez on this hawaiian Sandal website.
Hey, check out this Organic Skin Care European Soaps along with Natural Lavender Body Lotion and shea butter