Document Object Model for MathML

The following sections describe the interfaces that have been defined in the Document Object Model for MathML. Please refer to for more information.

Bindings for IDL, Java and ECMAScript are located in .

IDL Interfaces Miscellaneous Object Definitions

This interface extends the DOMImplementation interface by adding a method to create a MathMLDocument.

Creates a MathMLDocument with a minimal tree containing only a MathMLMathElement corresponding to a MathML math element. The MathMLMathElement is empty, having no child elements or non-default attributes; it is the root element of the document, and is the element accessed via the documentElement attribute of the MathMLDocument. Note that a MathMLDocument object should only be created for a stand-alone MathML document.

The MathMLDocument created.

This interface extends the Document interface to add access to document properties relating to navigation. The documentElement attribute for a MathMLDocument should be the MathMLMathElement representing the top-level math element which is the root of the document.

The URI of the page that linked to this document, if available. This is null if the user navigated directly to the page. If this is not a stand-alone MathML document (e.g. is embedded in an XHTML document), this may be retrieved from the parent Document if available.

The domain name of the server that served the document, or null if the server cannot be identified by a domain name, or if it is not available. If this is not a stand-alone MathML document (e.g. is embedded in an XHTML document), this may be retrieved from the parent Document if available.

The complete URI of this document. This is null if this is not a stand-alone MathML document.

This interface is provided as a specialization of the NodeList interface. The child Nodes of this NodeList must be MathMLElements or Text nodes.

Note that MathMLNodeLists are frequently used in the DOM as values of readonly attributes, encapsulating, for instance, various collections of child elements. When used in this way, these objects are always understood to be live, in the sense that changes to the document are immediately reflected in them.

Generic MathML Elements

All MathML element interfaces derive from this object, which derives from the basic DOM interface Element.

The class attribute of the element. See the discussion elsewhere in this document of the class attribute; see also the HTML definition of this attribute.

A string identifying the element's style attribute.

The element's identifier. See the discussion elsewhere in this document of the id attribute; see also the HTML definition.

The xref attribute of the element. See the discussion elsewhere in this document of the xref attribute.

The xlink:href attribute of the element. See the discussion elsewhere in this document of the xlink:href attribute; see also the definition of this attribute in the XLink specification.

The MathMLMathElement corresponding to the nearest math element ancestor of this element. Should be null if this element is a top-level math element.

This is an abstract interface containing functionality required by MathML elements that may contain arbitrarily many child elements. No elements are directly supported by this interface; all instances are instances of either MathMLPresentationContainer, MathMLContentContainer, or MathMLMathElement.

The number of child elements of this element which represent arguments of the element, as opposed to qualifiers or declare elements. Thus for a MathMLContentContainer it does not contain elements representing bound variables, conditions, separators, degrees, or upper or lower limits (bvar, condition, sep, degree, lowlimit, or uplimit).

This attribute accesses the child MathMLElements of this element which are arguments of it, as a MathMLNodeList. Note that this list does not contain any MathMLElements representing qualifier elements or declare elements.

Provides access to the declare elements which are children of this element, in a MathMLNodeList. All Nodes in this list must be MathMLDeclareElements.

This method returns the indexth child argument element of this element. This frequently differs from the value of Node::childNodes().item(index), as qualifier elements and declare elements are not counted.

The one-based index of the argument to be retrieved.

A MathMLElement representing the index-th argument of this element.

INDEX_SIZE_ERR: Raised if index is greater than the number of child elements.

This method sets newArgument as the index-th argument of this element. If there is currently an index-th argument, it is replaced by newArgument. This frequently differs from setting the node at Node::childNodes().item(index), as qualifier elements and declare elements are not counted.

A MathMLElement representing the element that is to be set as the index-th argument of this element.

The index of the argument that is to be set to newArgument. The first argument is numbered 1. If index is one more than the current number of arguments, a new argument is appended.

The MathMLElement child of this element that represents the new argument in the DOM.

HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child element of the type of newArgument, if this is a MathMLContentContainer and newArgument is a qualifier element, or if newElement is a MathMLDeclareElement.

INDEX_SIZE_ERR: Raised if index is greater than one more than the number of child elements.

This method inserts newArgument before the current index-th argument of this element. If index is 0, or if index is one more than the current number of arguments, newArgument is appended as the last argument. This frequently differs from setting the node at Node::childNodes().item(index), as qualifier elements and declare elements are not counted.

A MathMLElement representing the element that is to be inserted as a child argument of this element.

The one-based index of the position before which newArgument is to be inserted. The first argument is numbered 1.

The MathMLElement child of this element that represents the new argument in the DOM.

HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child argument of the type of newArgument, or, for MathMLContentContainers, if newArgument represents a qualifier element.

INDEX_SIZE_ERR: Raised if index is greater than one more than the number of child arguments.

This method deletes the index-th child element that is an argument of this element. Note that child elements which are qualifier elements or declare elements are not counted in determining the index-th argument.

The one-based index of the argument to be deleted.

None.

INDEX_SIZE_ERR: Raised if index is greater than the number of child elements.

This method deletes the index-th child element that is an argument of this element, and returns it to the caller. Note that child elements that are qualifier elements or declare elements are not counted in determining the index-th argument.

The one-based index of the argument to be removed.

A MathMLElement representing the argument being removed.

INDEX_SIZE_ERR: Raised if index is greater than the number of child elements.

This method retrieves the index-th child declare element of this element.

A one-based index into the list of child declare elements of this element giving the position of the declare element to be retrieved.

The MathMLDeclareElement representing the index-th child declare.

INDEX_SIZE_ERR: Raised if index is greater than the number of child declare elements.

This method inserts newDeclaration as the index-th child declaration of this element. If there is already an index-th declare child element, it is replaced by newDeclaration.

A MathMLDeclareElement to be inserted as the index-th child declare element.

A one-based index into the list of child declare elements of this element giving the position into which newDeclaration is to be inserted. If index is one more than the number of declare children of this element, newDeclaration is appended as the last declare child.

The MathMLDeclareElement being inserted.

INDEX_SIZE_ERR: Raised if index is greater than one more than the number of child declare elements.

HIERARCHY_REQUEST_ERR: Raised if this element does not permit child declare elements.

This method inserts newDeclaration before the current index-th child declare element of this element. If index is 0, newDeclaration is appended as the last child declare element.

A MathMLDeclareElement to be inserted as the index-th child declare element.

A one-based index into the list of child declare elements of this element giving the position before which newDeclaration is to be inserted. If index is 0 or if it is one more than the number of child declare children, newDeclaration is appended as the last child declare element.

The MathMLDeclareElement child of this element representing newDeclaration in the DOM.

INDEX_SIZE_ERR: Raised if index is greater than one more than the number of child declare elements.

HIERARCHY_REQUEST_ERR: Raised if this element does not permit child declare elements.

This method removes the MathMLDeclareElement representing the index-th declare child element of this element, and returns it to the caller. Note that index is the position in the list of declare element children, as opposed to the position in the list of all child Nodes.

The one-based index of the declare element to be removed.

The MathMLDeclareElement being removed as a child Node of this element.

INDEX_SIZE_ERR: Raised if index is greater than the number of child declare elements.

This method deletes the MathMLDeclareElement representing the index-th declare child element of this element. Note that index is the position in the list of declare element children, as opposed to the position in the list of all child Nodes.

The one-based index of the declare element to be removed.

None.

INDEX_SIZE_ERR: Raised if index is greater than the number of child declare elements.

This interface represents the top-level MathML math element.

It may become useful for interfacing between the Document Object Model objects encoding an enclosing document and the MathML DOM elements that are its children. It could also be used for some purposes as a MathML DOM surrogate for a Document object. For instance, MathML-specific factory methods could be placed here, as could methods for creating MathML-specific Iterators or TreeWalkers. However, this functionality is as yet undefined.

Represents the macros attribute of the math element. See .

