Copyright © 2000 2001 2002 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
The MathML 2 Recommendation has been produced by the W3C Math Working Group as part of the activity of the W3C User Interface Domain.
This document lists the known errata to the MathML 2 specification. Each entry has the following information:
Please send general comments about this document to the public mailing list www-math@w3.org. An archive is available at http://lists.w3.org/Archives/Public/www-math/.
Added text marked thus. Removed text marked thus. Changed text marked thus.
E01: Clarification of example in Section 4.4.3.17
E02: Clarification of usage of e-notation type in cn
E03: Correction to DOM MathMLPresentationToken interface
E04: Correction to DOM MathMLOperatorElement interface
E05: Correction to DOM MathMLContentToken interface
E06: Correction to DOM MathMLApplyElement interface
E07: Correction to DOM MathMLPredefinedSymbol interface
E08: New DOM files located at http://www.w3.org/Math/DOM
E09: Correction to mfrac attributes in the DTD
E10: Correction to xlink attributes in the DTD
E11: Correction to xlink namespace handling in the DTD
E12: Updated entity definitions for Unicode 3.1/3.2
E13: Updated XHTML+MathML DTD based on XHTML 1.1 REC
E14: New DTD files located at http://www.w3.org/Math/DTD and http://www.w3.org/Math/characters
E15: Deprecation of negative spacing characters.
E16: Correction to space complexity of parallel markup
E17: Missing units in example 3.3.9.3
E18: Correction to example Unicode value of A
The example gives the incorrect Unicode value for "A".
Using characters directly: For example, an A may be entered as `A' from a keyboard (character U+0041).
Using numeric XML character references: Using this notation, `A' may be represented as A (decimal) or A (hex).
The example omitted units in the
columnspacing
and rowspacing
attributes.
<mtable columnspacing='0pt' rowspacing='0pt'>
The space complexity of fine-grained markup was incorrectly given as O(n2).
This approach is very general and works for all kinds of annotations (including non-MathML annotations and multiple annotations). It leads, however, to O(n log n) increase in size of the document.
Unicode 3 did not finally include the negative space characters that were contained in the proposals. The entities refering to these characters are now deprecated, and should be deleted from the table in Chapter 6. For compatibility they are kept in the DTD, but mapped to zero width space, as shown in E12.
Character name | Unicode | Description |
---|---|---|
​ |
0200B | space of no width at all |
  |
0200A | space of width 1/18 em |
  |
02009 | space of width 3/18 em |
  |
02005 | space of width 4/18 em |
   |
