The following sections describe the interfaces that have been defined in the Document Object Model for MathML. Please refer to Chapter 8 Document Object Model for MathML for more information.
Bindings for IDL, Java and ECMAScript are located in Appendix E MathML Document Object Model Bindings.
Extends: 
                         DOMImplementation
This interface extends the DOMImplementation interface by adding a method to create a MathMLDocument.
IDL Definition
interface MathMLDOMImplementation: DOMImplementation {
  MathMLDocument createMathMLDocument();
};Methods
createMathMLDocumentCreates 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.
                     
Return value
| MathMLDocument | The MathMLDocument created. | 
This method raises no exceptions.
Extends: 
                         Document
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.
               
IDL Definition
interface MathMLDocument: Document {
  readonly attribute DOMString referrer;
  readonly attribute DOMString domain;
  readonly attribute DOMString URI;
};Attributes
referrer of type
                         DOMString, readonly
                  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.
domain of type
                         DOMString, readonly
                  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.
URI of type
                         DOMString, readonly
                  The complete URI of this document. This is null if this is not a stand-alone MathML document.
Extends: 
                         NodeList
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.
IDL Definition
interface MathMLNodeList: NodeList {
};Extends: 
                         Element
All MathML element interfaces derive from this object, which derives from the basic DOM interface Element.
IDL Definition
interface MathMLElement: Element {
  attribute DOMString className;
  attribute DOMString mathElementStyle;
  attribute DOMString id;
  attribute DOMString xref;
  attribute DOMString href;
  readonly attribute MathMLMathElement ownerMathElement;
};Attributes
className of type
                         DOMStringThe class attribute of the element. See
                        the discussion elsewhere in this document of the class attribute; see also the
                        HTML definition of this attribute.
                     
mathElementStyle of type
                         DOMStringA string identifying the element's style 
                        attribute.
                     
id of type
                         DOMStringThe element's identifier. See the discussion elsewhere in this
                        document of the id
                        attribute; see also the HTML definition.
                     
xref of type
                         DOMStringThe xref attribute of the element. See
                        the discussion elsewhere in this document of the xref attribute.
                     
href of type
                         DOMStringThe 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.
                     
ownerMathElement of type
                         MathMLMathElement, readonly
                  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.
IDL Definition
interface MathMLContainer {
  readonly attribute unsigned long nArguments;
  readonly attribute MathMLNodeList arguments;
  readonly attribute MathMLNodeList declarations;
  MathMLElement getArgument(in unsigned long index);
  MathMLElement setArgument(in MathMLElement newArgument, in unsigned long index);
  MathMLElement insertArgument(in MathMLElement newArgument, in unsigned long index);
  void deleteArgument(in unsigned long index);
  MathMLElement removeArgument(in unsigned long index);
  MathMLDeclareElement getDeclaration(in unsigned long index);
  MathMLDeclareElement setDeclaration(in MathMLDeclareElement newDeclaration, in unsigned long index);
  MathMLDeclareElement insertDeclaration(in MathMLDeclareElement newDeclaration, in unsigned long index);
  MathMLDeclareElement removeDeclaration(in unsigned long index);
  void deleteDeclaration(in unsigned long index);
};Attributes
nArguments of type
                         unsigned long, readonly
                  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).
                     
arguments of type
                         MathMLNodeList, readonly
                  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.
                     
declarations of type
                         MathMLNodeList, readonly
                  Provides access to the declare elements
                        which are children of this element, in a MathMLNodeList. All 
                        Nodes in this list must be MathMLDeclareElements.
                     
Methods
getArgumentThis 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.
                     
Parameters
| unsigned long | index | The one-based index of the argument to be retrieved. | 
Return value
| MathMLElement | A MathMLElement representing the index-th argument of this element. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than the number of child elements.
setArgumentThis 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.
                     
Parameters
| MathMLElement | newArgument | A MathMLElement representing the element that is to be set as the index-th argument of this element. | 
| unsigned long | index | 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. | 
Return value
| MathMLElement | The MathMLElement child of this element that represents the new argument in the DOM. | 
Exceptions
DOMExceptionHIERARCHY_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.
insertArgumentThis 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.
                     
Parameters
| MathMLElement | newArgument | A MathMLElement representing the element that is to be inserted as a child argument of this element. | 
| unsigned long | index | The one-based index of the position before which newArgument is to be inserted. The first argument is numbered 1. | 
Return value
| MathMLElement | The MathMLElement child of this element that represents the new argument in the DOM. | 
Exceptions
DOMExceptionHIERARCHY_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.
deleteArgumentThis 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.
                     
Parameters
| unsigned long | index | The one-based index of the argument to be deleted. | 
Return value
| void | None. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than the number of child elements.
removeArgumentThis 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.
                     
Parameters
| unsigned long | index | The one-based index of the argument to be removed. | 
Return value
| MathMLElement | A MathMLElement representing the argument being removed. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than the number of child elements.
getDeclarationThis method retrieves the index-th child 
                        declare element of this element.
                     
Parameters
| unsigned long | index | A one-based index into the list of 
                                 child  | 
Return value
| MathMLDeclareElement | The MathMLDeclareElement representing 
                                 the index-th child  | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than
                              the number of child declare elements.
                           
setDeclarationThis 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.
                     
Parameters
| MathMLDeclareElement | newDeclaration | A MathMLDeclareElement to be
                                 inserted as the index-th child  | 
| unsigned long | index | A one-based index into the list of 
                                 child  | 
Return value
| MathMLDeclareElement | The MathMLDeclareElement being inserted. | 
Exceptions
DOMExceptionINDEX_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.
                           
insertDeclarationThis 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.
                     
Parameters
| MathMLDeclareElement | newDeclaration | A MathMLDeclareElement to be inserted as the 
                                 index-th child  | 
| unsigned long | index | A one-based index into the list of 
                                 child  | 
Return value
| MathMLDeclareElement | The MathMLDeclareElement child of this element representing newDeclaration in the DOM. | 
Exceptions
DOMExceptionINDEX_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.
                           
removeDeclarationThis 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.
                     
Parameters
| unsigned long | index | The one-based index of the  | 
Return value
| MathMLDeclareElement | The MathMLDeclareElement being removed as a child Node of this element. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than
                              the number of child declare elements.
                           
deleteDeclarationThis 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.
                     
Parameters
| unsigned long | index | The one-based index of the  | 
Return value
| void | None. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than
                              the number of child declare elements.
                           
Extends: 
                         MathMLElement, MathMLContainer
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.
IDL Definition
interface MathMLMathElement: MathMLElement, MathMLContainer {
  attribute DOMString macros;
  attribute DOMString display;
};Attributes
macros of type
                         DOMStringRepresents the macros 
                        attribute of the math element. See 
                        Section 7.1.2 The Top-Level 
                           math Element.
                     
display of type
                         DOMStringRepresents the display 
                        attribute of the math element. This value is either
                        "block" or "inline". See 
                        Section 7.1.2 The Top-Level 
                           math Element.
                     
Extends: 
                         MathMLElement
This interface represents the semantics
                  element in MathML.
               
IDL Definition
interface MathMLSemanticsElement: MathMLElement {
  attribute MathMLElement body;
  readonly attribute unsigned long nAnnotations;
  MathMLElement getAnnotation(in unsigned long index);
  MathMLElement insertAnnotation(in MathMLElement newAnnotation, in unsigned long index);
  MathMLElement setAnnotation(in MathMLElement newAnnotation, in unsigned long index);
  void deleteAnnotation(in unsigned long index);
  MathMLElement removeAnnotation(in unsigned long index);
};Attributes
body of type
                         MathMLElementThis attribute represents the first child of the semantics element, i.e. the child giving the
                        "primary" content represented by the element.
                     
nAnnotations of type
                         unsigned long, readonly
                  Represents the number of annotation or annotation-xml children of 
                        the semantics element, i.e. the number of alternate content forms
                        for this element.
                     
Methods
getAnnotationThis method gives access to the index-th 
                        "alternate" content associated with a semantics element.
                     
Parameters
| unsigned long | index | The one-based index of the annotation being retrieved. | 
Return value
| MathMLElement | The MathMLAnnotationElement or
                                 MathMLXMLAnnotationElement representing the index-th 
                                  | 
This method raises no exceptions.
insertAnnotationThis 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.
                     
Parameters
| MathMLElement | newAnnotation | A MathMLAnnotationElement or 
                                 MathMLXMLAnnotationElement representing the new  | 
