W3C

Mathematical Markup Language (MathML) Version 2.0 Errata

This version:
http://www.w3.org/2001/02/MathML2-errata.html
This document records known errors in the document:
http://www.w3.org/TR/2001/REC-MathML2-20010221
The latest version of the Mathematical Markup Language (MathML) Version 2.0 specification is at:
http://www.w3.org/TR/MathML2

About the MathML2 Specification

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/.


Conventions

Added text marked thus. Removed text marked thus. Changed text marked thus.

Known errors as of July 16 2002


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


E18 - Editorial. (2002-07-16)

6.2.1 Unicode Character Data

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).

E17 - Editorial. (2002-07-14)

3.3.9.3 Examples

The example omitted units in the columnspacing and rowspacing attributes.

<mtable columnspacing='0pt' rowspacing='0pt'>

E16 - Editorial. (2002-07-06)

5.3.2 Fine-grained Parallel Markup

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.

E15 - Substantive. (2002-07-05)

6.2.4 Non-Marking Characters

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
&ZeroWidthSpace; 0200B space of no width at all
&VeryThinSpace; 0200A space of width 1/18 em
&ThinSpace; 02009 space of width 3/18 em
&MediumSpace; 02005 space of width 4/18 em
&ThickSpace; 02009-0200A-0200A space of width 5/18 em
&NegativeVeryThinSpace; 0200A-0FE00 space of width -1/18 em
&NegativeThinSpace; 02009-0FE00 space of width -3/18 em
&NegativeMediumSpace; 0205F-0FE00 space of width -4/18 em
&NegativeThickSpace; 02005-0FE00 space of width -5/18 em
Section 3.2.5.2
Section 3.3.4.2
Meaning of named mathspaces

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 veryverythickmathspace

E14 - Substantive. (2002-07-05)

As 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.

Appendix A

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.

Chapter 6

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.

E13 - Substantive. (2002-07-05)

Appendix A

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.

E12 - Substantive. (2002-07-05)

Appendix A

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

E11 - Editorial. (2002-07-05)

The DTD given in appendix A should allow a parameter entity %XLINK.prefix; to allow the namespace prefix to be something other than xlink:.

E10 - Substantive. (2002-07-05)

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.

E09 - Substantive. (2002-07-05)

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.

E08 - Substantive. (2002-05-21)

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.

E07 - Substantive. (2002-03-14)

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.

Appendix D : Interface MathMLPredefinedSymbol

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, readonly

A string representing the number of arguments. Values include 0, 1, ... and variable.

Appendix E.1 : MathML Document Object Model IDL Binding

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;
  };
Appendix E.2 : MathML Document Object Model Java Binding

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();
};

E06 - Substantive. (2002-03-14)

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.

Appendix D : Interface MathMLApplyElement

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.

Appendix E.1 : MathML Document Object Model IDL Binding

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
  };
Appendix E.2 : MathML Document Object Model Java Binding

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;
};
Appendix E.3: MathML Document Object Model ECMAScript Binding

Remove the domainOfApplication attribute from the ECMAScript definition for the MathMLApplyElement interface.

domainOfApplication
This property is of type MathMLElement.

E05 - Substantive. (2002-03-14)

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.)

Appendix D : Interface MathMLContentToken

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, readonly

The 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 longindex

Position of desired argument in the list of arguments. The first argument is numbered 1.

Return value

Node

The Node retrieved.

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 longindex

Position before which newArgument is to be inserted. The first argument is numbered 1.Note that this is not necessarily the index of the Node in the list of child nodes, as nodes representing such elements as sep are not counted as arguments.

NodenewArgument

Node to be inserted as the index-th argument. This will either be a MathMLElement or a Text node.

unsigned longindex

Position before which newArgument is to be inserted. The first argument is numbered 1.Note that this is not necessarily the index of the Node in the list of child nodes, as nodes representing such elements as sep are not counted as arguments.

Return value

Node

The Node inserted. This is the element within the DOM.

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 longindex

Position of the argument that is to be set to newArgument in the list of arguments. The first argument is numbered 1. Note that this is not necessarily the index of the Node in the list of child nodes, as nodes representing such elements as sep are not counted as arguments.

NodenewArgument

Node to be inserted as the argument. This will either be a MathMLElement or a Text node.

unsigned longindex

Position of the argument that is to be set to newArgument in the list of arguments. The first argument is numbered 1. Note that this is not necessarily the index of the Node in the list of child nodes, as nodes representing such elements as sep are not counted as arguments.

Return value

Node

The Node inserted. This is the element within the DOM.

This method raises no exceptions.

Appendix E.1 : MathML Document Object Model IDL Binding

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);
  };
Appendix E.2 : MathML Document Object Model Java Binding

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);
};
Appendix E.3: MathML Document Object Model ECMAScript Binding

Reverse the order of the parameters to the setArgument and insertArgument methods in the ECMAScript definition for the MathMLContentToken interface.

insertArgument(newArgument,index)
This method returns a Node. The newArgument parameter is of type Node. The index parameter is of type unsigned long.
setArgument(newArgument,index)
This method returns a Node. The newArgument parameter is of type Node. The index parameter is of type unsigned long.

E04 - Typographical. (2002-03-14)

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.

Appendix D : Interface MathMLOperatorElement

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.

Appendix E.1 : MathML Document Object Model IDL Binding

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;
  };
Appendix E.2 : MathML Document Object Model Java Binding

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);
};
Appendix E.3: MathML Document Object Model ECMAScript Binding

Correct spelling of movablelimits in the ECMAScript definition for the MathMLOperatorElement interface.

movablelimits
This property is of type DOMString.

E03 - Substantive. (2002-03-14)

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.

Appendix D : Interface MathMLPresentationToken

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.

Appendix E.1 : MathML Document Object Model IDL Binding

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;
  };
Appendix E.2 : MathML Document Object Model Java Binding

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();
};
Appendix E.3: MathML Document Object Model ECMAScript Binding

Delete mathfamily from the ECMAScript definition for the MathMLPresentationToken interface.

The MathMLPresentationToken object has the following properties:
mathvariant
This property is of type DOMString.
mathsize
This property is of type DOMString.
mathfamily
This property is of type DOMString.
mathcolor
This property is of type DOMString.
mathbackground
This property is of type DOMString.
contents
This property is of type MathMLNodeList.

E02 - Substantive. (2001-03-28)

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.

Section 4.3.2.9

Delete float, correct e-notation description.

cn
indicates type of the number. Predefined values: 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:
e-notation
A real number may also be presented in scientific notation. Such numbers have two parts (a mantissa and an exponent) separated by <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.
ci
indicates type of the identifier. Predefined values: 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.
Section 4.4.1.2

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.

Appendix C: MMLDefinition: cn

Delete floating-point, add e-notation.

Description

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 &pi; have their own elements.

See also Section 4.4.1.1 [Number (cn)].

Classification
constant
MMLattribute
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
Signature

[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)

Appendix D: Interface MathMLCnElement

Delete float.

Values include, but are not restricted to, e-notation, integer, rational, real, float, complex, complex-polar, complex-cartesian, and constant.

Appendix D: Interface MathMLCiElement

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.

E01 - Editorial. (2001-03-08)

Section 4.4.3.17

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 $