Represents the display attribute of the math element. This value is either block or inline. See .

This interface represents the semantics element in MathML.

This attribute represents the first child of the semantics element, i.e. the child giving the primary content represented by the element.

Represents the number of annotation or annotation-xml children of the semantics element, i.e. the number of alternate content forms for this element.

This method gives access to the index-th alternate content associated with a semantics element.

The one-based index of the annotation being retrieved.

The MathMLAnnotationElement or MathMLXMLAnnotationElement representing the index-th annotation or annotation-xml child of the semantics element. Note that all child elements of a semantics element other than the first are required to be of one of these types.

This method inserts newAnnotation before the current index-th alternate content associated with a semantics element. If index is 0, newAnnotation is appended as the last annotation or annotation-xml child of this element.

A MathMLAnnotationElement or MathMLXMLAnnotationElement representing the new annotation or annotation-xml to be inserted.

The position in the list of annotation or annotation-xml children before which newAnnotation is to be inserted. The first annotation is numbered 1.

The MathMLAnnotationElement or MathMLXMLAnnotationElement child of this element that represents the new annotation in the DOM.

HIERARCHY_REQUEST_ERR: Raised if newAnnotation is not a MathMLAnnotationElement or MathMLXMLAnnotationElement.

INDEX_SIZE_ERR: Raised if index is greater than the current number of annotation or annotation-xml children of this semantics element.

This method allows setting or replacement of the index-th alternate content associated with a semantics element. If there is already an annotation or annotation-xml element with this index, it is replaced by newAnnotation.

A MathMLAnnotationElement or MathMLXMLAnnotationElement representing the new value of the index-th annotation or annotation-xml child of this semantics element.

The position in the list of annotation or annotation-xml children of this semantics element that is to be occupied by newAnnotation. The first annotation element is numbered 1.

The MathMLAnnotationElement or MathMLXMLAnnotationElement child of this element that represents the new annotation in the DOM.

HIERARCHY_REQUEST_ERR: Raised if newAnnotation is not a MathMLAnnotationElement or MathMLXMLAnnotationElement.

INDEX_SIZE_ERR: Raised if index is greater than one more than the current number of annotation or annotation-xml children of this semantics element.

A convenience method to delete the index-th alternate content associated with this semantics element.

The one-based index of the annotation being deleted.

None.

A convenience method to delete the index-th alternate content associated with this semantics element, and to return it to the caller.

The one-based index of the annotation being deleted.

The MathMLAnnotationElement or MathMLXMLAnnotationElement being deleted.

This interface represents the annotation element of MathML.

Provides access to the content of an annotation element.

Provides access to the encoding attribute of an annotation element.

This interface represents the annotation-xml element of MathML.

Provides access to the encoding attribute of an xml-annotation element.

Presentation Elements

This interface is provided to serve as a base interface for various MathML Presentation interfaces. It contains no new attributes or methods at this time; however, it is felt that the distinction between Presentation and Content MathML entities should be indicated in the MathMLElement hierarchy. In particular, future versions of the MathML DOM may add functionality on this interface; it may also serve as an aid to implementors.

Leaf Presentation Element Interfaces

This interface supports the mglyph element .

A string giving an alternate name for the character. Represents the mglyph's alt attribute.

A string representing the font family.

An unsigned integer giving the glyph's position within the font.

This interface extends the MathMLPresentationElement interface for the MathML space element mspace. Note that this is not derived from MathMLPresentationToken, despite the fact that mspace is classified as a token element, since it does not carry the attributes declared for MathMLPresentationToken.

A string of the form number h-unit; represents the width attribute for the mspace element, if specified.

A string of the form number v-unit; represents the height attribute for the mspace element, if specified.

A string of the form number v-unit; represents the depth attribute for the mspace element, if specified.

Presentation Token Element Interfaces

Interfaces representing the MathML Presentation token elements that may have content are described here.

This interface extends the MathMLElement interface to include access for attributes specific to text presentation. It serves as the base class for all MathML presentation token elements. Access to the body of the element is via the nodeValue attribute inherited from Node. Elements that expose only the core presentation token attributes are directly supported by this object. These elements are:

identifier element

number element

text element

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.

The mathsize attribute for the element, if specified. Either small, normal or big, or of the form number v-unit.

The mathcolor attribute for the element, if specified. The DOMString returned should be in one of the forms "#rgb" or "#rrggbb", or should be an html-color-name, as specified in .

The mathbackground attribute for the element, if specified. The DOMString returned should be in one of the forms "#rgb" or "#rrggbb", or should be an html-color-name, as specified in .

Returns the child Nodes of the element. These should consist only of Text nodes and possibly MathMLGlyphElements. Should behave the same as the base class's Node::childNodes attribute; however, it is provided here for clarity.

This interface extends the MathMLPresentationToken interface for the MathML operator element mo.

The form attribute (prefix, infix or postfix) for the mo element, if specified.

The fence attribute (true or false) for the mo element, if specified.

The separator attribute (true or false) for the mo element, if specified.

The lspace attribute (spacing to left) of the mo element, if specified.

The rspace attribute (spacing to right) of the mo element, if specified.

The stretchy attribute (true or false) for the mo element, if specified.

The symmetric attribute (true or false) for the mo element, if specified.

The maxsize attribute for the mo element, if specified.

The minsize attribute for the mo element, if specified.

The largeop attribute for the mo element, if specified.

The movablelimits (true or false) attribute for the mo element, if specified.

The accent attribute (true or false) for the mo element, if specified.

This interface extends the MathMLPresentationToken interface for the MathML string literal element ms.

A string giving the opening delimiter for the string literal; represents the lquote attribute for the ms element, if specified.

A string giving the closing delimiter for the string literal; represents the rquote attribute for the ms element, if specified.

Presentation Container Interfaces

Interfaces designed to represent MathML Presentation elements that can contain arbitrary numbers of child MathMLElements are included under the heading of Presentation Container Elements.

This interface represents MathML Presentation elements that may contain arbitrarily many child elements. Elements directly supported by this interface include mrow, mphantom and merror. All attributes and methods are derived from the base MathMLPresentationElement and MathMLContainer interfaces.

This interface extends the MathMLElement interface for the MathML style element mstyle. While the mstyle element may contain any attributes allowable on any MathML presentation element, only attributes specific to the mstyle element are included in the interface below. Other attributes should be accessed using the methods on the base Element class, particularly the Element::getAttribute and Element::setAttribute methods, or even the Node::attributes attribute to access all of them at once. Not only does this obviate a lengthy list below, but it seems likely that most implementations will find this a considerably more useful interface to a MathMLStyleElement.

A string of the form +/- unsigned integer; represents the scriptlevel attribute for the mstyle element, if specified. See also the discussion of this attribute.

Either true or false; a string representing the displaystyle attribute for the mstyle element, if specified. See also the discussion of this attribute.

A string of the form number; represents the scriptsizemultiplier attribute for the mstyle element, if specified. See also the discussion of this attribute.

A string of the form number v-unit; represents the scriptminsize attribute for the mstyle element, if specified. See also the discussion of this attribute.

A string representation of a color; represents the color attribute for the mstyle element, if specified. See also the discussion of this attribute.

A string representation of a color or the string transparent; represents the background attribute for the mstyle element, if specified. See also the discussion of this attribute.

This interface extends the MathMLElement interface for the MathML spacing adjustment element mpadded.

A string representing the total width of the mpadded element, if specified. See also the discussion of this attribute.

A string representing the lspace attribute - the additional space to the left - of the mpadded element, if specified. See also the discussion of this attribute.

A string representing the height above the baseline of the mpadded element, if specified. See also the discussion of this attribute.

A string representing the depth beneath the baseline of the mpadded element, if specified. See also the discussion of this attribute.

This interface extends the MathMLPresentationContainer interface for the MathML fenced content element mfenced.

A string representing the opening-fence for the mfenced element, if specified; this is the element's open attribute.