| unsigned long | index | The position in the list of  | 
Return value
| MathMLElement | The MathMLAnnotationElement or MathMLXMLAnnotationElement child of this element that represents the new annotation in the DOM. | 
Exceptions
DOMExceptionHIERARCHY_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.
                           
setAnnotationThis 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.
                     
Parameters
| MathMLElement | newAnnotation | A MathMLAnnotationElement or 
                                 MathMLXMLAnnotationElement representing the new value of the index-th  | 
| unsigned long | index | The position in the list of 
                                  | 
Return value
| MathMLElement | The MathMLAnnotationElement or MathMLXMLAnnotationElement child of this element that represents the new annotation in the DOM. | 
Exceptions
DOMExceptionHIERARCHY_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.
                           
deleteAnnotationA convenience method to delete the index-th 
                        "alternate" content associated with this semantics element.
                     
Parameters
| unsigned long | index | The one-based index of the annotation being deleted. | 
Return value
| void | None. | 
This method raises no exceptions.
removeAnnotationA convenience method to delete the index-th 
                        "alternate" content associated with this semantics element, and to return it to the caller.
                     
Parameters
| unsigned long | index | The one-based index of the annotation being deleted. | 
Return value
| MathMLElement | The MathMLAnnotationElement or MathMLXMLAnnotationElement being deleted. | 
This method raises no exceptions.
Extends: 
                         MathMLElement
This interface represents the annotation
                  element of MathML.
                  
               
IDL Definition
interface MathMLAnnotationElement: MathMLElement {
  attribute DOMString body;
  attribute DOMString encoding;
};Attributes
body of type
                         DOMStringProvides access to the content of an annotation
                        element.
                     
encoding of type
                         DOMStringProvides access to the encoding
                        attribute of an annotation element.
                     
Extends: 
                         MathMLElement
This interface represents the annotation-xml 
                  element of MathML.
               
IDL Definition
interface MathMLXMLAnnotationElement: MathMLElement {
  attribute DOMString encoding;
};Attributes
Extends: 
                         MathMLElement
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.
IDL Definition
interface MathMLPresentationElement: MathMLElement {
};Extends: 
                            MathMLPresentationElement
This interface supports the mglyph element
                     Section 3.2.9 Accessing glyphs for
                        characters from MathML 
                          (mglyph).
                     
                  
IDL Definition
interface MathMLGlyphElement: MathMLPresentationElement {
  attribute DOMString alt;
  attribute DOMString fontfamily;
  attribute unsigned long index;
};Attributes
alt of type
                            DOMStringA string giving an alternate name for the character.  Represents
                           the mglyph's alt
                           attribute.
                        
fontfamily of type
                            DOMStringA string representing the font family.
index of type
                            unsigned longAn unsigned integer giving the glyph's position within the font.
Extends: 
                            MathMLPresentationElement
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.
                     
                  
IDL Definition
interface MathMLSpaceElement: MathMLPresentationElement {
  attribute DOMString width;
  attribute DOMString height;
  attribute DOMString depth;
  attribute DOMString linebreak;
};Attributes
width of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the width 
                           attribute for the mspace element, if specified.
                        
height of type
                            DOMStringA string of the form "number 
                           v-unit"; represents the height 
                           attribute for the mspace element, if specified.
                        
depth of type
                            DOMStringA string of the form "number 
                           v-unit"; represents the depth 
                           attribute for the mspace element, if specified.
                        
linebreak of type
                            DOMStringOne of the strings "auto", "newline", "indentingnewline", "nobreak", "goodbreak" and "badbreak". This attribute gives a linebreaking hint to the renderer.
Interfaces representing the MathML Presentation token elements that may have content are described here.
Extends: 
                            MathMLPresentationElement
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:
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
                            DOMStringThe 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
                            DOMStringThe mathsize attribute for the element, if
                           specified. Either "small", "normal" or "big", or of the
                           form "number v-unit".
                        
mathcolor of type
                            DOMStringThe 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 Section 3.2.2.2 Color-related attributes.
                        
mathbackground of type
                            DOMStringThe mathbackground attribute for the element, if 
                           specified. The DOMString returned should be in one of the forms "#rgb" or "#rrggbb", or an 
                           html-color-name, as specified in Section 3.2.2.2 Color-related attributes, or the keyword "transparent".
                        
contents of type
                            MathMLNodeList, readonly
                     Returns the child Nodes of the element. These should consist only of Text nodes, MathMLGlyphElements, and MathMLAlignMarkElements. Should behave the same as the base class's Node::childNodes attribute; however, it is provided here for clarity.
Extends: 
                            MathMLPresentationToken
This interface extends the MathMLPresentationToken
                     interface for the MathML operator element mo.
                     
                  
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
                            DOMStringThe form attribute ("prefix", 
                           "infix" or "postfix") for the 
                           mo element, if specified.
                        
fence of type
                            DOMStringThe fence attribute 
                           ("true" or "false")
                           for the mo element, if specified.
                        
separator of type
                            DOMStringThe separator attribute 
                           ("true" or "false") for the 
                           mo element, if specified.
                        
lspace of type
                            DOMStringThe lspace attribute (spacing to left) of
                           the mo element, if specified.
                        
rspace of type
                            DOMStringThe rspace attribute (spacing to right) of the
                           mo element, if specified.
                        
stretchy of type
                            DOMStringThe stretchy attribute 
                           ("true" or "false") for the 
                           mo element, if specified.
                        
symmetric of type
                            DOMStringThe symmetric attribute 
                           ("true" or "false") for the 
                           mo element, if specified.
                        
maxsize of type
                            DOMStringThe maxsize attribute for the
                           mo element, if specified.
                        
minsize of type
                            DOMStringThe minsize attribute for the
                           mo element, if specified.
                        
largeop of type
                            DOMStringThe largeop attribute for the
                           mo element, if specified.
                        
movablelimits of type
                            DOMStringThe movablelimits 
                           ("true" or "false") attribute for the
                           mo element, if specified.
                        
accent of type
                            DOMStringThe accent attribute 
                           ("true" or "false") for the 
                           mo element, if specified.
                        
Extends: 
                            MathMLPresentationToken
This interface extends the MathMLPresentationToken
                     interface for the MathML string literal element 
                     ms.
                     
                  
IDL Definition
interface MathMLStringLitElement: MathMLPresentationToken {
  attribute DOMString lquote;
  attribute DOMString rquote;
};Attributes
lquote of type
                            DOMStringA string giving the opening delimiter for the string literal; 
                           represents the lquote attribute for the 
                           ms element, if specified.
                        
rquote of type
                            DOMStringA string giving the closing delimiter for the string literal; 
                           represents the rquote attribute for the 
                           ms element, if specified.
                        
Interfaces designed to represent MathML Presentation elements that can contain arbitrary numbers of child MathMLElements are included under the heading of Presentation Container Elements.
Extends: 
                            MathMLPresentationElement, MathMLContainer
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.
                  
IDL Definition
interface MathMLPresentationContainer: MathMLPresentationElement, MathMLContainer {
};Extends: 
                            MathMLPresentationContainer
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.
                     
                  
IDL Definition
interface MathMLStyleElement: MathMLPresentationContainer {
  attribute DOMString scriptlevel;
  attribute DOMString displaystyle;
  attribute DOMString scriptsizemultiplier;
  attribute DOMString scriptminsize;
  attribute DOMString color;
  attribute DOMString background;
  attribute DOMString veryverythinmathspace;
  attribute DOMString verythinmathspace;
  attribute DOMString thinmathspace;
  attribute DOMString mediummathspace;
  attribute DOMString thickmathspace;
  attribute DOMString verythickmathspace;
  attribute DOMString veryverythickmathspace;
  attribute DOMString negativeveryverythinmathspace;
  attribute DOMString negativeverythinmathspace;
  attribute DOMString negativethinmathspace;
  attribute DOMString negativemediummathspace;
  attribute DOMString negativethickmathspace;
  attribute DOMString negativeverythickmathspace;
  attribute DOMString negativeveryverythickmathspace;
};Attributes
scriptlevel of type
                            DOMStringA string of the form "+/- unsigned 
                              integer"; represents the scriptlevel 
                           attribute for the mstyle element, if specified. See 
                           also the discussion of this attribute.
                        
displaystyle of type
                            DOMStringEither "true" or "false"; 
                           a string representing the displaystyle attribute for the 
                           mstyle element, if specified. See also the discussion
                           of this attribute.
                        
scriptsizemultiplier of type
                            DOMStringA string of the form "number";
                           represents the scriptsizemultiplier attribute for the 
                           mstyle element, if specified. See also the discussion
                           of this attribute.
                        