02009-0200A-0200A | space of width 5/18 em |
​ |
0200A-0FE00 | space of width -1/18 em |
​ |
02009-0FE00 | space of width -3/18 em |
​ |
0205F-0FE00 | space of width -4/18 em |
​ |
02005-0FE00 | space of width -5/18 em |
Negative space characters have had to be deprecated as the proposed characters were not added to Unicode. The set of named units for use with the mspace width attribute has been extended to include named negative spaces.
negativeveryverythinmathspace, negativeverythinmathspace, negativethinmathspace, negativemediummathspace, negativethickmathspace, negativeverythickmathspace, negativeveryverythickmathspace, veryverythinmathspace, verythinmathspace, thinmathspace, mediummathspace, thickmathspace, verythickmathspace, or veryverythickmathspaceAs described below in E09-E13 there have been some corrections to the MathML and XHTML+MathML DTD. As DTD need to be machine readable, rather than present line-by line changes here, updated DTD files are now available from the Math Working Group's DTD page, http://www.w3.org/Math/DTD.
The MathML2 DTD http://www.w3.org/Math/DTD/mathml2/mathml2.dtd is a normative update of the DTD given in Appendix A.
The example XHTML + MathML DTD is also updated, note that this DTD is not a normative part of the MathML2 Recommendation, but presented as an example of combining MathML with XHTML Modularization. http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd. As described in the documentation at the Working Group's Characters page http://www.w3.org/Math/characters The XHTML + MathML DTD has (temporarily) been parameterised to avoid problems with "plane 1" characters in current browsers.
The character tables in Chapter 6 have been updated to match the updated DTD. These tables are all available from the Working Group's Characters page http://www.w3.org/Math/characters.
Appendix A contained a non normative link to a combined XHTML + MathML DTD, which was based on a draft of XHTML 1.1. MathML should now be used with the published DTD for XHTML 1.1.
The MathML 2 Recommendation was based on a draft submission for Unicode characters for Mathematics. Since the Recommendation was published, Unicode 3.1 and 3.2 have been finalised, and Unicode Technical Report 25 has formalised the use of the Variant selector character. This has resulted in changes to the entity definitions referenced (but not shown) in Appendix A, and in the HTML tables of character descriptions in Chapter 6.
Set Name New MathML2 Rec ===================================================================== 8879-isodia circ U002C6 U0005E 8879-isogrk3 phis U003D5 U003C6 8879-isogrk3 phiv U003C6 U003D5 9573-13-isoamsa xlarr U027F5 U0F576 9573-13-isoamsa xrarr U027F6 U0F577 9573-13-isoamsa xharr U027F7 U0F578 9573-13-isoamsa dzigrarr U027FF U0F5A2 9573-13-isoamsa xmap U027FC U0F57D 9573-13-isoamsa xlArr U027F8 U0F579 9573-13-isoamsa xrArr U027F9 U0F57A 9573-13-isoamsa xhArr U027FA U0F57B 9573-13-isoamsa srarr U02192 U02192-0FE00 9573-13-isoamsa slarr U02190 U02190-0FE00 9573-13-isoamsb ssetmn U02216 U02216-0FE00 9573-13-isoamsn nlE U02A7D-00338 U02270 9573-13-isoamsn nles U02A7D-00338 U02270 9573-13-isoamsn nvle U02A7D-00338 U02270 9573-13-isoamsn ngE U02A7E-00338 U02271 9573-13-isoamsn nges U02A7E-00338 U02271 9573-13-isoamsn nvge U02A7E-00338 U02271 9573-13-isoamsn nge U02271 U02271-020E5 9573-13-isoamsn nle U02270 U02270-020E5 9573-13-isoamsn nsmid U02224 U02224-0FE00 9573-13-isoamsn nspar U02226 U02226-0FE00 9573-13-isoamsn nvap U0224D-020D2 U02249-00338 9573-13-isoamsn nLt U0226A-020D2 U0226A-00338 9573-13-isoamsn nGt U0226B-020D2 U0226B-00338 9573-13-isoamsn nLtv U0226A-00338 U0226A-00338-0FE00 9573-13-isoamsn nGtv U0226B-00338 U0226B-00338-0FE00 9573-13-isoamsn nvrtrie U022B5-020D2 U022ED-00338 9573-13-isoamsn nvltrie U022B4-020D2 U022EC-00338 9573-13-isoamsn nvsim U0223C-020D2 U02241-00338 9573-13-isoamso planck U0210F U0210F-0FE00 9573-13-isoamso empty U02205 U02205-0FE00 9573-13-isoamso jmath U0006A U0006A-0FE00 9573-13-isoamso nang U02220-020D2 U02220-00338 9573-13-isoamso angrtvb U022BE U0299D-0FE00 9573-13-isoamsr asymp U02248 U0224D 9573-13-isoamsr smid U02223 U02223-0FE00 9573-13-isoamsr spar U02225 U02225-0FE00 9573-13-isoamsr thkap U02248 U02248-0FE00 9573-13-isoamsr suphsol U02283-00338 U02283-0002F 9573-13-isoamsr thksim U0223C U0223C-0FE00 9573-13-isogrk3 phi U003D5 U003C6 9573-13-isogrk3 phiv U003C6 U003D5 9573-13-isotech notinva U02209 U02209-00338 9573-13-isotech lopar U02985 U03018 9573-13-isotech loang U02989 U0F558 9573-13-isotech roang U0298A U0F559 9573-13-isotech ropar U02986 U03019 9573-13-isotech notindot U02209-00307 U022F6-0FE00 9573-13-isotech nedot U02260-00307 U02260-0FE00 mmlalias Hat U0005E U00302 mmlalias straightphi U003D5 U003C6 mmlalias Upsilon U003A5 U003D2 mmlalias varphi U003C6 U003D5 mmlalias InvisibleComma U02063 U0200B mmlalias hbar U0210F U0210F-0FE00 mmlalias longleftarrow U027F5 U0F576 mmlalias LongLeftArrow U027F5 U0F576 mmlalias longrightarrow U027F6 U0F577 mmlalias LongRightArrow U027F6 U0F577 mmlalias longleftrightarrow U027F7 U0F578 mmlalias LongLeftRightArrow U027F7 U0F578 mmlalias longmapsto U027FC U0F57D mmlalias Longleftarrow U027F8 U0F579 mmlalias DoubleLongLeftArrow U027F8 U0F579 mmlalias Longrightarrow U027F9 U0F57A mmlalias DoubleLongRightArrow U027F9 U0F57A mmlalias Longleftrightarrow U027FA U0F57B mmlalias DoubleLongLeftRightArrow U027FA U0F57B mmlalias NotGreaterFullEqual U02A7D-00338 U02270 mmlalias nleqq U02A7D-00338 U02270 mmlalias NotLessSlantEqual U02A7D-00338 U02270 mmlalias nleqslant U02A7D-00338 U02270 mmlalias ngeqq U02A7E-00338 U02271 mmlalias NotGreaterSlantEqual U02A7E-00338 U02271 mmlalias ngeqslant U02A7E-00338 U02271 mmlalias ShortRightArrow U02192 U02192-0FE00 mmlalias ShortLeftArrow U02190 U02190-0FE00 mmlalias NotGreaterEqual U02271 U02271-020E5 mmlalias ngeq U02271 U02271-020E5 mmlalias NotLessEqual U02270 U02270-020E5 mmlalias nleq U02270 U02270-020E5 mmlalias nshortmid U02224 U02224-0FE00 mmlalias nshortparallel U02226 U02226-0FE00 mmlalias NotLessLess U0226A-00338 U0226A-00338-0FE00 mmlalias NotGreaterGreater U0226B-00338 U0226B-00338-0FE00 mmlalias emptyset U02205 U02205-0FE00 mmlalias shortmid U02223 U02223-0FE00 mmlalias shortparallel U02225 U02225-0FE00 mmlalias thickapprox U02248 U02248-0FE00 mmlalias thicksim U0223C U0223C-0FE00 mmlalias smallsetminus U02216 U02216-0FE00 mmlextra ic U02063 U0200B mmlextra ShortDownArrow U02193 U02304-0FE00 mmlextra ShortUpArrow U02191 U02303-0FE00 mmlextra NoBreak U02060 U0FEFF mmlextra NegativeVeryThinSpace U0200B U0200A-0FE00 mmlextra NegativeThinSpace U0200B U02009-0FE00 mmlextra NegativeMediumSpace U0200B U0205F-0FE00 mmlextra NegativeThickSpace U0200B U02005-0FE00 mmlextra NotNestedLessLess U02AA1-00338 U024A1-00338 mmlextra NotNestedGreaterGreater U02AA2-00338 U024A2-00338 mmlextra EmptySmallSquare U025FB U025FD mmlextra FilledSmallSquare U025FC U025FE mmlextra EmptyVerySmallSquare U025AB U0F59C mmlextra FilledVerySmallSquare U025AA U0F59B
The DTD given in appendix A should allow
a parameter entity %XLINK.prefix;
to allow the namespace prefix to be
something other than xlink:
.
MathML allows Xlink simple linking using
xlink:href, but to comply with the Xlink recommendation it needs to
allow the additional attribute xlink:type="simple"
. So this additional
attribute needs to be added to the MathML DTD.
As described in Chapter 4 of the
Recommendation, mtable should allow the attributes width
and
side
, and mfrac should allow numalign
and denomalign
.
These four attributes were omitted from the DTD given in appendix A.
As described below in E03-E07 there have been some corrections to the MathML DOM description. The Non Normative Appendix E contains links to machine readable bindings for IDL, Java and ECMAScript. Updated bindings are now available from the Math Working Group pages at the URI http://www.w3.org/Math/DOM. The Working Group intends to maintain the files at this location and they should be regarded as an updated replacement for the files linked from Appendix E of the Recommendation.
In the MathML Document Object Model, the arity
attribute of the
MathMLPredefinedSymbol interface should not be settable. This interface is intended to model the
MathML elements defined in the Recommendation for specific functions and operators, e.g. sin
or diff
; the arity
of any instance of this interface will thus be predetermined.
Make the arity
attribute readonly.
IDL Definition
interface MathMLPredefinedSymbol: MathMLContentElement {
attribute DOMString definitionURL;
attribute DOMString encoding;
readonly attribute DOMString arity;
readonly attribute DOMString symbolName;
};
Attributes
definitionURL
of type
DOMString
A string that provides an override to the default semantics, or provides a more specific definition
encoding
of type
DOMString
A string describing the syntax in which the definition
located at definitionURL
is given.
arity
of type
DOMString
, readonlyA string representing the number of arguments. Values include
0, 1, ... and variable
.
Make the arity
attribute readonly in the
IDL binding for the MathMLApplyElement interface.
interface MathMLPredefinedSymbol : MathMLContentElement
{
attribute DOMString definitionURL;
attribute DOMString encoding;
readonly attribute DOMString arity;
readonly attribute DOMString symbolName;
};
Remove the setArity()
method from the Java
definition for the MathMLPredefinedSymbol interface.
public interface MathMLPredefinedSymbol extends MathMLContentElement
{
public String getDefinitionURL();
public void setDefinitionURL(String definitionURL);
public String getEncoding();
public void setEncoding(String encoding);
public String getArity();
public void setArity(String arity);
public String getSymbolName();
};
In the MathML Document Object Model, both the MathMLApplyElement
interface and its superclass, the MathMLContentContainer interface, contained a domainOfApplication
attribute. This was an oversight; the attribute should appear only on one of these interfaces, and
so it will be removed from the MathMLApplyElement interface.
Remove the domainOfApplication
attribute.
IDL Definition
interface MathMLApplyElement: MathMLContentContainer {
attribute MathMLElement operator;
attribute MathMLElement domainOfApplication;
attribute MathMLElement lowLimit;
attribute MathMLElement upLimit;
};
Attributes
operator
of type
MathMLElement
The MathML element representing the function or operator that is applied to the list of arguments.
domainOfApplication
of type
MathMLElement
This attribute represents the domainofapplication
child element of this node (if any). This expresses, for instance, the domain of integration
if this is an apply
element whose first child is a
int
. See Section 4.2.3.2 [Operators taking Qualifiers].
Exceptions on Setting
DOMException
HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child
domainofapplication
element.
Remove the domainOfApplication
attribute from the IDL
definition for the MathMLApplyElement interface.
interface MathMLApplyElement : MathMLContentContainer
{
attribute MathMLElement operator;
attribute MathMLElement domainOfApplication;
// raises(DOMException) on setting
attribute MathMLElement lowLimit;
// raises(DOMException) on setting
attribute MathMLElement upLimit;
// raises(DOMException) on setting
};
Remove the domainOfApplication
attribute from the Java
definition for the MathMLApplyElement interface.
public interface MathMLApplyElement extends MathMLContentContainer
{
public MathMLElement getOperator();
public void setOperator(MathMLElement operator);
public MathMLElement getDomainOfApplication();
public void setDomainOfApplication(MathMLElement domainOfApplication)
throws DOMException;
public MathMLElement getLowLimit();
public void setLowLimit(MathMLElement lowLimit)
throws DOMException;
public MathMLElement getUpLimit();
public void setUpLimit(MathMLElement upLimit)
throws DOMException;
};
Remove the domainOfApplication
attribute from the ECMAScript
definition for the MathMLApplyElement interface.
The MathMLContentToken interface in the MathML Document
Object Model contained methods setArgument(in unsigned long index, in Node newArgument)
and insertArgument(in unsigned long index, in Node newArgument)
.
The MathMLContainer interface contained methods of the same names, but with different
signatures: setArgument(in MathMLElement newArgument, in unsigned long index)
and setArgument(in MathMLElement newArgument, in unsigned long index)
.
To improve consistency and avoid confusion, the parameters for the
MathMLContentToken methods should be reversed, so that the integer position argument
comes last. (The distinction between Node
and MathMLElement
is, however, intentional and should be retained.)
Reverse the order of the parameters to the setArgument
and insertArgument
methods.
IDL Definition
interface MathMLContentToken: MathMLContentElement { readonly attribute MathMLNodeList arguments; attribute DOMString definitionURL; attribute DOMString encoding; Node getArgument(in unsigned long index); Node insertArgument(in Node newArgument, in unsigned long index); Node setArgument(in Node newArgument, in unsigned long index); void deleteArgument(in unsigned long index); Node removeArgument(in unsigned long index); };
Attributes
arguments
of type
MathMLNodeList
, readonlyThe arguments of this element, returned as a MathMLNodeList
.
Note that this is not necessarily the same as Node::childNodes
, particularly
in the case of the cn
element. The reason is that the sep
elements that are used to separate the arguments of a cn
are
not returned.
definitionURL
of type
DOMString
A URI pointing to a semantic definition for this content element. Note that there is no stipulation about the form this definition may take!
encoding
of type
DOMString
A string describing the syntax in which the definition
located at definitionURL
is given.
Methods
getArgument
A convenience method to retrieve the child
argument at the position referenced by index
. Note that this is
not necessarily the same as the index
-th child Node
of this Element
; in particular, sep
elements will not be counted.
Parameters
unsigned long | index |
Position of desired argument in the list of arguments. The first argument is numbered 1. |
Return value
Node |
The |
This method raises no exceptions.
insertArgument
A convenience method to insert newArgument
before the current index
-th argument child of this element.
If index
is 0, newArgument
is appended as the last argument.
Parameters
unsigned long | index |
Position before which |
Node | newArgument |
|
unsigned long | index |
Position before which |
Return value
Node |
The |
This method raises no exceptions.
setArgument
A convenience method to set an argument child at the position
referenced by index
. If there is currently an argument at this
position, it is replaced by newArgument
.
Parameters
unsigned long | index |
Position of the argument that is to be
set to |
Node | newArgument |
|
unsigned long | index |
Position of the argument that is to be
set to |
Return value
Node |
The |
This method raises no exceptions.
Reverse the order of the parameters to thesetArgument
and insertArgument
methods in the IDL definition for the MathMLContentToken interface.
interface MathMLContentToken : MathMLContentElement { readonly attribute MathMLNodeList arguments; attribute DOMString definitionURL; attribute DOMString encoding; Node getArgument(in unsigned long index); Node insertArgument(in Node newArgument, in unsigned long index); Node setArgument(in Node newArgument, in unsigned long index); void deleteArgument(in unsigned long index); Node removeArgument(in unsigned long index); };
Reverse the order of the parameters to thesetArgument
and insertArgument
methods in the Java definition for the MathMLContentToken interface.
public interface MathMLContentToken extends MathMLContentElement { public MathMLNodeList getArguments(); public String getDefinitionURL(); public void setDefinitionURL(String definitionURL); public String getEncoding(); public void setEncoding(String encoding); public Node getArgument(int index); public Node insertArgument(Node newArgument, int index); public Node setArgument(Node newArgument, int index); public void deleteArgument(int index); public Node removeArgument(int index); };
Reverse the order of the parameters to the setArgument
and insertArgument
methods in the ECMAScript definition for the MathMLContentToken interface.
The MathMLOperatorElement Interface in the MathML Document
Object Model contained misspelled references to the movablelimits
attribute
of the mo
element. The attribute was spelled moveablelimits
in the
DOM references; this should be corrected, both in Appendix D of the Recommendation and in the
various language bindings of the DOM.
Correct the spelling of movablelimits
.
IDL Definition
interface MathMLOperatorElement: MathMLPresentationToken {
attribute DOMString form;
attribute DOMString fence;
attribute DOMString separator;
attribute DOMString lspace;
attribute DOMString rspace;
attribute DOMString stretchy;
attribute DOMString symmetric;
attribute DOMString maxsize;
attribute DOMString minsize;
attribute DOMString largeop;
attribute DOMString movablelimits;
attribute DOMString accent;
};
Attributes
form
of type
DOMString
The form
attribute (prefix
,
infix
or postfix
) for the
mo
element, if specified.
fence
of type
DOMString
The fence
attribute
(true
or false
)
for the mo
element, if specified.
separator
of type
DOMString
The separator
attribute
(true
or false
) for the
mo
element, if specified.
lspace
of type
DOMString
The lspace
attribute (spacing to left) of
the mo
element, if specified.
rspace
of type
DOMString
The rspace
attribute (spacing to right) of the
mo
element, if specified.
stretchy
of type
DOMString
The stretchy
attribute
(true
or false
) for the
mo
element, if specified.
symmetric
of type
DOMString
The symmetric
attribute
(true
or false
) for the
mo
element, if specified.
maxsize
of type
DOMString
The maxsize
attribute for the
mo
element, if specified.
minsize
of type
DOMString
The minsize
attribute for the
mo
element, if specified.
largeop
of type
DOMString
The largeop
attribute for the
mo
element, if specified.
movablelimits
of type
DOMString
The movablelimits
(true
or false
) attribute for the
mo
element, if specified.
Correct spelling of movablelimits
in the IDL definition for the MathMLOperatorElement interface.
interface MathMLOperatorElement : MathMLPresentationToken
{
attribute DOMString form;
attribute DOMString fence;
attribute DOMString separator;
attribute DOMString lspace;
attribute DOMString rspace;
attribute DOMString stretchy;
attribute DOMString symmetric;
attribute DOMString maxsize;
attribute DOMString minsize;
attribute DOMString largeop;
attribute DOMString movablelimits;
attribute DOMString accent;
};
Correct spelling of movablelimits
in the Java definition for
the MathMLOperatorElement interface.
public interface MathMLOperatorElement extends MathMLPresentationToken { public String getForm(); public void setForm(String form); public String getFence(); public void setFence(String fence); public String getSeparator(); public void setSeparator(String separator); public String getLspace(); public void setLspace(String lspace); public String getRspace(); public void setRspace(String rspace); public String getStretchy(); public void setStretchy(String stretchy); public String getSymmetric(); public void setSymmetric(String symmetric); public String getMaxsize(); public void setMaxsize(String maxsize); public String getMinsize(); public void setMinsize(String minsize); public String getLargeop(); public void setLargeop(String largeop); public String getMovablelimits(); public void setMovablelimits(String movablelimits); public String getAccent(); public void setAccent(String accent); };
Correct spelling of movablelimits
in the ECMAScript definition
for the MathMLOperatorElement interface.
The MathMLPresentationToken Interface in the MathML Document
Object Model contained references to an attribute mathfamily
which is not
present on the elements being represented. All references to this attribute should be
deleted, both in Appendix D of the Recommendation and in the various language bindings
of the DOM.
Delete mathfamily attribute from both IDL definition and description.
IDL Definition
interface MathMLPresentationToken: MathMLPresentationElement {
attribute DOMString mathvariant;
attribute DOMString mathsize;
attribute DOMString mathfamily;
attribute DOMString mathcolor;
attribute DOMString mathbackground;
readonly attribute MathMLNodeList contents;
};
Attributes
mathvariant
of type
DOMString
The mathvariant
attribute for the element, if
specified. One of the values normal
, bold
, italic
, bold-italic
, double-struck
, bold-fraktur
,
script
, bold-script
, fraktur
, sans-serif
, bold-sans-serif
, sans-serif-italic
, sans-serif-bold-italic
,
or monospace
.
mathsize
of type
DOMString
The mathsize
attribute for the element, if
specified. Either small
, normal
or big
, or of the
form number v-unit
.
mathfamily
of type
DOMString
The mathfamily
attribute for the element, if
specified. This should be a string of the form css-fontfamily
.
Delete mathfamily from the IDL definition for the MathMLPresentationToken interface.
interface MathMLPresentationToken : MathMLPresentationElement
{
attribute DOMString mathvariant;
attribute DOMString mathsize;
attribute DOMString mathfamily;
attribute DOMString mathcolor;
attribute DOMString mathbackground;
readonly attribute MathMLNodeList contents;
};
Delete mathfamily from the Java definition for the MathMLPresentationToken interface.
public interface MathMLPresentationToken extends MathMLPresentationElement
{
public String getMathvariant();
public void setMathvariant(String mathvariant);
public String getMathsize();
public void setMathsize(String mathsize);
public String getMathfamily();
public void setMathfamily(String mathfamily);
public String getMathcolor();
public void setMathcolor(String mathcolor);
public String getMathbackground();
public void setMathbackground(String mathbackground);
public MathMLNodeList getContents();
};
Delete mathfamily from the ECMAScript definition for the MathMLPresentationToken interface.
The descriptions of the "scientific, or e notation"
(1.234e5) in Chapter 4 and Appendices C and D became inconsistent in the final
draft. The correct markup for the example given is <cn
type='e-notation'> 1.234 <sep/> 5 </cn>
. Unfortunately,
some references to the older names float and floating-point remain, and the
description of type="e-notation"
in Chapter 4 (but not Appendix
C) describes its use with the example <cn type='e-notation'> 1.234
e 5 </cn>
where e
is used as a separator rather than
the sep
element.
Delete float, correct e-notation description.
e-notation
, integer
,
rational
, real
, float
,
complex-polar
, complex-cartesian
,
constant
. The default value is real
.
Notes. Each data type implies that the data adheres to certain
formatting conventions, detailed below. If the data fails to
conform to the expected format, an error is generated. Details of
the individual formats are:
<sep/>
. The first part is a
real number, while the second part is an integer exponent
indicating a power of the base. For example, 12.3 <sep/>
5 represents 12.3 times
105. The default
presentation of this example is 12.3e5.integer
, rational
, real
,
float
,
complex
, complex-polar
,
complex-cartesian
, constant
, or the name
of any content element. The meanings of the attribute values
shared with cn
are the same as those listed for the
cn
element. The attribute value complex
is intended for use when an identifier represents a complex number
but the particular representation (such as polar or cartesian) is
either not known or is irrelevant. The default value is "", i.e.
unspecified.Delete float.
Valid types include integer
, rational
,
real
, float
,
complex
, complex-polar
,
complex-cartesian
, constant
, and more
generally, any of the names of the MathML container elements (e.g.
vector
) or their type values.
Delete floating-point, add e-notation.
The cn element is used to encode numerical constants. The mathematical type of number is given as an attribute. The default type is "real". Numbers such as e-notation, rational and complex, require two parts for a complete specification. The parts of such a number are separated by an empty sep element.
Many of the commonly occurring numeric constants such as
π
have their own elements.
See also Section 4.4.1.1
[Number (cn
)].
Name | Value | Default |
---|---|---|
definitionURL | URI identifying the definition | APPENDIX_C |
encoding | CDATA | MathML |
type | integer | rational | complex-cartesian | complex-polar | real | e-notation | MathMLtype | real |
base | integer between 2 and 36 | 10 |
[type=integer](numstring) -> constant(integer)
[base=base-value](numstring) -> constant(integer)
[type=rational](numstring,numstring) -> constant(rational)
[type=complex-cartesian](numstring,numstring) -> constant(complex)
[type=e-notation](numstring,numstring) -> constant(e-notation)
[type=rational](numstring,numstring) -> constant(rational)
[definitionURL=definition](numstring*) -> constant(user-defined)
Delete float.
Values include, but are not restricted to, e-notation
,
integer
, rational
, real
, float
, complex
,
complex-polar
, complex-cartesian
, and
constant
.
Change float to e-notation.
Values include integer
, rational
,
real
, e-notation
, complex
,
complex-polar
, complex-cartesian
,
constant
, any of the MathML content container types
(vector
, matrix
, set
,
list
etc.) or their types.
Clarification of status of the second and third examples.
NOTE: The second and third examples in this section are correct MathML expressions of False mathematical statements.
$Id: MathML2-errata.html,v 1.4 2002/07/19 12:32:42 mf Exp $