A string representing the opening-fence for the mfenced element, if specified; this is the element's close attribute.

A string representing any separating characters inside the mfenced element, if specified; this is the element's separators attribute.

This interface supports the menclose element .

A string giving a name for the notation enclosing the element's contents. Represents the notation attribute of the menclose. Allowed values are longdiv, actuarial, radical.

This interface extends the MathMLPresentationContainer interface for the MathML enlivening expression element maction.

A string specifying the action. Possible values include toggle, statusline, tooltip, highlight, and menu.

A string specifying an integer that selects the current subject of the action.

Presentation Schemata Interfaces

This interface extends the MathMLPresentationElement interface for the MathML fraction element mfrac.

A string representing the linethickness attribute of the mfrac, if specified.

The first child MathMLElement of the MathMLFractionElement; represents the numerator of the represented fraction.

The second child MathMLElement of the MathMLFractionElement; represents the denominator of the represented fraction.

This interface extends the MathMLPresentationElement interface for the MathML radical and square root elements mroot and msqrt.

The first child MathMLElement of the MathMLRadicalElement; represents the base of the represented radical.

The second child MathMLElement of the MathMLRadicalElement; represents the index of the represented radical. This must be null for msqrt elements.

This interface extends the MathMLPresentationElement interface for the MathML subscript, superscript and subscript-superscript pair elements msub, msup, and msubsup.

A string representing the minimum amount to shift the baseline of the subscript down, if specified; this is the element's subscriptshift attribute. This must return null for an msup.

A string representing the minimum amount to shift the baseline of the superscript up, if specified; this is the element's superscriptshift attribute. This must return null for a msub.

A MathMLElement representing the base of the script. This is the first child of the element.

A MathMLElement representing the subscript of the script. This is the second child of a msub or msubsup; retrieval must return null for an msup.

HIERARCHY_REQUEST_ERR: Raised when the element is a msup.

A MathMLElement representing the superscript of the script. This is the second child of a msup or the third child of a msubsup; retrieval must return null for an msub.

HIERARCHY_REQUEST_ERR: Raised when the element is a msub.

This interface extends the MathMLPresentationElement interface for the MathML underscript, overscript and overscript-underscript pair elements munder, mover and munderover.

Either true or false if present; a string controlling whether underscript is drawn as an accent or as a limit, if specified; this is the element's accentunder attribute. This must return null for an mover.

Either true or false if present; a string controlling whether overscript is drawn as an accent or as a limit, if specified; this is the element's accent attribute. This must return null for an munder.

A MathMLElement representing the base of the script. This is the first child of the element.

A MathMLElement representing the underscript of the script. This is the second child of a munder or munderover; retrieval must return null for an mover.

HIERARCHY_REQUEST_ERR: Raised when the element is a mover.

A MathMLElement representing the overscript of the script. This is the second child of a mover or the third child of a munderover; retrieval must return null for an munder.

HIERARCHY_REQUEST_ERR: Raised when the element is a munder.

This interface extends the MathMLPresentationElement interface for the MathML multiscripts (including prescripts or tensors) element mmultiscripts.

A string representing the minimum amount to shift the baseline of the subscripts down, if specified; this is the element's subscriptshift attribute.

A string representing the minimum amount to shift the baseline of the superscripts up, if specified; this is the element's superscriptshift attribute.

A MathMLElement representing the base of the script. This is the first child of the element.

A NodeList representing the prescripts of the script, which appear in the order described by the expression (prescript presuperscript)*. This is the same as traversing the contents of the NodeList returned by Node::childNodes() from the Node following the mprescripts (if present) to the end of the list.

A MathMLNodeList representing the scripts of the script, which appear in the order described by the expression (script superscript)*. This is the same as traversing the contents of the NodeList returned by Node::childNodes() from the first Node up to and including the Node preceding the mprescripts (if present).

The number of script/subscript columns preceding (to the left of) the base. Should always be half of getprescripts().length()

The number of script/subscript columns following (to the right of) the base. Should always be half of getscripts().length()

A convenience method to retrieve pre-subscript children of the element, referenced by column index .

Column index of prescript (where 1 represents the leftmost prescript column).

Returns the MathMLElement representing the colIndex-th presubscript (to the left of the base, counting from 1 at the far left). Note that this may be the MathMLElement corresponding to the special element none in the case of a missing presubscript (see the discussion of mmultiscripts), or it may be null if colIndex is out of range for the element.

A convenience method to retrieve subscript children of the element, referenced by column index.

Column index of script (where 1 represents the leftmost script column, the first to the right of the base).

Returns the MathMLElement representing the colIndex-th subscript to the right of the base. Note that this may be the MathMLElement corresponding to the special element none in the case of a missing subscript (see the discussion of mmultiscripts), or it may be null if colIndex is out of range for the element.

A convenience method to retrieve pre-superscript children of the element, referenced by column index .

Column index of pre-superscript (where 1 represents the leftmost prescript column).

Returns the MathMLElement representing the colIndex-th presuperscript (to the left of the base, counting from 1 at the far left). Note that this may be the MathMLElement corresponding to the special element none in the case of a missing presuperscript (see the discussion of mmultiscripts), or it may be null if colIndex is out of range for the element.

A convenience method to retrieve superscript children of the element, referenced by column index .

Column index of script (where 1 represents the leftmost script column, the first to the right of the base)

Returns the MathMLElement representing the colIndex-th superscript to the right of the base. Note that this may be the MathMLElement corresponding to the special element none in the case of a missing superscript (see the discussion of mmultiscripts), or it may be null if colIndex is out of range for the element.

A convenience method to insert a pre-subscript before the position referenced by column index. If colIndex is 0, the new pre-subscript is appended as the last pre-subscript of the mmultiscripts element; if colIndex is 1, a new pre-subscript is prepended at the far left. Note that inserting a new pre-subscript will cause the insertion of an empty pre-superscript in the same column.

Column index of pre-subscript (where 1 represents the leftmost prescript column).

A MathMLElement representing the element to be inserted as a pre-subscript.

The MathMLElement child of this MathMLMultiScriptsElement representing the new script in the DOM.

HIERARCHY_REQUEST_ERR: Raised if newScript represents an element that cannot be a pre-subscript.

INDEX_SIZE_ERR: Raised if colIndex is greater than the number of pre-scripts of the element.

A convenience method to set the pre-subscript child at the position referenced by colIndex. If there is currently a pre-subscript at this position, it is replaced by newScript.

Column index of pre-subscript (where 1 represents the leftmost prescript column).

MathMLElement representing the element that is to be set as the colIndex-th pre-subscript child of this element.

The MathMLElement child of this MathMLMultiScriptsElement representing the new pre-subscript in the DOM.

HIERARCHY_REQUEST_ERR: Raised if newScript represents an element that cannot be a pre-subscript.

INDEX_SIZE_ERR: Raised if colIndex is greater than one more than the number of pre-scripts of the element.

A convenience method to insert a subscript before the position referenced by column index. If colIndex is 0, the new subscript is appended as the last subscript of the mmultiscripts element; if colIndex is 1, a new subscript is prepended at the far left. Note that inserting a new subscript will cause the insertion of an empty superscript in the same column.

Column index of subscript, where 1 represents the leftmost script column (the first to the right of the base).

A MathMLElement representing the element to be inserted as a subscript.

The MathMLElement child of this MathMLMultiScriptsElement that represents the new subscript in the DOM.

HIERARCHY_REQUEST_ERR: Raised if newScript represents an element that cannot be a subscript.

INDEX_SIZE_ERR: Raised if colIndex is greater than the number of scripts of the element.

A convenience method to set the subscript child at the position referenced by colIndex. If there is currently a subscript at this position, it is replaced by newScript.

Column index of subscript, where 1 represents the leftmost script column (the first to the right of the base).

MathMLElement representing the element that is to be set as the colIndex-th subscript child of this element.

The MathMLElement child of this element representing the new subscript in the DOM.