scriptminsize of type
                            DOMStringA string of the form "number 
                           v-unit"; represents the 
                           scriptminsize attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
background of type
                            DOMStringA 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.
                        
veryverythinmathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "veryverythinmathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
verythinmathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "verythinmathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
thinmathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "thinmathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
mediummathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "mediummathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
thickmathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "thickmathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
verythickmathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "verythickmathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
veryverythickmathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "veryverythickmathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
negativeveryverythinmathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "negativeveryverythinmathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
negativeverythinmathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "negativeverythinmathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
negativethinmathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "negativethinmathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
negativemediummathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "negativemediummathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
negativethickmathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "negativethickmathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
negativeverythickmathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "negativeverythickmathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
negativeveryverythickmathspace of type
                            DOMStringA string of the form "number 
                           h-unit"; represents the 
                           "negativeveryverythickmathspace" attribute for the 
                           mstyle element, if specified. See also the discussion 
                           of this attribute.
                        
Extends: 
                            MathMLPresentationContainer
This interface extends the MathMLElement interface for 
                     the MathML spacing adjustment element 
                     mpadded.
                     
                  
IDL Definition
interface MathMLPaddedElement: MathMLPresentationContainer {
  attribute DOMString width;
  attribute DOMString lspace;
  attribute DOMString height;
  attribute DOMString depth;
};Attributes
width of type
                            DOMStringA string representing the total width of the 
                           mpadded element, if specified. See also the discussion
                           of this attribute.
                        
lspace of type
                            DOMStringA string representing the lspace attribute - 
                           the additional space to the left - of the mpadded
                           element, if specified. See also the discussion of this 
                           attribute.
                        
height of type
                            DOMStringA string representing the height above the 
                           baseline of the mpadded element, if specified. See 
                           also the discussion of this attribute.
                        
depth of type
                            DOMStringA string representing the depth beneath the 
                           baseline of the mpadded element, if specified. See 
                           also the discussion of this attribute.
                        
Extends: 
                            MathMLPresentationContainer
This interface extends the
                     MathMLPresentationContainer interface for the MathML
                     fenced content element mfenced.
                     
                  
IDL Definition
interface MathMLFencedElement: MathMLPresentationContainer {
  attribute DOMString open;
  attribute DOMString close;
  attribute DOMString separators;
};Attributes
open of type
                            DOMStringA string representing the opening-fence for the 
                           mfenced element, if specified; this is the element's 
                           open attribute.
                        
close of type
                            DOMStringA string representing the closing-fence for the 
                           mfenced element, if specified; this is the element's 
                           close attribute.
                        
separators of type
                            DOMStringA string representing any separating characters inside the 
                           mfenced element, if specified; this is the element's 
                           separators attribute.
                        
Extends: 
                            MathMLPresentationContainer
This interface supports the menclose
                     element Section 3.3.9 Enclose Expression Inside Notation
                          (menclose).
                     
                  
IDL Definition
interface MathMLEncloseElement: MathMLPresentationContainer {
  attribute DOMString notation;
};Attributes
notation of type
                            DOMStringA string giving a name for the notation enclosing 
                           the element's contents. Represents the notation attribute
                           of the menclose. Any string is allowed as a value; predefined values include 
                           "longdiv", "actuarial", "radical",
                           "box", "roundedbox", "circle",
                           "left", "right", "top",
                           "bottom", "updiagonalstrike", "downdiagonalstrike",
                           "verticalstrike", "horizontalstrike", or combinations of
                           these strings separated by whitespace (see Section 3.3.9 Enclose Expression Inside Notation
                                (menclose)).
                        
Extends: 
                            MathMLPresentationContainer
This interface extends the 
                     MathMLPresentationContainer interface for the MathML 
                     enlivening expression element maction.
                     
                  
IDL Definition
interface MathMLActionElement: MathMLPresentationContainer {
  attribute DOMString actiontype;
  attribute DOMString selection;
};Attributes
Extends: 
                            MathMLPresentationElement
This interface extends the MathMLPresentationElement interface for 
                     the MathML fraction element mfrac.
                     
                  
IDL Definition
interface MathMLFractionElement: MathMLPresentationElement {
  attribute DOMString linethickness;
  attribute DOMString numalign;
  attribute DOMString denomalign;
  attribute DOMString bevelled;
  attribute MathMLElement numerator;
  attribute MathMLElement denominator;
};Attributes
linethickness of type
                            DOMStringA string representing the linethickness 
                           attribute of the mfrac, if specified.
                        
numalign of type
                            DOMStringOne of the strings "left", "center" 
                           and "right". Represents the numalign attribute of 
                           the mfrac, if specified.
                        
denomalign of type
                            DOMStringOne of the strings "left", "center" 
                           and "right". Represents the denomalign attribute of 
                           the mfrac, if specified.
                        
bevelled of type
                            DOMStringOne of the strings "true" and "false". 
                           Represents the bevelled attribute of the mfrac, if specified.
                           
                        
numerator of type
                            MathMLElementThe first child MathMLElement of the MathMLFractionElement; represents the numerator of the represented fraction.
denominator of type
                            MathMLElementThe second child MathMLElement of the MathMLFractionElement; represents the denominator of the represented fraction.
Extends: 
                            MathMLPresentationElement
This interface extends the MathMLPresentationElement interface for 
                     the MathML radical and square root elements 
                     mroot and msqrt.
                     
                  
IDL Definition
interface MathMLRadicalElement: MathMLPresentationElement {
  attribute MathMLElement radicand;
  attribute MathMLElement index;
};Attributes
radicand of type
                            MathMLElementThe first child MathMLElement of the MathMLRadicalElement; represents the base of the represented radical.
index of type
                            MathMLElementThe second child MathMLElement of the 
                           MathMLRadicalElement; represents the index of the
                           represented radical. This must be null for 
                           msqrt elements.
                        
Extends: 
                            MathMLPresentationElement
This interface extends the MathMLPresentationElement interface for 
                     the MathML subscript, superscript and 
                     subscript-superscript pair elements
                     msub, msup, and 
                     msubsup.
                     
                  
IDL Definition
interface MathMLScriptElement: MathMLPresentationElement {
  attribute DOMString subscriptshift;
  attribute DOMString superscriptshift;
  attribute MathMLElement base;
  attribute MathMLElement subscript;
  attribute MathMLElement superscript;
};Attributes
subscriptshift of type
                            DOMStringA 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.
                        
superscriptshift of type
                            DOMStringA 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.
                        
base of type
                            MathMLElementA MathMLElement representing the base of the script. This is the first child of the element.
subscript of type
                            MathMLElementA MathMLElement representing the subscript
                           of the script. This is the second child of a msub 
                           or msubsup; retrieval must return null
                           for an msup.
                        
Exceptions on Setting
DOMExceptionHIERARCHY_REQUEST_ERR: Raised when the element is 
                                 a msup.
                              
superscript of type
                            MathMLElementA 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.
                        
Exceptions on Setting
DOMExceptionHIERARCHY_REQUEST_ERR: Raised when the element is 
                                 a msub.
                              
Extends: 
                            MathMLPresentationElement
This interface extends the MathMLPresentationElement interface for 
                     the MathML underscript, overscript and 
                     overscript-underscript pair elements 
                     munder, mover and 
                     munderover.
                     
                  
IDL Definition
interface MathMLUnderOverElement: MathMLPresentationElement {
  attribute DOMString accentunder;
  attribute DOMString accent;
  attribute MathMLElement base;
  attribute MathMLElement underscript;
  attribute MathMLElement overscript;
};Attributes
accentunder of type
                            DOMStringEither "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.
                        
accent of type
                            DOMStringEither "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.
                        
base of type
                            MathMLElementA MathMLElement representing the base of the script. This is the first child of the element.
underscript of type
                            MathMLElementA MathMLElement representing the 
                           underscript of the script. This is the second child of a 
                           munder or munderover;
                           retrieval must return null for an mover.
                        
Exceptions on Setting
DOMExceptionHIERARCHY_REQUEST_ERR: Raised when the element is a 
                                 mover.
                              
overscript of type
                            MathMLElementA 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.
                        
Exceptions on Setting
DOMExceptionHIERARCHY_REQUEST_ERR: Raised when the element is a 
                                 munder.
                              
Extends: 
                            MathMLPresentationElement
This interface extends the MathMLPresentationElement interface for 
                     the MathML multiscripts (including prescripts or 
                     tensors) element mmultiscripts.
                     
                  