HIERARCHY_REQUEST_ERR: Raised if newScript represents an element that cannot be a subscript.

INDEX_SIZE_ERR: Raised if colIndex is greater than one more than the number of scripts of the element.

A convenience method to insert a pre-superscript before the position referenced by column index. If colIndex is 0, the new pre-superscript is appended as the last pre-superscript of the mmultiscripts element; if colIndex is 1, a new pre-superscript is prepended at the far left. Note that inserting a new pre-superscript will cause the insertion of an empty pre-subscript in the same column.

Column index of pre-superscript (where 1 represents the leftmost prescript column).

A MathMLElement representing the element to be inserted as a pre-superscript.

The MathMLElement child of this element that represents the new pre-superscript in the DOM.

HIERARCHY_REQUEST_ERR: Raised if newScript represents an element that cannot be a pre-superscript.

INDEX_SIZE_ERR: Raised if colIndex is greater than the number of pre-scripts of the element.

A convenience method to set the pre-superscript child at the position referenced by colIndex. If there is currently a pre-superscript at this position, it is replaced by newScript.

Column index of pre-superscript (where 1 represents the leftmost prescript column).

MathMLElement representing the element that is to be set as the colIndex-th pre-superscript child of this element.

The MathMLElement child of this element that represents the new pre-superscript in the DOM.

HIERARCHY_REQUEST_ERR: Raised if newScript represents an element that cannot be a pre-superscript.

INDEX_SIZE_ERR: Raised if colIndex is greater than one more than the number of pre-scripts of the element.

A convenience method to insert a superscript before the position referenced by column index. If colIndex is 0, the new superscript is appended as the last superscript of the mmultiscripts element; if colIndex is 1, a new superscript is prepended at the far left. Note that inserting a new superscript will cause the insertion of an empty subscript in the same column.

Column index of superscript, where 1 represents the leftmost script column (the first to the right of the base).

A MathMLElement representing the element to be inserted as a superscript.

The MathMLElement child of this element that represents the new superscript in the DOM.

HIERARCHY_REQUEST_ERR: Raised if newScript represents an element that cannot be a superscript.

INDEX_SIZE_ERR: Raised if colIndex is greater than the number of scripts of the element.

A convenience method to set the superscript child at the position referenced by colIndex. If there is currently a superscript at this position, it is replaced by newScript.

Column index of superscript, where 1 represents the leftmost script column (the first to the right of the base).

MathMLElement representing the element that is to be set as the colIndex-th superscript child of this element.

The MathMLElement child of this element that represents the new superscript in the DOM.

HIERARCHY_REQUEST_ERR: Raised if newScript represents an element that cannot be a superscript.

INDEX_SIZE_ERR: Raised if colIndex is greater than one more than the number of scripts of the element.

This interface extends the MathMLPresentationElement interface for the MathML table or matrix element mtable.

A string representing the vertical alignment of the table with the adjacent text. Allowed values are (top | bottom | center | baseline | axis)[rownumber], where rownumber is between 1 and n (for a table with n rows) or -1 and -n.

A string representing the alignment of entries in each row, consisting of a space-separated sequence of alignment specifiers, each of which can have the following values: top, bottom, center, baseline, or axis.

A string representing the alignment of entries in each column, consisting of a space-separated sequence of alignment specifiers, each of which can have the following values: left, center, or right.

A string specifying how the alignment groups within the cells of each row are to be aligned with the corresponding items above or below them in the same column. The string consists of a sequence of braced group alignment lists. Each group alignment list is a space-separated sequence, each of which can have the following values: left, right, center, or decimalpoint.

A string consisting of the values true or false indicating, for each column, whether it can be used as an alignment scope.

A string consisting of a space-separated sequence of specifiers, each of which can have one of the following forms: auto, number h-unit, namedspace, or fit. (A value of the form namedspace is one of veryverythinmathspace, verythinmathspace, thinmathspace, mediummathspace, thickmathspace, verythickmathspace, or veryverythickmathspace.) This represents the element's columnwidth attribute.

A string that is either of the form number h-unit or is the string auto. This represents the element's width attribute.

A string consisting of a space-separated sequence of specifiers of the form number v-unit representing the space to be added between rows.

A string consisting of a space-separated sequence of specifiers of the form number h-unit representing the space to be added between columns.

A string specifying whether and what kind of lines should be added between each row. The string consists of a space-separated sequence of specifiers, each of which can have the following values: none, solid, or dashed.

A string specifying whether and what kind of lines should be added between each column. The string consists of a space-separated sequence of specifiers, each of which can have the following values: none, solid, or dashed.

A string specifying a frame around the table. Allowed values are (none | solid | dashed).

A string of the form number h-unit number v-unit specifying the spacing between table and its frame.

A string with the values true or false.

A string with the values true or false.

A string with the values true or false.

A string with the values left, right, leftoverlap, or rightoverlap.

A string of the form number h-unit, specifying the minimum space between a label and the adjacent entry in the labeled row.

A MathMLNodeList consisting of MathMLTableRowElements and MathMLLabeledRowElements representing the rows of the table. This is a live object.

A convenience method to insert a new (empty) row (mtr) in the table before the current index-th row. If index is less than 0, the new row is inserted before the -index-th row counting up from the current last row; if index is equal to the current number of rows, the new row is appended as the last row.

Position before which to insert the new row, where 0 represents the first row. Negative numbers are used to count backwards from the last row.

Returns the MathMLTableRowElement child of this MathMLTableElement that represents the new mtr element being inserted.

INDEX_SIZE_ERR: Raised if index is greater than the current number of rows of this mtable element or less than minus this number.

A convenience method to insert a new (empty) labeled row (mlabeledtr) in the table before the current index-th row. If index is less than 0, the new row is inserted before the -index-th row counting up from the current last row; if index is equal to the current number of rows, the new row is appended as the last row.

Position before which to insert the new row, where 0 represents the first row. Negative numbers are used to count backwards from the last row.

Returns the MathMLLabeledRowElement child of this MathMLTableElement representing the mtr element being inserted.

INDEX_SIZE_ERR: Raised if index is greater than the current number of rows of this mtable element or less than minus this number.

A convenience method to retrieve the index-th row from the table. If index is less than 0, the -index-th row from the bottom of the table is retrieved. (So, for instance, if index is -2, the next-to-last row is retrieved.) If index is not a valid value (i.e. is greater than or equal to the number of rows, or is less than minus the number of rows), a null MathMLTableRowElement is returned.

Index of the row to be returned, where 0 represents the first row. Negative numbers are used to count backwards from the last row.

Returns the MathMLTableRowElement representing the index-th row of the table.

A convenience method to insert the new row or labeled row (mtr or mlabeledtr) represented by newRow in the table before the current index-th row. If index is equal to the current number of rows, newRow is appended as the last row in the table. If index is less than 0, the new row is inserted before the -index-th row from the bottom of the table. (So, for instance, if index is -2, the new row is inserted before the next-to-last current row.)

Index before which to insert newRow, where 0 represents the first row. Negative numbers are used to count backwards from the current last row.

A MathMLTableRowElement or MathMLLabeledRowElement representing the row to be inserted.

The MathMLTableRowElement or MathMLLabeledRowElement child of this MathMLTableElement representing the mtr element being inserted.

HIERARCHY_REQUEST_ERR: Raised if newRow is not a MathMLTableRowElement or MathMLLabeledRowElement.

INDEX_SIZE_ERR: Raised if index is greater than the current number of rows or less than minus the current number of rows of this mtable element.

A method to set the value of the row in the table at the specified index to the mtr or mlabeledtr represented by newRow. If index is less than 0, the -index-th row counting up from the last is replaced by newRow; if index is one more than the current number of rows, the new row is appended as the last row in the table.

Index of the row to be set to newRow, where 0 represents the first row. Negative numbers are used to count backwards from the last row.

A MathMLTableRowElement representing the row that is to be the new index-th row.