IDL Definition
interface MathMLMultiScriptsElement: MathMLPresentationElement {
  attribute DOMString subscriptshift;
  attribute DOMString superscriptshift;
  attribute MathMLElement base;
  readonly attribute MathMLNodeList prescripts;
  readonly attribute MathMLNodeList scripts;
  readonly attribute unsigned long numprescriptcolumns;
  readonly attribute unsigned long numscriptcolumns;
  MathMLElement getPreSubScript(in unsigned long colIndex);
  MathMLElement getSubScript(in unsigned long colIndex);
  MathMLElement getPreSuperScript(in unsigned long colIndex);
  MathMLElement getSuperScript(in unsigned long colIndex);
  MathMLElement insertPreSubScriptBefore(in unsigned long colIndex, in MathMLElement newScript);
  MathMLElement setPreSubScriptAt(in unsigned long colIndex, in MathMLElement newScript);
  MathMLElement insertSubScriptBefore(in unsigned long colIndex, in MathMLElement newScript);
  MathMLElement setSubScriptAt(in unsigned long colIndex, in MathMLElement newScript);
  MathMLElement insertPreSuperScriptBefore(in unsigned long colIndex, in MathMLElement newScript);
  MathMLElement setPreSuperScriptAt(in unsigned long colIndex, in MathMLElement newScript);
  MathMLElement insertSuperScriptBefore(in unsigned long colIndex, in MathMLElement newScript);
  MathMLElement setSuperScriptAt(in unsigned long colIndex, in MathMLElement newScript);
};Attributes
subscriptshift of type
                            DOMStringA string representing the minimum amount to shift the baseline of 
                           the subscripts down, if specified; this is the element's
                           subscriptshift attribute.
                        
superscriptshift of type
                            DOMStringA string representing the minimum amount to shift the baseline of 
                           the superscripts up, if specified; this is the element's
                           superscriptshift attribute.
                        
base of type
                            MathMLElementA MathMLElement representing the base of the script. This is the first child of the element.
prescripts of type
                            MathMLNodeList, readonly
                     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.
                        
scripts of type
                            MathMLNodeList, readonly
                     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).
                        
numprescriptcolumns of type
                            unsigned long, readonly
                     The number of script/subscript columns preceding (to the left of) 
                           the base. Should always be half of 
                           getprescripts().length()
numscriptcolumns of type
                            unsigned long, readonly
                     The number of script/subscript columns following (to the right 
                           of) the base. Should always be half of 
                           getscripts().length()
Methods
getPreSubScriptA convenience method to retrieve pre-subscript children of the element, referenced by column index .
Parameters
| unsigned long | colIndex | Column index of prescript (where 1 represents the leftmost prescript column). | 
Return value
| MathMLElement | 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 
                                     | 
This method raises no exceptions.
getSubScriptA convenience method to retrieve subscript children of the element, referenced by column index.
Parameters
| unsigned long | colIndex | Column index of script (where 1 represents the leftmost script column, the first to the right of the base). | 
Return value
| MathMLElement | 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 
                                     | 
This method raises no exceptions.
getPreSuperScriptA convenience method to retrieve pre-superscript children of the element, referenced by column index .
Parameters
| unsigned long | colIndex | Column index of pre-superscript (where 1 represents the leftmost prescript column). | 
Return value
| MathMLElement | 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 
                                     | 
This method raises no exceptions.
getSuperScriptA convenience method to retrieve superscript children of the element, referenced by column index .
Parameters
| unsigned long | colIndex | Column index of script (where 1 represents the leftmost script column, the first to the right of the base) | 
Return value
| MathMLElement | 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 
                                     | 
This method raises no exceptions.
insertPreSubScriptBeforeA 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.
                        
Parameters
| unsigned long | colIndex | Column index of pre-subscript (where 1 represents the leftmost prescript column). | 
| MathMLElement | newScript | A MathMLElement representing the element to be inserted as a pre-subscript. | 
Return value
| MathMLElement | The MathMLElement child of this MathMLMultiScriptsElement representing the new script in the DOM. | 
Exceptions
DOMExceptionHIERARCHY_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.
setPreSubScriptAtA 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.
Parameters
| unsigned long | colIndex | Column index of pre-subscript (where 1 represents the leftmost prescript column). | 
| MathMLElement | newScript | MathMLElement representing the element that is to be set as the colIndex-th pre-subscript child of this element. | 
Return value
| MathMLElement | The MathMLElement child of this MathMLMultiScriptsElement representing the new pre-subscript in the DOM. | 
Exceptions
DOMExceptionHIERARCHY_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.
insertSubScriptBeforeA 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.
                        
Parameters
| unsigned long | colIndex | Column index of subscript, where 1 represents the leftmost script column (the first to the right of the base). | 
| MathMLElement | newScript | A MathMLElement representing the element to be inserted as a subscript. | 
Return value
| MathMLElement | The MathMLElement child of this MathMLMultiScriptsElement that represents the new subscript in the DOM. | 
Exceptions
DOMExceptionHIERARCHY_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.
setSubScriptAtA 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.
Parameters
| unsigned long | colIndex | Column index of subscript, where 1 represents the leftmost script column (the first to the right of the base). | 
| MathMLElement | newScript | MathMLElement representing the element that is to be set as the colIndex-th subscript child of this element. | 
Return value
| MathMLElement | The MathMLElement child of this element representing the new subscript in the DOM. | 
Exceptions
DOMExceptionHIERARCHY_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.
insertPreSuperScriptBeforeA 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.
                        
Parameters
| unsigned long | colIndex | Column index of pre-superscript (where 1 represents the leftmost prescript column). | 
| MathMLElement | newScript | A MathMLElement representing the element to be inserted as a pre-superscript. | 
Return value
| MathMLElement | The MathMLElement child of this element that represents the new pre-superscript in the DOM. | 
Exceptions
DOMExceptionHIERARCHY_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.
setPreSuperScriptAtA 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.
Parameters
| unsigned long | colIndex | Column index of pre-superscript (where 1 represents the leftmost prescript column). | 
| MathMLElement | newScript | MathMLElement representing the element that is to be set as the colIndex-th pre-superscript child of this element. | 
Return value
| MathMLElement | The MathMLElement child of this element that represents the new pre-superscript in the DOM. | 
Exceptions
DOMExceptionHIERARCHY_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.
insertSuperScriptBeforeA 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.
                        
Parameters
| unsigned long | colIndex | Column index of superscript, where 1 represents the leftmost script column (the first to the right of the base). | 
| MathMLElement | newScript | A MathMLElement representing the element to be inserted as a superscript. | 
Return value
| MathMLElement | The MathMLElement child of this element that represents the new superscript in the DOM. | 
Exceptions
DOMExceptionHIERARCHY_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.
setSuperScriptAtA 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.
Parameters
| unsigned long | colIndex | Column index of superscript, where 1 represents the leftmost script column (the first to the right of the base). | 
| MathMLElement | newScript | MathMLElement representing the element that is to be set as the colIndex-th superscript child of this element. | 
Return value
| MathMLElement | The MathMLElement child of this element that represents the new superscript in the DOM. | 
Exceptions
DOMExceptionHIERARCHY_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.
Extends: 
                            MathMLPresentationElement
This interface extends the MathMLPresentationElement
                     interface for the MathML table 
                        or matrix element mtable.
                     
                  
IDL Definition
interface MathMLTableElement: MathMLPresentationElement {
  attribute DOMString align;
  attribute DOMString rowalign;
  attribute DOMString columnalign;
  attribute DOMString groupalign;
  attribute DOMString alignmentscope;
  attribute DOMString columnwidth;
  attribute DOMString width;
  attribute DOMString rowspacing;
  attribute DOMString columnspacing;
  attribute DOMString rowlines;
  attribute DOMString columnlines;
  attribute DOMString frame;
  attribute DOMString framespacing;
  attribute DOMString equalrows;
  attribute DOMString equalcolumns;
  attribute DOMString displaystyle;
  attribute DOMString side;
  attribute DOMString minlabelspacing;
  readonly attribute MathMLNodeList rows;
  MathMLTableRowElement insertEmptyRow(in long index);
  MathMLLabeledRowElement insertEmptyLabeledRow(in long index);
  MathMLTableRowElement getRow(in long index);
  MathMLTableRowElement insertRow(in long index, in MathMLTableRowElement newRow);
  MathMLTableRowElement setRow(in long index, in MathMLTableRowElement newRow);
  void deleteRow(in long index);
  MathMLTableRowElement removeRow(in long index);
};Attributes
align of type
                            DOMStringA 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.