Returns the MathMLTableRowElement or MathMLLabeledRowElement child of this element that represents the new row in the DOM.

HIERARCHY_REQUEST_ERR: Raised if newRow is not a MathMLTableRowElement or MathMLLabeledRowElement.

INDEX_SIZE_ERR: Raised if index is greater than the current number of rows of this mtable element or less than minus this number.

A convenience method to delete the row of the table at the specified index. If index is less than 0, the -index-th row from the bottom of the table is deleted. (So, for instance, if index is -2, the next-to-last row is deleted.)

Index of row to be deleted, where 0 represents the first row.

None.

INDEX_SIZE_ERR: Raised if index is greater than or equal to the current number of rows of this mtable element or less than minus this number.

A convenience method to delete the row of the table at the specified index and return it to the caller. If index is less than 0, the -index-th row from the bottom of the table is deleted. (So, for instance, if index is -2, the next-to-last row is deleted.)

Index of row to be removed, where 0 represents the first row.

A MathMLTableRowElement representing the row being deleted.

INDEX_SIZE_ERR: Raised if index is greater than or equal to the number of rows of this mtable element or less than minus this number.

This interface extends the MathMLPresentationElement interface for the MathML table or matrix row element mtr.

A string representing an override of the row alignment specified in the containing mtable. Allowed values are top, bottom, center, baseline, and axis.

A string representing an override of the column alignment specified in the containing mtable. Allowed values are left, center, and right.

[To be changed?]

A MathMLNodeList consisting of the cells of the row. Note that this does not include the label if this is a MathMLLabeledRowElement!

A convenience method to insert a new (empty) cell in the row.

Index of the cell before which the new cell is to be inserted, where the first cell is numbered 0. If index is equal to the current number of cells, the new cell is appended as the last cell of the row. Note that the index will differ from the index of the corresponding Node in the collection returned by Node::childNodes if this is a MathMLLabeledRowElement!

Returns the MathMLTableCellElement representing the mtd element being inserted.

INDEX_SIZE_ERR: Raised if index is greater than the current number of cells of this mtr element.

A convenience method to insert a new cell in the row.

A MathMLTableCellElement representing the new cell (mtd element) to be inserted.

Index of the cell before which the new cell is to be inserted, where the first cell is numbered 0. If index equals the current number of cells, the new cell is appended as the last cell of the row. Note that the index will differ from the index of the corresponding Node in Node::childNodes if this is a MathMLLabeledRowElement!

The MathMLTableCellElement representing the mtd element being inserted.

INDEX_SIZE_ERR: Raised if index is greater than the current number of cells of this mtr element.

A convenience method to set the value of a cell in the row to newCell. If index is equal to the current number of cells, newCell is appended as the last cell in the row.

A MathMLTableCellElement representing the cell (mtd element) that is to be inserted.

Index of the cell that is to be replaced by the new cell, where the first cell is numbered 0. Note that the index will differ from the index of the corresponding Node in the collection returned by Node::childNodes if this is a MathMLLabeledRowElement!

The MathMLTableCellElement child of this MathMLTableRowElement representing the new mtd element.

A convenience method to delete a cell in the row.

Index of cell to be deleted. Note that the count will differ from the index-th child node if this is a MathMLLabeledRowElement!

None.

This interface extends the MathMLTableRowElement interface to represent the mlabeledtr element . Note that the presence of a label causes the indexth child node to differ from the index-th cell!

A MathMLElement representing the label of this row. Note that retrieving this should have the same effect as a call to Node::getfirstChild(), while setting it should have the same effect as Node::replaceChild(Node::getfirstChild()).

NO_MODIFICATION_ALLOWED_ERR: Raised if this MathMLElement or the new MathMLElement is read-only.

This interface extends the MathMLPresentationContainer interface for the MathML table or matrix cell element mtd.

A string representing a positive integer that specifies the number of rows spanned by this cell. The default is 1.

A string representing a positive integer that specifies the number of columns spanned by this cell. The default is 1.

A string specifying an override of the inherited vertical alignment of this cell within the table row. Allowed values are top, bottom, center, baseline, and axis.

A string specifying an override of the inherited horizontal alignment of this cell within the table column. Allowed values are left, center, and right.

A string specifying how the alignment groups within the cell are to be aligned with those in cells above or below this cell. The string consists of a space-separated sequence of specifiers, each of which can have the following values: left, right, center, or decimalpoint.

A string with the values true or false indicating whether the cell contains align groups.

A string representing the integer index (1-based?) of the cell in its containing row. [What about spanning cells? How do these affect this value?]

This interface extends the MathMLPresentationElement interface for the MathML group -alignment element maligngroup.

A string specifying how the alignment group is to be aligned with other alignment groups above or below it. Allowed values are left, right, center, or decimalpoint.

This interface extends the MathMLPresentationElement interface for the MathML alignment mark element malignmark.

A string specifying alignment on the right edge of the preceding element or the left edge of the following element. Allowed values are left and right.

Content Elements

This interface is provided to serve as a base interface for various MathML Content interfaces. It contains no new attributes or methods at this time; however, it is felt that the distinction between Presentation and Content MathML entities should be indicated in the MathMLElement hierarchy. In particular, future versions of the MathML DOM may add functionality on this interface; it may also serve as an aid to implementors.

Content Token Interfaces

This is the interface from which the interfaces representing the MathML Content token elements (ci, cn and csymbol) are derived. These elements may contain MathML Presentation elements, Text nodes, or a combination of both. Thus the getArgument and insertArgument methods have been provided to deal with this distinction between these elements and other MathML Content elements.

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.

A URI pointing to a semantic definition for this content element. Note that there is no stipulation about the form this definition may take!

A string describing the syntax in which the definition located at definitionURL is given.

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.

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

The Node retrieved.

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.

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

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.

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

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.

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

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.

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

A convenience method to delete the argument child located at the position referenced by index.

Position of the argument to be deleted from the list of arguments. The first argument is numbered 1.

None.

A convenience method to delete the argument child located at the position referenced by index, and to return it to the caller.

Position of the argument to be deleted from the list of arguments. The first argument is numbered 1.

A Node representing the deleted argument.

The cn element is used to specify actual numeric constants.

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

A string representing an integer between 2 and 36; the base of the numerical representation.

The number of sep-separated arguments.

The ci element is used to specify a symbolic name.

Values include integer, rational, real, float, complex, complex-polar, complex-cartesian, constant, any of the MathML content container types (vector, matrix, set, list etc.) or their types.

This interface represents the csymbol element. Although it currently has no attributes or methods distinct from those of MathMLContentToken, a separate interface is provided to emphasize the conceptual role of the csymbol element.

Content Container Interfaces

We have added interfaces for content elements that are containers, i.e. elements that may contain child elements corresponding to arguments, bound variables, conditions, or lower or upper limits.

This interface supports the MathML Content elements that may contain child Content elements. The elements directly supported by MathMLContentContainer include: reln (deprecated), lambda, lowlimit, uplimit, degree, domainofapplication, and momentabout. Interfaces derived from MathMLContentContainer support the elements apply, fn, interval, condition, declare, bvar, set, list, vector, matrix, and matrixrow.

The number of bvar child elements of this element.

This attribute represents the condition child element of this node. See .

HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child condition element. In particular, raised if this element is not a apply, set, or list.

This attribute represents the degree child element of this node. This expresses, for instance, the degree of differentiation if this element is a bvar child of an apply element whose first child is a diff or partialdiff. If this is an apply element whose first child is a partialdiff, the opDegree attribute, if present, represents the total degree of differentiation. See .

HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child degree element. In particular, raised if this element is not a bvar or apply.

This attribute represents the domainofapplication child element of this node, if present. This may express, for instance, the domain of integration if this element is an apply element whose first child is an integral operator (int). See .

HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child domainofapplication element.

This attribute represents the momentabout child element of this node, if present. This typically expresses the point about which a statistical moment is to be calculated, if this element is an apply element whose first child is a moment. See .

HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child momentabout element. In particular, raised if this element is not an apply whose first child is a moment.

This method retrieves the index-th MathMLBvarElement child of the MathMLElement. Note that only bvar child elements are counted in determining the index-th bound variable.

The one-based index into the bound variable children of this element of the MathMLBvarElement to be retrieved.

The MathMLBvarElement representing the index-th bvar child of this element.

This method inserts a MathMLBvarElement as a child node before the current index-th bound variable child of this MathMLElement. If index is 0, newBVar is appended as the last bound variable child. This has the effect of adding a bound variable to the expression this element represents. Note that the new bound variable is inserted as the index-th bvar child node, not necessarily as the index-th child node. The point of the method is to allow insertion of bound variables without requiring the caller to calculate the exact order of child qualifier elements.

A MathMLBvarElement representing the bvar element being added.

The one-based index into the bound variable children of this element before which newBVar is to be inserted.

The MathMLBvarElement being added.

HIERARCHY_REQUEST_ERR: Raised if this element does not permit child bvar elements.

This method sets the index-th bound variable child of this MathMLElement to newBVar. This has the effect of setting a bound variable in the expression this element represents. Note that the new bound variable is inserted as the index-th bvar child node, not necessarily as the index-th child node. The point of the method is to allow insertion of bound variables without requiring the caller to calculate the exact order of child qualifier elements. If there is already a bvar at the index-th position, it is replaced by newBVar.

The new MathMLBvarElement child of this element being set.

The one-based index into the bound variable children of this element at which newBVar is to be inserted.

The MathMLBvarElement being set.

HIERARCHY_REQUEST_ERR: Raised if this element does not permit child bvar elements.

This method deletes the index-th MathMLBvarElement child of the MathMLElement. This has the effect of removing this bound variable from the list of qualifiers affecting the element this represents.

The one-based index into the bound variable children of this element of the MathMLBvarElement to be removed.

None.

This method removes the index-th MathMLBvarElement child of the MathMLElement and returns it to the caller. This has the effect of removing this bound variable from the list of qualifiers affecting the element this represents.

The one-based index into the bound variable children of this element of the MathMLBvarElement to be removed.

The MathMLBvarElement being removed.

The apply element allows a function or operator to be applied to its arguments.

The MathML element representing the function or operator that is applied to the list of arguments.

This attribute represents the lowlimit child element of this node (if any). This expresses, for instance, the lower limit of integration if this is an apply element whose first child is a int. See .

HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child lowlimit element. In particular, raised if this element is not an apply element whose first child is an int, sum, product, or limit element.

This attribute represents the uplimit child element of this node (if any). This expresses, for instance, the upper limit of integration if this is an apply element whose first child is a int. See .

HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child uplimit element. In particular, raised if this element is not an apply element whose first child is an int, sum, or product element.

The fn element makes explicit the fact that a more general MathML object is intended to be used in the same manner as if it were a pre-defined function such as sin or plus.

A URI pointing to a definition for this function-type element. Note that there is no stipulation about the form this definition may take!

A string describing the syntax in which the definition located at definitionURL is given.

The lambda element is used to construct a user-defined function from an expression and one or more free variables.

The MathMLElement representing the expression. This is included only as a convenience; getting it should give the same result as MathMLContentContainer::getArgument(1).

The set element is the container element that represents a set of elements. The elements of a set can be defined either by explicitly listing the elements, or by using the bvar and condition elements.

This is true if the set is specified by giving the list of its elements explicitly.

The type attribute of the represented element. Predefined values are normal and multiset. See and .

The list element is the container element which represents a list of elements. Elements can be defined either by explicitly listing the elements, or by using the bvar and condition elements.

This is true if the list is specified by giving its elements explicitly.

The order attribute of the represented element. Predefined values are numeric and lexicographic. See and .

This interface represents the MathML bound variable element bvar. The interface currently provides no functionality beyond that of MathMLContentContainer, but is useful for defining the type of bound variable access functions.

Content Leaf Element Interfaces

This interface supports all of the empty built-in operator, relation, function, and constant and symbol elements that have the definitionURL and encoding attributes in addition to the standard set of attributes. The elements supported in order of their appearance in are: inverse, compose, ident, domain, codomain, image, quotient, exp, factorial, divide, max, min, minus, plus, power, rem, times, root, gcd, and, or, xor, not, implies, forall, exists, abs, conjugate, arg, real, imaginary, lcm, floor, ceiling, eq, neq, gt, lt, geq, leq, equivalent, approx, factorof, ln, log, int, diff, partialdiff, divergence, grad, curl, laplacian, union, intersect, in, notin, subset, prsubset, notsubset, notprsubset, setdiff, card, cartesianproduct, sum, product, limit, tendsto, sin, cos, tan, sec, csc, cot, sinh, cosh, tanh, sech, csch, coth, arcsin, arccos, arctan, arcsec, arccsc, arccot, arcsinh, arccosh, arctanh, arcsech, arccsch, arccoth, mean, sdev, variance, median, mode, moment, determinant, transpose, selector, vectorproduct, scalarproduct, outerproduct, integers, reals, rationals, naturalnumbers, complexes, primes, exponentiale, imaginaryi, notanumber, true, false, emptyset, pi, eulergamma, and infinity.

A string that provides an override to the default semantics, or provides a more specific definition

A string describing the syntax in which the definition located at definitionURL is given.

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

A string giving the name of the MathML element represented. This is a convenience attribute only; accessing it should be synonymous with accessing the Element::tagName attribute.

Other Content Element Interfaces

The interval element is used to represent simple mathematical intervals on the real number line. It contains either two child elements that evaluate to real numbers or one child element that is a condition for defining membership in the interval.

A string with value open, closed, open-closed or closed-open. The default value is closed.

A MathMLContentElement representing the real number defining the start of the interval. If end has not already been set, it becomes the same as start until set otherwise.

A MathMLContentElement representing the real number defining the end of the interval. If start has not already been set, it becomes the same as end until set otherwise.

The condition element is used to place a condition on one or more free variables or identifiers.

A MathMLApplyElement that represents the condition.

The declare construct has two primary roles. The first is to change or set the default attribute values for a specific mathematical object. The second is to establish an association between a name and an object.

A string indicating the type of the identifier. It must be compatible with the type of the constructor, if a constructor is present. The type is inferred from the constructor if present, otherwise it must be specified.

If the identifier is a function, this attribute specifies the number of arguments the function takes. This represents the declare element's nargs attribute; see .

A string with the values prefix, infix, postfix, or function-model.

A URI specifying the detailed semantics of the element.

A description of the syntax used in definitionURL.

A MathMLCiElement representing the name being declared.

An optional MathMLElement providing an initial value for the object being declared.

vector is the container element for a vector.

The number of components in the vector.

A convenience method to retrieve a component.

Position of the component in the list of components. The first element is numbered 1.

The MathMLContentElement component at the position specified by index. If index is not a valid index (i.e. is greater than the number of components of the vector or less than 1), a null MathMLContentElement is returned.

A convenience method to insert a new component in the vector before the current index-th component. If index is 0 or is one more than the number of components currently in the vector, newComponent is appended as the last component of the vector.

A MathMLContentElement representing the component that is to be added.

Position of the component in the list of components. The first component is numbered 1.

The MathMLContentElement child of this MathMLVectorElement representing the new component in the DOM.

INDEX_SIZE_ERR: Raised if index is greater than one more than the current number of components of this vector element.

A convenience method to set the index-th component of the vector to newComponent. If index is one more than the current number of components, newComponent is appended as the last component.

A MathMLContentElement representing the element that is to be the index-th component of the vector.

Position of the component in the list of components. The first element is numbered 1.

The MathMLContentElement child of this MathMLVectorElement that represents the new component in the DOM.

INDEX_SIZE_ERR: Raised if index is greater than one more than the current number of components of this vector element.