rowalign of type
                            DOMStringA 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".
columnalign of type
                            DOMStringA 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".
groupalign of type
                            DOMStringA 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".
alignmentscope of type
                            DOMStringA string consisting of the values "true" or "false" indicating, for each column, whether it can be used as an alignment scope.
columnwidth of type
                            DOMStringA 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.
                        
width of type
                            DOMStringA string that is either of the form 
                           number h-unit or is the string "auto".
                           This represents the element's width attribute.
                        
rowspacing of type
                            DOMStringA string consisting of a space-separated sequence of specifiers of the form number v-unit representing the space to be added between rows.
columnspacing of type
                            DOMStringA string consisting of a space-separated sequence of specifiers of the form number h-unit representing the space to be added between columns.
rowlines of type
                            DOMStringA 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".
columnlines of type
                            DOMStringA 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".
frame of type
                            DOMStringA string specifying a frame around the table. Allowed values are (none | solid | dashed).
framespacing of type
                            DOMStringA string of the form number h-unit number v-unit specifying the spacing between table and its frame.
equalrows of type
                            DOMStringA string with the values "true" or "false".
equalcolumns of type
                            DOMStringA string with the values "true" or "false".
displaystyle of type
                            DOMStringA string with the values "true" or "false".
side of type
                            DOMStringA string with the values "left", "right", "leftoverlap", or "rightoverlap".
minlabelspacing of type
                            DOMStringA string of the form number h-unit, specifying the minimum space between a label and the adjacent entry in the labeled row.
rows of type
                            MathMLNodeList, readonly
                     A MathMLNodeList consisting of MathMLTableRowElements and MathMLLabeledRowElements representing the rows of the table. This is a live object.
Methods
insertEmptyRowA 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.
                        
Parameters
| long | index | 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. | 
Return value
| MathMLTableRowElement | Returns the MathMLTableRowElement 
                                    child of this MathMLTableElement that represents the new 
                                     | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater 
                                 than the current number of rows of this mtable 
                                 element or less than minus this number.
                              
insertEmptyLabeledRowA 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.
                        
Parameters
| long | index | 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. | 
Return value
| MathMLLabeledRowElement | Returns the MathMLLabeledRowElement child of this MathMLTableElement representing the 
                                     | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater 
                                 than the current number of rows of this mtable 
                                 element or less than minus this number.
                              
getRowA 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.
Parameters
| long | index | Index of the row to be returned, where 0 represents the first row. Negative numbers are used to count backwards from the last row. | 
Return value
| MathMLTableRowElement | Returns the MathMLTableRowElement representing the index-th row of the table. | 
This method raises no exceptions.
insertRowA 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.)
                        
Parameters
| long | index | Index before which to insert newRow, where 0 represents the first row. Negative numbers are used to count backwards from the current last row. | 
| MathMLTableRowElement | newRow | A MathMLTableRowElement or MathMLLabeledRowElement representing the row to be inserted. | 
Return value
| MathMLTableRowElement | The MathMLTableRowElement or 
                                    MathMLLabeledRowElement child of this MathMLTableElement representing the  | 
Exceptions
DOMExceptionHIERARCHY_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.
                              
setRowA 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.
                        
Parameters
| long | index | 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. | 
| MathMLTableRowElement | newRow | A MathMLTableRowElement representing the row that is to be the new index-th row. | 
Return value
| MathMLTableRowElement | Returns the MathMLTableRowElement or MathMLLabeledRowElement child of this element that represents the new row in the DOM. | 
Exceptions
DOMExceptionHIERARCHY_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.
                              
deleteRowA 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.)
Parameters
| long | index | Index of row to be deleted, where 0 represents the first row. | 
Return value
| void | None. | 
Exceptions
DOMExceptionINDEX_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.
                              
removeRowA 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.)
Parameters
| long | index | Index of row to be removed, where 0 represents the first row. | 
Return value
| MathMLTableRowElement | A MathMLTableRowElement representing the row being deleted. | 
Exceptions
DOMExceptionINDEX_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.
                              
Extends: 
                            MathMLPresentationElement
This interface extends the MathMLPresentationElement 
                     interface for the MathML table or matrix row element mtr.
                     
                  
IDL Definition
interface MathMLTableRowElement: MathMLPresentationElement {
  attribute DOMString rowalign;
  attribute DOMString columnalign;
  attribute DOMString groupalign;
  readonly attribute MathMLNodeList cells;
  MathMLTableCellElement insertEmptyCell(in unsigned long index);
  MathMLTableCellElement insertCell(in MathMLTableCellElement newCell, in unsigned long index);
  MathMLTableCellElement setCell(in MathMLTableCellElement newCell, in unsigned long index);
  void deleteCell(in unsigned long index);
};Attributes
rowalign of type
                            DOMStringA string representing an override of the row alignment specified in 
                           the containing mtable. Allowed values are 
                           "top",
                           "bottom",
                           "center",
                           "baseline", and
                           "axis".
                        
columnalign of type
                            DOMStringA string representing an override of the column alignment specified in 
                           the containing mtable. Allowed values are 
                           "left",
                           "center", and
                           "right".
                        
groupalign of type
                            DOMStringA 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".
cells of type
                            MathMLNodeList, readonly
                     A MathMLNodeList consisting of the cells of the row. Note that this does not include the label if this is a MathMLLabeledRowElement!
Methods
insertEmptyCellA convenience method to insert a new (empty) cell in the row.
Parameters
| unsigned long | index | 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! | 
Return value
| MathMLTableCellElement | Returns the MathMLTableCellElement 
                                    representing the  | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater 
                                 than the current number of cells of this mtr 
                                 element.
                              
insertCellA convenience method to insert a new cell in the row.
Parameters
| MathMLTableCellElement | newCell | A MathMLTableCellElement
                                    representing the new cell ( | 
| unsigned long | index | 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! | 
Return value
| MathMLTableCellElement | The MathMLTableCellElement 
                                    representing the  | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater 
                                 than the current number of cells of this mtr 
                                 element.
                              
setCellA 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.
Parameters
| MathMLTableCellElement | newCell | A MathMLTableCellElement
                                    representing the cell ( | 
| unsigned long | index | 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! | 
Return value
| MathMLTableCellElement | The MathMLTableCellElement 
                                    child of this MathMLTableRowElement representing the new
                                     | 
This method raises no exceptions.
deleteCellA convenience method to delete a cell in the row.
Parameters
| unsigned long | index | Index of cell to be deleted. Note that the count will differ from the index-th child node if this is a MathMLLabeledRowElement! | 
Return value
| void | None. | 
This method raises no exceptions.
Extends: 
                            MathMLTableRowElement
This interface extends the MathMLTableRowElement 
                     interface to represent the mlabeledtr element 
                     Section 3.5.3 Labeled Row in Table or Matrix
                          (mlabeledtr). Note that the presence of a label
                        causes the indexth child node to differ from the index-th 
                        cell!
                     
                  
IDL Definition
interface MathMLLabeledRowElement: MathMLTableRowElement {
  attribute MathMLElement label;
};Attributes
label of type
                            MathMLElementA 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()).
                        
Exceptions on Setting
DOMExceptionNO_MODIFICATION_ALLOWED_ERR: Raised if this MathMLElement or the new MathMLElement is read-only.
Extends: 
                            MathMLPresentationContainer
This interface extends the MathMLPresentationContainer 
                     interface for the MathML table or matrix cell element mtd. 
                     
                  
IDL Definition
interface MathMLTableCellElement: MathMLPresentationContainer {
  attribute DOMString rowspan;
  attribute DOMString columnspan;
  attribute DOMString rowalign;
  attribute DOMString columnalign;
  attribute DOMString groupalign;
  readonly attribute boolean hasaligngroups;
  readonly attribute DOMString cellindex;
};Attributes
rowspan of type
                            DOMStringA string representing a positive integer that specifies the number of rows spanned by this cell. The default is 1.
columnspan of type
                            DOMStringA string representing a positive integer that specifies the number of columns spanned by this cell. The default is 1.
rowalign of type
                            DOMStringA 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".
columnalign of type
                            DOMStringA string specifying an override of the inherited horizontal alignment of this cell within the table column. Allowed values are "left", "center", and "right".
groupalign of type
                            DOMStringA 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".
hasaligngroups of type
                            boolean, readonly
                     A string with the values "true" or "false" indicating whether the cell contains align groups.
cellindex of type
                            DOMString, readonly
                     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?]
Extends: 
                            MathMLPresentationElement