A convenience method to delete an element. The deletion changes the indices of the following components.

Position of the component in the vector. The position of the first component is 1

None

INDEX_SIZE_ERR: Raised if index is greater than the current number of components of this vector element.

A convenience method to remove a component from a vector and return it to the caller. If index is greater than the number of components or is 0, a null MathMLContentElement is returned.

Position of the component in the list of components. The first element is numbered 1.

The MathMLContentElement component being removed.

The matrix element is the container element for matrixrow elements.

The number of rows in the represented matrix.

The number of columns in the represented matrix.

The rows of the matrix, returned as a MathMLNodeList consisting of MathMLMatrixrowElements.

A convenience method to retrieve a specified row.

Position of the row in the list of rows. The first row is numbered 1.

The MathMLMatrixrowElement representing the index-th row.

INDEX_SIZE_ERR: Raised if index is greater than the number of rows in the matrix.

A convenience method to insert a row before the row that is currently the index-th row of this matrix. If index is 0, newRow is appended as the last row of the matrix.

MathMLMatrixrowElement to be inserted into the matrix.

Unsigned integer giving the row position before which newRow is to be inserted. The first row is numbered 1.

The MathMLMatrixrowElement added. This is the new element within the DOM.

INDEX_SIZE_ERR: Raised if index is greater than one more than the number of rows in the matrix.

HIERARCHY_REQUEST_ERR: Raised if the number of cells in newRow doesn't match the number of columns in the matrix.

A convenience method to set the value of the index-th child matrixrow element of this element. If there is already a row at the specified index, it is replaced by newRow.

MathMLMatrixrowElement representing the matrixrow which is to become the index-th row of the matrix.

Unsigned integer giving the row which is to be set to newRow. The first row is numbered 1.

The MathMLMatrixrowElement child of this MathMLMatrixrowElement representing newRow within the DOM.

INDEX_SIZE_ERR: Raised if index is greater than the number of rows in the matrix.

HIERARCHY_REQUEST_ERR: Raised if the number of cells in newRow doesn't match the number of columns in the matrix.

A convenience method to delete a row. The deletion changes the indices of the following rows.

Position of the row to be deleted in the list of rows

None

INDEX_SIZE_ERR: Raised if index is greater than the number of rows in the matrix.

A convenience method to remove a row and return it to the caller. The deletion changes the indices of the following rows.

Position of the row to be removed in the list of rows. The first row is numbered 1.

The MathMLMatrixrowElement being removed.

INDEX_SIZE_ERR: Raised if index is greater than the number of rows in the matrix.

The matrixrow element is the container element for the elements of a matrix.

The number of entries in the row.

A convenience method to retrieve the contents of an entry by index.

Position of the entry in the row. The first entry is numbered 1.

The MathMLContentElement element representing the index-th entry in the row.

INDEX_SIZE_ERR: Raised if index is greater than the number of entries in the row.

A convenience method to insert an entry before the current index-th entry of the row. If index is 0, newEntry is appended as the last entry. Note that this method increases the size of the matrixrow.

The MathMLContentElement to be representing the new entry to be inserted into the row.

The index before which newEntry is to be inserted in the row. The first entry is numbered 1.

The MathMLContentElement child of this MathMLMatrixrowElement representing newEntry in the DOM.

INDEX_SIZE_ERR: Raised if index is greater than the number of entries in the row.

A convenience method to set the contents of the entry at position index in the row to newEntry. If there is already a entry at the specified index, it is replaced by the new entry.

The MathMLContentElement representing the element that is to be the index-th entry.

The index of the entry that is to be set equal to newEntry. The first entry is numbered 1.

The MathMLContentElement child of this MathMLMatrixRowElement representing newEntry in the DOM.

INDEX_SIZE_ERR: Raised if index is greater than one more than the number of elements in the row.

A convenience method to delete an entry. The deletion changes the indices of the following entries.

Position of the entry to be deleted in the row. The first entry is numbered 1.

None

INDEX_SIZE_ERR: Raised if index is greater than the number of entries in the row.

A convenience method to remove an entry from the row and return the removed entry to the caller.

Position of the entry to be removed from the row. The first entry is numbered 1.

The MathMLContentElement being removed from the row.

INDEX_SIZE_ERR: Raised if index is greater than the number of entries in the row.

The piecewise element represents the piecewise definition of a function. It contains child piece elements, each represented by a MathMLCaseElement, giving the various conditions and associated function value specifications in the function definition, and an optional otherwise child element, represented by a MathMLContentElement, giving the default value of the function - that is, the value to be assigned when none of the conditions specified in the piece child elements hold.

A MathMLNodeList containing one MathMLCaseElement representing each of the piece element children of this MathMLPiecewiseElement. The otherwise child (if present) is not contained in this MathMLNodeList.

Returns a MathMLContentElement representing the value to be taken by the piecewise function when none of the conditions described in the piece children is true.

A convenience method to retrieve the child piece at the position referenced by index.

Position of desired case in the list of cases. The first piece is numbered 1; the otherwise child (if present) is not counted, regardless of its position. If index is greater than the number of pieces, a null MathMLCaseElement is returned; no error is generated.

The MathMLCaseElement retrieved.

A convenience method to set the value of the child piece at the position referenced by index to the value of case.

Position of the piece to be set to case. The first piece is numbered 1; the otherwise child (if present) is not counted, regardless of its position. If there is currently a piece at this position, it will be replaced by case. If index is one more than the number of piece child elements, a new one will be appended.

A MathMLCaseElement representing the new value of the indexth piece child.

The new MathMLCaseElement created.

INDEX_SIZE_ERR: Raised if index is greater than one more than the number of pieces in this element.

A convenience method to delete the child piece at the position referenced by index. The deletion changes the indices of the following pieces.

Position of the piece to be deleted. The first piece is numbered 1; the otherwise child (if present) is not counted, regardless of its position.

None.

INDEX_SIZE_ERR: Raised if index is greater than the number of pieces in this element.

A convenience method to remove the child piece at the position referenced by index and return it to the caller. The removal changes the indices of the following pieces.

Position of the piece to be removed. The first piece is numbered 1; the otherwise child (if present) is not counted, regardless of its position.

The MathMLCaseElement removed.

INDEX_SIZE_ERR: Raised if index is greater than the number of pieces in this element.

A convenience method to insert a new piece child into this element.

Position before which case is to be inserted. If index is 0, newCase is appended as the last piece child of this element. The otherwise child (if present) is not counted, regardless of its position.

A MathMLCaseElement representing the piece to be inserted.

The new MathMLCaseElement inserted. This is the actual Element in the DOM.

INDEX_SIZE_ERR: Raised if index is greater one more than the number of pieces in this element.

A convenience method to retrieve the child of the indexth piece in this element which specifies the function value for that case.

Position of the piece whose value is being requested in the list of pieces. The first piece is numbered 1; the otherwise child (if present) is not counted, regardless of its position.

The MathMLContentElement representing the value to be taken by the function in the indexth case.

INDEX_SIZE_ERR: Raised if index is greater than the number of pieces in this element.

A convenience method to set the function value for the indexth piece in this element.

Position of the piece whose value is being set in the list of pieces. The first piece is numbered 1; the otherwise child (if present) is not counted, regardless of its position.

A MathMLContentElement representing the function value to be assigned in the indexth case.

The MathMLContentElement representing the value to be taken by the function in the indexth case.

INDEX_SIZE_ERR: Raised if index is greater than the number of pieces in this element.

A convenience method to retrieve the child of the piece at the position referenced by index which gives the condition for this case.

Position of the piece whose condition is being requested in the list of pieces. The first piece is numbered 1; the otherwise child (if present) is not counted, regardless of its position.

The MathMLContentElement representing the condition to be satisfied for the indexth case.

INDEX_SIZE_ERR: Raised if index is greater than the number of pieces in this element.

A convenience method to set the condition for the indexth piece in this element.

Position of the piece whose condition is being set in the list of pieces. The first piece is numbered 1; the otherwise child (if present) is not counted, regardless of its position.

A MathMLContentElement representing the condition to be associated to the indexth case.

The MathMLContentElement which is inserted as the condition child of the indexth piece.

INDEX_SIZE_ERR: Raised if index is greater than the number of pieces in this element.

The piece element represents one of a sequence of cases used in the piecewise definition of a function. It contains two child elements, each represented by a MathMLContentElement. The first child determines the subset of the domain affected, normally by giving a condition to be satisfied. The second gives the value of the function over the indicated subset of its domain.

Accesses the MathMLContentElement representing the condition to be satisfied in order for this branch of the piecewise definition to be used.

Accesses the MathMLContentElement representing the value to be taken by the piecewise function when the condition described by caseCondition is true.

MathML DOM Tables Chart of MathML DOM Inheritance Table of Elements and MathML DOM Representations
MathML ElementMathML DOM Interface
math MathMLMathElement
mi MathMLPresentationToken
mn MathMLPresentationToken
mo MathMLOperatorElement
mtext MathMLPresentationToken
mspace MathMLSpaceElement
ms MathMLStringLitElement
mglyph MathMLGlyphElement
mrow MathMLPresentationContainer
mfrac MathMLFractionElement
msqrt MathMLRadicalElement
mroot MathMLRadicalElement
mstyle MathMLStyleElement
merror MathMLPresentationContainer
mpadded MathMLPaddedElement
mphantom MathMLPresentationContainer
mfenced MathMLFencedElement
menclose MathMLEncloseElement
msub MathMLScriptElement
msup MathMLScriptElement
msubsup MathMLScriptElement
munder MathMLUnderOverElement
mover MathMLUnderOverElement
munderover MathMLUnderOverElement
mmultiscripts MathMLMultiScriptsElement
mtable MathMLTableElement
mlabeledtr MathMLLabeledRowElement
mtr MathMLTableRowElement
mtd MathMLTableCellElement
maligngroup MathMLAlignGroupElement
malignmark MathMLAlignMarkElement
maction MathMLActionElement
cn MathMLCnElement
ci MathMLCiElement
csymbol MathMLCsymbolElement
apply MathMLApplyElement
reln MathMLContentContainer
fn MathMLFnElement
interval MathMLIntervalElement
inverse MathMLPredefinedSymbol
condition MathMLConditionElement
declare MathMLDeclareElement
lambda MathMLLambdaElement
compose MathMLPredefinedSymbol
ident MathMLPredefinedSymbol
domain MathMLPredefinedSymbol
codomain MathMLPredefinedSymbol
image MathMLPredefinedSymbol
domainofapplication MathMLContentContainer
piecewise MathMLPiecewiseElement
piece MathMLCaseElement
otherwise MathMLContentContainer
quotient MathMLPredefinedSymbol
exp MathMLPredefinedSymbol
factorial MathMLPredefinedSymbol
divide MathMLPredefinedSymbol
max MathMLPredefinedSymbol
min MathMLPredefinedSymbol
minus MathMLPredefinedSymbol
plus MathMLPredefinedSymbol
power MathMLPredefinedSymbol
rem MathMLPredefinedSymbol
times MathMLPredefinedSymbol
root MathMLPredefinedSymbol
gcd MathMLPredefinedSymbol
and MathMLPredefinedSymbol
or MathMLPredefinedSymbol
xor MathMLPredefinedSymbol
not MathMLPredefinedSymbol
implies MathMLPredefinedSymbol
forall MathMLPredefinedSymbol
exists MathMLPredefinedSymbol
abs MathMLPredefinedSymbol
conjugate MathMLPredefinedSymbol
arg MathMLPredefinedSymbol
real MathMLPredefinedSymbol
imaginary MathMLPredefinedSymbol
lcm MathMLPredefinedSymbol
floor MathMLPredefinedSymbol
ceiling MathMLPredefinedSymbol
eq MathMLPredefinedSymbol
neq MathMLPredefinedSymbol
gt MathMLPredefinedSymbol
lt MathMLPredefinedSymbol
geq MathMLPredefinedSymbol
leq MathMLPredefinedSymbol
equivalent MathMLPredefinedSymbol
approx MathMLPredefinedSymbol
factorof MathMLPredefinedSymbol
int MathMLPredefinedSymbol
diff MathMLPredefinedSymbol
partialdiff MathMLPredefinedSymbol
lowlimit MathMLContentContainer
uplimit MathMLContentContainer
bvar MathMLBvarElement
degree MathMLContentContainer
divergence MathMLPredefinedSymbol
grad MathMLPredefinedSymbol
curl MathMLPredefinedSymbol
laplacian MathMLPredefinedSymbol
set MathMLSetElement
list MathMLListElement
union MathMLPredefinedSymbol
intersect MathMLPredefinedSymbol
in MathMLPredefinedSymbol
notin MathMLPredefinedSymbol
subset MathMLPredefinedSymbol
prsubset MathMLPredefinedSymbol
notsubset MathMLPredefinedSymbol
notprsubset MathMLPredefinedSymbol
setdiff MathMLPredefinedSymbol
card MathMLPredefinedSymbol
cartesianproduct MathMLPredefinedSymbol
sum MathMLPredefinedSymbol
product MathMLPredefinedSymbol
limit MathMLPredefinedSymbol
tendsto MathMLPredefinedSymbol
exp MathMLPredefinedSymbol
ln MathMLPredefinedSymbol
log MathMLPredefinedSymbol
sin MathMLPredefinedSymbol
cos MathMLPredefinedSymbol
tan MathMLPredefinedSymbol
sec MathMLPredefinedSymbol
csc MathMLPredefinedSymbol
cot MathMLPredefinedSymbol
sinh MathMLPredefinedSymbol
cosh MathMLPredefinedSymbol
tanh MathMLPredefinedSymbol
sech MathMLPredefinedSymbol
csch MathMLPredefinedSymbol
coth MathMLPredefinedSymbol
arcsin MathMLPredefinedSymbol
arccos MathMLPredefinedSymbol
arctan MathMLPredefinedSymbol
arccosh MathMLPredefinedSymbol
arccot MathMLPredefinedSymbol
arccoth MathMLPredefinedSymbol
arccsc MathMLPredefinedSymbol
arccsch MathMLPredefinedSymbol
arcsec MathMLPredefinedSymbol
arcsech MathMLPredefinedSymbol
arcsinh MathMLPredefinedSymbol
arctanh MathMLPredefinedSymbol
mean MathMLPredefinedSymbol
sdev MathMLPredefinedSymbol
variance MathMLPredefinedSymbol
median MathMLPredefinedSymbol
mode MathMLPredefinedSymbol
moment MathMLPredefinedSymbol
momentabout MathMLContentContainer
vector MathMLVectorElement
matrix MathMLMatrixElement
matrixrow MathMLMatrixRowElement
determinant MathMLPredefinedSymbol
transpose MathMLPredefinedSymbol
selector MathMLPredefinedSymbol
vectorproduct MathMLPredefinedSymbol
scalarproduct MathMLPredefinedSymbol
outerproduct MathMLPredefinedSymbol
annotation MathMLAnnotationElement
semantics MathMLSemanticsElement
annotation-xml MathMLXMLAnnotationElement
integers MathMLPredefinedSymbol
reals MathMLPredefinedSymbol
rationals MathMLPredefinedSymbol
naturalnumbers MathMLPredefinedSymbol
complexes MathMLPredefinedSymbol
primes MathMLPredefinedSymbol
exponentiale MathMLPredefinedSymbol
imaginaryi MathMLPredefinedSymbol
notanumber MathMLPredefinedSymbol
true MathMLPredefinedSymbol
false MathMLPredefinedSymbol
emptyset MathMLPredefinedSymbol
pi MathMLPredefinedSymbol
eulergamma MathMLPredefinedSymbol
infinity MathMLPredefinedSymbol