This interface extends the MathMLPresentationElement interface for 
                     the MathML group -alignment element <maligngroup/>.
                     
                  
IDL Definition
interface MathMLAlignGroupElement: MathMLPresentationElement {
  attribute DOMString groupalign;
};Attributes
groupalign of type
                            DOMStringA 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".
Extends: 
                            MathMLPresentationElement
This interface extends the MathMLPresentationElement interface for 
                     the MathML alignment mark element 
                     <malignmark/>.
                     
                  
IDL Definition
interface MathMLAlignMarkElement: MathMLPresentationElement {
  attribute DOMString edge;
};Attributes
edge of type
                            DOMStringA 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".
Extends: 
                         MathMLElement
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.
IDL Definition
interface MathMLContentElement: MathMLElement {
};Extends: 
                            MathMLContentElement
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.
                     
                  
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, in Node newArgument);
  Node setArgument(in Node newArgument, in unsigned long index, in Node newArgument);
  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
                            DOMStringA 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
                            DOMStringA string describing the syntax in which the definition
                           located at definitionURL is given.
                        
Methods
getArgumentA convenience method to retrieve the child 
                           argument at the position referenced by index. Note that this is
                           not necessarily the same as the index-th child Node
                           of this Element; in particular, sep
                           elements will not be counted.
                        
Parameters
| unsigned long | index | Position of desired argument in the list of arguments. The first argument is numbered 1. | 
Return value
| Node | The Node retrieved. | 
This method raises no exceptions.
insertArgumentA 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
| Node | newArgument | Node to be inserted as the index-th argument. This will either be a MathMLElement or a Text node. | 
| unsigned long | index | 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  | 
Return value
| Node | The Node inserted. This is the element within the DOM. | 
This method raises no exceptions.
setArgumentA 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
| Node | newArgument | Node to be inserted as the argument. This will either be a MathMLElement or a Text node. | 
| unsigned long | index | 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  | 
Return value
| Node | The Node inserted. This is the element within the DOM. | 
This method raises no exceptions.
deleteArgumentA convenience method to delete the argument child located at the position referenced by index.
Parameters
| unsigned long | index | Position of the argument to be deleted from the list of arguments. The first argument is numbered 1. | 
Return value
| void | None. | 
This method raises no exceptions.
removeArgumentA convenience method to delete the argument child located at the position referenced by index, and to return it to the caller.
Parameters
| unsigned long | index | Position of the argument to be deleted from the list of arguments. The first argument is numbered 1. | 
Return value
| Node | A Node representing the deleted argument. | 
This method raises no exceptions.
Extends: 
                            MathMLContentToken
The cn element is used to specify actual 
                     numeric constants.
                     
                  
IDL Definition
interface MathMLCnElement: MathMLContentToken {
  attribute DOMString type;
  attribute DOMString base;
  readonly attribute unsigned long nargs;
};Attributes
type of type
                            DOMStringValues include, but are not restricted to, "e-notation", "integer", "rational", "real", "complex", "complex-polar", "complex-cartesian", and "constant".
base of type
                            DOMStringA string representing an integer between 2 and 36; the base of the numerical representation.
nargs of type
                            unsigned long, readonly
                     The number of sep-separated arguments.
                        
Extends: 
                            MathMLContentToken
The ci element is used to specify a symbolic
                     name.
                     
                  
IDL Definition
interface MathMLCiElement: MathMLContentToken {
  attribute DOMString type;
};Attributes
type of type
                            DOMStringValues include "integer", "rational", "real", "complex", "complex-polar", "complex-cartesian", "constant", "function", any of the MathML content container types ("vector", "matrix", "set", "list" etc.) or their types.
Extends: 
                            MathMLContentToken
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.
                     
                  
IDL Definition
interface MathMLCsymbolElement: MathMLContentToken {
};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.
Extends: 
                            MathMLContentElement, MathMLContainer
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.
                     
                  
IDL Definition
interface MathMLContentContainer: MathMLContentElement, MathMLContainer {
  readonly attribute unsigned long nBoundVariables;
  attribute MathMLConditionElement condition;
  attribute MathMLElement opDegree;
  attribute MathMLElement domainOfApplication;
  attribute MathMLElement momentAbout;
  MathMLBvarElement getBoundVariable(in unsigned long index);
  MathMLBvarElement insertBoundVariable(in MathMLBvarElement newBVar, in unsigned long index);
  MathMLBvarElement setBoundVariable(in MathMLBvarElement newBVar, in unsigned long index);
  void deleteBoundVariable(in unsigned long index);
  MathMLBvarElement removeBoundVariable(in unsigned long index);
};Attributes
nBoundVariables of type
                            unsigned long, readonly
                     The number of bvar 
                           child elements of this element.
                        
condition of type
                            MathMLConditionElementThis attribute represents the condition child 
                           element of this node. See  Section 4.2.3.2 Operators taking Qualifiers.
                        
Exceptions on Setting
DOMExceptionHIERARCHY_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.
                              
opDegree of type
                            MathMLElementThis 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  Section 4.2.3.2 Operators taking Qualifiers.
                        
Exceptions on Setting
DOMExceptionHIERARCHY_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.
                              
domainOfApplication of type
                            MathMLElementThis 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 Section 4.2.3.2 Operators taking Qualifiers.
                        
Exceptions on Setting
DOMExceptionHIERARCHY_REQUEST_ERR: Raised if this element does not permit a child
                                 domainofapplication element.
                              
momentAbout of type
                            MathMLElementThis 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 
                           Section 4.2.3.2 Operators taking Qualifiers.
                        
Exceptions on Setting
DOMExceptionHIERARCHY_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.
                              
Methods
getBoundVariableThis 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.
                        
Parameters
| unsigned long | index | The one-based index into the bound variable children of this element of the MathMLBvarElement to be retrieved. | 
Return value
| MathMLBvarElement | The MathMLBvarElement representing
                                    the index-th  | 
This method raises no exceptions.
insertBoundVariableThis 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.
                        
Parameters
| MathMLBvarElement | newBVar | A MathMLBvarElement representing
                                    the  | 
| unsigned long | index | The one-based index into the bound variable children of this element before which newBVar is to be inserted. | 
Return value
| MathMLBvarElement | The MathMLBvarElement being added. | 
Exceptions
DOMExceptionHIERARCHY_REQUEST_ERR: Raised if this element does not permit child 
                                 bvar elements.
                              
setBoundVariableThis 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.
                        
Parameters
| MathMLBvarElement | newBVar | The new MathMLBvarElement child of this element being set. | 
| unsigned long | index | The one-based index into the bound variable children of this element at which newBVar is to be inserted. | 
Return value
| MathMLBvarElement | The MathMLBvarElement being set. | 
Exceptions
DOMExceptionHIERARCHY_REQUEST_ERR: Raised if this element does not permit child 
                                 bvar elements.
                              
deleteBoundVariableThis 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.
Parameters
| unsigned long | index | The one-based index into the bound variable children of this element of the MathMLBvarElement to be removed. | 
Return value
| void | None. | 
This method raises no exceptions.
removeBoundVariableThis 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.
Parameters
| unsigned long | index | The one-based index into the bound variable children of this element of the MathMLBvarElement to be removed. | 
Return value
| MathMLBvarElement | The MathMLBvarElement being removed. | 
This method raises no exceptions.
Extends: 
                            MathMLContentContainer
The apply element allows a function or 
                     operator to be applied to its arguments.
                     
                  
IDL Definition
interface MathMLApplyElement: MathMLContentContainer {
  attribute MathMLElement operator;
  attribute MathMLElement domainOfApplication;
  attribute MathMLElement lowLimit;
  attribute MathMLElement upLimit;
};Attributes
operator of type
                            MathMLElementThe MathML element representing the function or operator that is applied to the list of arguments.
lowLimit of type
                            MathMLElementThis 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  Section 4.2.3.2 Operators taking Qualifiers.
                        
Exceptions on Setting
upLimit of type
                            MathMLElementThis 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  Section 4.2.3.2 Operators taking Qualifiers.
                        
Exceptions on Setting
DOMExceptionHIERARCHY_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.
                              
Extends: 
                            MathMLContentContainer
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.
                     
                  
IDL Definition
interface MathMLFnElement: MathMLContentContainer {
  attribute DOMString definitionURL;
  attribute DOMString encoding;
};Attributes
definitionURL of type
                            DOMStringA URI pointing to a definition for this function-type element. Note that there is no stipulation about the form this definition may take!
encoding of type
                            DOMStringA string describing the syntax in which the definition
                           located at definitionURL is given.
                        
Extends: 
                            MathMLContentContainer
The lambda element is used to construct a 
                     user-defined function from an expression and one or more free variables.
                     
                  
IDL Definition
interface MathMLLambdaElement: MathMLContentContainer {
  attribute MathMLElement expression;
};Attributes
expression of type
                            MathMLElementThe MathMLElement representing the expression.
                           This is included only as a convenience; getting it should give the same 
                           result as MathMLContentContainer::getArgument(1).
                        
Extends: 
                            MathMLContentContainer
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.
                     
                  
IDL Definition
interface MathMLSetElement: MathMLContentContainer {
  readonly attribute boolean isExplicit;
  attribute DOMString type;
};Attributes
isExplicit of type
                            boolean, readonly
                     This is true if the set is specified by giving the list of its elements explicitly.
type of type
                            DOMStringThe type attribute of 
                           the represented element. Predefined values are "normal" 
                           and "multiset". See
                           Section 4.4.6 Theory of Sets and Section 4.3 Content Element Attributes.
                        
Extends: 
                            MathMLContentContainer
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.
                     
                  
IDL Definition
interface MathMLListElement: MathMLContentContainer {
  readonly attribute boolean isExplicit;
  attribute DOMString ordering;
};Attributes
isExplicit of type
                            boolean, readonly
                     This is true if the list is specified by giving its elements explicitly.
ordering of type
                            DOMStringThe order attribute of 
                           the represented element. Predefined values are "numeric" 
                           and "lexicographic". See
                           Section 4.4.6 Theory of Sets and Section 4.3 Content Element Attributes.
                        
Extends: 
                            MathMLContentContainer
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.
                     
                  
IDL Definition
interface MathMLBvarElement: MathMLContentContainer {
};Extends: 
                            MathMLContentElement
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 Section 4.4 The Content Markup Elements 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,
                     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.
                     
                  
IDL Definition
interface MathMLPredefinedSymbol: MathMLContentElement {
  attribute DOMString definitionURL;
  attribute DOMString encoding;
  readonly attribute DOMString arity;
  readonly attribute DOMString symbolName;
};Attributes
definitionURL of type
                            DOMStringA string that provides an override to the default semantics, or provides a more specific definition
encoding of type
                            DOMStringA 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.
symbolName of type
                            DOMString, readonly
                     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.
Extends: 
                            MathMLPredefinedSymbol
The tendsto element expresses that a quantity
                     is tending to a specified value. An interface derived from the 
                           MathMLPredefinedSymbol is used to allow for the inclusion of the type attribute.
                     
                  
IDL Definition
interface MathMLTendsToElement: MathMLPredefinedSymbol {
  attribute DOMString type;
};Attributes
type of type
                            DOMStringA string describing how the quantity approaches the specified value. Predefined values of the string include "above", "below", and "two-sided". The default value is "two-sided".
Extends: 
                            MathMLContentElement
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.
                     
                  
IDL Definition
interface MathMLIntervalElement: MathMLContentElement {
  attribute DOMString closure;
  attribute MathMLContentElement start;
  attribute MathMLContentElement end;
};Attributes
closure of type
                            DOMStringA string with value "open", "closed", "open-closed" or "closed-open". The default value is "closed".
start of type
                            MathMLContentElementA 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.
end of type
                            MathMLContentElementA 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.
Extends: 
                            MathMLContentElement
The condition element is used to place a 
                     condition on one or more free variables or identifiers.
                     
                  
IDL Definition
interface MathMLConditionElement: MathMLContentElement {
  attribute MathMLApplyElement condition;
};Attributes
condition of type
                            MathMLApplyElementA MathMLApplyElement that represents the condition.
Extends: 
                            MathMLContentElement
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.
                     
                  
IDL Definition
interface MathMLDeclareElement: MathMLContentElement {
  attribute DOMString type;
  attribute unsigned long nargs;
  attribute DOMString occurrence;
  attribute DOMString definitionURL;
  attribute DOMString encoding;
  attribute MathMLCiElement identifier;
  attribute MathMLElement constructor;
};Attributes
type of type
                            DOMStringA 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.
nargs of type
                            unsigned longIf the identifier is a function, this attribute 
                           specifies the number of arguments the function takes. This represents the 
                           declare element's nargs attribute;
                           see Section 4.4.2.8 Declare (declare).
                        
occurrence of type
                            DOMStringA string with the values " prefix", "infix", "postfix", or "function-model".
definitionURL of type
                            DOMStringA URI specifying the detailed semantics of the element.
encoding of type
                            DOMStringA description of the syntax used in 
                           definitionURL.
                        
identifier of type
                            MathMLCiElementA MathMLCiElement representing the name being declared.
constructor of type
                            MathMLElementAn optional MathMLElement providing an initial value for the object being declared.
Extends: 
                            MathMLContentElement
vector is the container element for a 
                     vector.
                     
                  
IDL Definition
interface MathMLVectorElement: MathMLContentElement {
  readonly attribute unsigned long ncomponents;
  MathMLContentElement getComponent(in unsigned long index);
  MathMLContentElement insertComponent(in MathMLContentElement newComponent, in unsigned long index);
  MathMLContentElement setComponent(in MathMLContentElement newComponent, in unsigned long index);
   deleteComponent(in unsigned long index);
  MathMLContentElement removeComponent(in unsigned long index);
};Attributes
ncomponents of type
                            unsigned long, readonly
                     The number of components in the vector.
Methods
getComponentA convenience method to retrieve a component.
Parameters
| unsigned long | index | Position of the component in the list of components. The first element is numbered 1. | 
Return value
| MathMLContentElement | 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. | 
This method raises no exceptions.
insertComponentA 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.
Parameters
| MathMLContentElement | newComponent | A MathMLContentElement representing the component that is to be added. | 
| unsigned long | index | Position of the component in the list of components. The first component is numbered 1. | 
Return value
| MathMLContentElement | The MathMLContentElement child of this MathMLVectorElement representing the new component in the DOM. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater 
                                 than one more than the current number of components of this vector element.
                              
setComponentA 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.
Parameters
| MathMLContentElement | newComponent | A MathMLContentElement representing the element that is to be the index-th component of the vector. | 
| unsigned long | index | Position of the component in the list of components. The first element is numbered 1. | 
Return value
| MathMLContentElement | The MathMLContentElement child of this MathMLVectorElement that represents the new component in the DOM. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater 
                                 than one more than the current number of components of this vector element.
                              
deleteComponentA convenience method to delete an element. The deletion changes the indices of the following components.
Parameters
| unsigned long | index | Position of the component in the vector. The position of the first component is 1 | 
Return value
|  | None | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater 
                                 than the current number of components of this vector 
                                 element.
                              
removeComponentA 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.
Parameters
| unsigned long | index | Position of the component in the list of components. The first element is numbered 1. | 
Return value
| MathMLContentElement | The MathMLContentElement component being removed. | 
This method raises no exceptions.
Extends: 
                            MathMLContentElement
The matrix element is the container element 
                     for matrixrow elements. 
                     
                  
IDL Definition
interface MathMLMatrixElement: MathMLContentElement {
  readonly attribute unsigned long nrows;
  readonly attribute unsigned long ncols;
  readonly attribute MathMLNodeList rows;
  MathMLMatrixrowElement getRow(in unsigned long index);
  MathMLMatrixrowElement insertRow(in MathMLMatrixrowElement newRow, in unsigned long index);
  MathMLMatrixrowElement setRow(in MathMLMatrixrowElement newRow, in unsigned long index);
   deleteRow(in unsigned long index);
  MathMLMatrixrowElement removeRow(in unsigned long index);
};Attributes
nrows of type
                            unsigned long, readonly
                     The number of rows in the represented matrix.
ncols of type
                            unsigned long, readonly
                     The number of columns in the represented matrix.
rows of type
                            MathMLNodeList, readonly
                     The rows of the matrix, returned as a MathMLNodeList consisting of MathMLMatrixrowElements.
Methods
getRowA convenience method to retrieve a specified row.
Parameters
| unsigned long | index | Position of the row in the list of rows. The first row is numbered 1. | 
Return value
| MathMLMatrixrowElement | The MathMLMatrixrowElement representing the index-th row. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than the number of rows in the matrix.
insertRowA 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.
                        
Parameters
| MathMLMatrixrowElement | newRow | MathMLMatrixrowElement to be inserted into the matrix. | 
| unsigned long | index | Unsigned integer giving the row position before which newRow is to be inserted. The first row is numbered 1. | 
Return value
| MathMLMatrixrowElement | The MathMLMatrixrowElement added. This is the new element within the DOM. | 
Exceptions
DOMExceptionINDEX_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.
setRowA 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.
                        
Parameters
| MathMLMatrixrowElement | newRow | MathMLMatrixrowElement
                                    representing the  | 
| unsigned long | index | Unsigned integer giving the row which is to be set to newRow. The first row is numbered 1. | 
Return value
| MathMLMatrixrowElement | The MathMLMatrixrowElement child of this MathMLMatrixrowElement representing newRow within the DOM. | 
Exceptions
DOMExceptionINDEX_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.
deleteRowA convenience method to delete a row. The deletion changes the indices of the following rows.
Parameters
| unsigned long | index | Position of the row to be deleted in the list of rows | 
Return value
|  | None | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than the number of rows in the matrix.
removeRowA convenience method to remove a row and return it to the caller. The deletion changes the indices of the following rows.
Parameters
| unsigned long | index | Position of the row to be removed in the list of rows. The first row is numbered 1. | 
Return value
| MathMLMatrixrowElement | The MathMLMatrixrowElement being removed. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than the number of rows in the matrix.
Extends: 
                            MathMLContentElement
The matrixrow element is the container 
                     element for the elements of a matrix. 
                     
                  
IDL Definition
interface MathMLMatrixrowElement: MathMLContentElement {
  readonly attribute unsigned long nEntries;
  MathMLContentElement getEntry(in unsigned long index);
  MathMLContentElement insertEntry(in MathMLContentElement newEntry, in unsigned long index);
  MathMLContentElement setEntry(in MathMLContentElement newEntry, in unsigned long index);
   deleteEntry(in unsigned long index);
  MathMLContentElement removeEntry(in unsigned long index);
};Attributes
nEntries of type
                            unsigned long, readonly
                     The number of entries in the row.
Methods
getEntryA convenience method to retrieve the contents of an entry by index.
Parameters
| unsigned long | index | Position of the entry in the row. The first entry is numbered 1. | 
Return value
| MathMLContentElement | The MathMLContentElement element representing the index-th entry in the row. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than the number of entries in the row.
insertEntryA 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.
                        
Parameters
| MathMLContentElement | newEntry | The MathMLContentElement to be representing the new entry to be inserted into the row. | 
| unsigned long | index | The index before which newEntry is to be inserted in the row. The first entry is numbered 1. | 
Return value
| MathMLContentElement | The MathMLContentElement child of this MathMLMatrixrowElement representing newEntry in the DOM. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than the number of entries in the row.
setEntryA 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.
Parameters
| MathMLContentElement | newEntry | The MathMLContentElement representing the element that is to be the index-th entry. | 
| unsigned long | index | The index of the entry that is to be set equal to newEntry. The first entry is numbered 1. | 
Return value
| MathMLContentElement | The MathMLContentElement child of this MathMLMatrixRowElement representing newEntry in the DOM. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than one more than the number of elements in the row.
deleteEntryA convenience method to delete an entry. The deletion changes the indices of the following entries.
Parameters
| unsigned long | index | Position of the entry to be deleted in the row. The first entry is numbered 1. | 
Return value
|  | None | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than the number of entries in the row.
removeEntryA convenience method to remove an entry from the row and return the removed entry to the caller.
Parameters
| unsigned long | index | Position of the entry to be removed from the row. The first entry is numbered 1. | 
Return value
| MathMLContentElement | The MathMLContentElement being removed from the row. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than the number of entries in the row.
Extends: 
                            MathMLContentElement
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.
                  
IDL Definition
interface MathMLPiecewiseElement: MathMLContentElement {
  readonly attribute MathMLNodeList pieces;
  attribute MathMLContentElement otherwise;
  MathMLCaseElement getCase(in unsigned long index);
  MathMLCaseElement setCase(in unsigned long index, in MathMLCaseElement case);
  void deleteCase(in unsigned long index);
  MathMLCaseElement removeCase(in unsigned long index);
  MathMLCaseElement insertCase(in unsigned long index, in MathMLCaseElement newCase);
  MathMLContentElement getCaseValue(in unsigned long index);
  MathMLContentElement setCaseValue(in unsigned long index, in MathMLContentElement value);
  MathMLContentElement getCaseCondition(in unsigned long index);
  MathMLContentElement setCaseCondition(in unsigned long index, in MathMLContentElement condition);
};Attributes
pieces of type
                            MathMLNodeList, readonly
                     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.
                        
otherwise of type
                            MathMLContentElementReturns a MathMLContentElement representing the value
                           to be taken by the piecewise function when none of the conditions described in the
                           piece children is true.
                        
Methods
getCaseA convenience method to retrieve the child piece
                           at the position referenced by index.
                        
Parameters
| unsigned long | index | Position of desired case in the list of cases.
                                    The first piece is numbered 1; the  | 
Return value
| MathMLCaseElement | The MathMLCaseElement retrieved. | 
This method raises no exceptions.
setCaseA convenience method to set the value of the child piece
                           at the position referenced by index to the value of case.
                        
Parameters
| unsigned long | index | Position of the  | 
| MathMLCaseElement | case | A MathMLCaseElement representing the
                                    new value of the indexth  | 
Return value
| MathMLCaseElement | The new MathMLCaseElement created. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than
                                 one more than the number of pieces in this element.
                              
deleteCaseA convenience method to delete the child piece
                           at the position referenced by index. The deletion changes the indices of 
                           the following pieces.
                        
Parameters
| unsigned long | index | Position of the piece to be deleted. The first 
                                    piece is numbered 1; the  | 
Return value
| void | None. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than
                                 the number of pieces in this element.
                              
removeCaseA 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.
                        
Parameters
| unsigned long | index | Position of the piece to be removed. The first 
                                    piece is numbered 1; the  | 
Return value
| MathMLCaseElement | The MathMLCaseElement removed. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater than
                                 the number of pieces in this element.
                              
insertCaseA convenience method to insert a new piece child
                           into this element.
                        
Parameters
| unsigned long | index | Position before which case is to be inserted. If index
                                    is 0, newCase is appended as the last  | 
| MathMLCaseElement | newCase | A MathMLCaseElement representing the
                                     | 
Return value
| MathMLCaseElement | The new MathMLCaseElement inserted. This is the actual Element in the DOM. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater 
                                 one more than the number of pieces in this element.
                              
getCaseValueA convenience method to retrieve the child of the indexth 
                           piece in this element which specifies the function value for that case.
                        
Parameters
| unsigned long | index | Position of the  | 
Return value
| MathMLContentElement | The MathMLContentElement representing the value to be taken by the function in the indexth case. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater 
                                 than the number of pieces in this element.
                              
setCaseValueA convenience method to set the function value for the indexth 
                           piece in this element.
                        
Parameters
| unsigned long | index | Position of the  | 
| MathMLContentElement | value | A MathMLContentElement representing the function value to be assigned in the indexth case. | 
Return value
| MathMLContentElement | The MathMLContentElement representing the value to be taken by the function in the indexth case. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater 
                                 than the number of pieces in this element.
                              
getCaseConditionA convenience method to retrieve the child of the piece
                           at the position referenced by index which gives the condition for this case.
                        
Parameters
| unsigned long | index | Position of the  | 
Return value
| MathMLContentElement | The MathMLContentElement representing the condition to be satisfied for the indexth case. | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater 
                                 than the number of pieces in this element.
                              
setCaseConditionA convenience method to set the condition for the indexth 
                           piece in this element.
                        
Parameters
| unsigned long | index | Position of the  | 
| MathMLContentElement | condition | A MathMLContentElement representing the condition to be associated to the indexth case. | 
Return value
| MathMLContentElement | The MathMLContentElement which is inserted as the
                                    condition child of the indexth  | 
Exceptions
DOMExceptionINDEX_SIZE_ERR: Raised if index is greater 
                                 than the number of pieces in this element.
                              
Extends: 
                            MathMLContentElement
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. 
                  
IDL Definition
interface MathMLCaseElement: MathMLContentElement {
  attribute MathMLContentElement caseCondition;
  attribute MathMLContentElement caseValue;
};Attributes
caseCondition of type
                            MathMLContentElementAccesses the MathMLContentElement representing the condition to be satisfied in order for this branch of the piecewise definition to be used.
caseValue of type
                            MathMLContentElementAccesses the MathMLContentElement representing the value to be taken by the piecewise function when the condition described by caseCondition is true.
MathMLContainer]
                        MathMLContainer]
                                    MathMLContainer]