# E MathML Document Object Model Bindings (Non-Normative)

Overview: Mathematical Markup Language (MathML) Version 2.0
Previous: D Document Object Model for MathML
Next: F Operator Dictionary (Non-normative)
E MathML Document Object Model Bindings (Non-normative)
E.1 MathML Document Object Model IDL Binding
E.2 MathML Document Object Model Java Binding
E.3 MathML Document Object Model ECMAScript Binding

## E.1 MathML Document Object Model IDL Binding

The IDL binding is also available as an IDL file at http://www.w3.org/TR/2001/REC-MathML2-20010221/mathml-dom.idl.

    // File: mathml-dom.idl
    #ifndef _MATHMLDOM_IDL_
    #define _MATHMLDOM_IDL_

    #include "dom.idl"

    #pragma prefix "w3c.org"

    module mathml_dom
    {
      interface MathMLDocument;
      interface MathMLMathElement;
      interface MathMLTableRowElement;
      interface MathMLLabeledRowElement;
      interface MathMLTableCellElement;
      interface MathMLBvarElement;
      interface MathMLConditionElement;
      interface MathMLDeclareElement;
      interface MathMLMatrixrowElement;
      interface MathMLCaseElement;

      interface MathMLDOMImplementation : DOMImplementation
      {
        MathMLDocument            createMathMLDocument();
      };

      interface MathMLDocument : Document
      {
        readonly attribute DOMString         referrer;
        readonly attribute DOMString         domain;
        readonly attribute DOMString         URI;
      };

      interface MathMLNodeList : NodeList
      {
      };

      interface MathMLElement : Element
      {
                 attribute DOMString         className;
                 attribute DOMString         mathElementStyle;
                 attribute DOMString         id;
                 attribute DOMString         xref;
                 attribute DOMString         href;
        readonly attribute MathMLMathElement ownerMathElement;
      };

      interface MathMLContainer
      {
        readonly attribute unsigned long     nArguments;
        readonly attribute MathMLNodeList    arguments;
        readonly attribute MathMLNodeList    declarations;
        MathMLElement             getArgument(in unsigned long index)
                                                   raises(DOMException);
        MathMLElement             setArgument(in MathMLElement newArgument,
                                              in unsigned long index)
                                                   raises(DOMException);
        MathMLElement             insertArgument(in MathMLElement newArgument,
                                                 in unsigned long index)
                                                   raises(DOMException);
        void                      deleteArgument(in unsigned long index)
                                                   raises(DOMException);
        MathMLElement             removeArgument(in unsigned long index)
                                                   raises(DOMException);
        MathMLDeclareElement      getDeclaration(in unsigned long index)
                                                   raises(DOMException);
        MathMLDeclareElement      setDeclaration(in MathMLDeclareElement newDeclaration,
                                                 in unsigned long index)
                                                   raises(DOMException);
        MathMLDeclareElement      insertDeclaration(in MathMLDeclareElement newDeclaration,
                                                    in unsigned long index)
                                                   raises(DOMException);
        MathMLDeclareElement      removeDeclaration(in unsigned long index)
                                                   raises(DOMException);
        void                      deleteDeclaration(in unsigned long index)
                                                   raises(DOMException);
      };

      interface MathMLMathElement : MathMLElement, MathMLContainer
      {
                 attribute DOMString         macros;
                 attribute DOMString         display;
      };

      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)
                                                   raises(DOMException);
        MathMLElement             setAnnotation(in MathMLElement newAnnotation,
                                                in unsigned long index)
                                                   raises(DOMException);
        void                      deleteAnnotation(in unsigned long index);
        MathMLElement             removeAnnotation(in unsigned long index);
      };

      interface MathMLAnnotationElement : MathMLElement
      {
                 attribute DOMString         body;
                 attribute DOMString         encoding;
      };

      interface MathMLXMLAnnotationElement : MathMLElement
      {
                 attribute DOMString         encoding;
      };

      interface MathMLPresentationElement : MathMLElement
      {
      };

      interface MathMLGlyphElement : MathMLPresentationElement
      {
                 attribute DOMString         alt;
                 attribute DOMString         fontfamily;
                 attribute unsigned long     index;
      };

      interface MathMLSpaceElement : MathMLPresentationElement
      {
                 attribute DOMString         width;
                 attribute DOMString         height;
                 attribute DOMString         depth;
      };

      interface MathMLPresentationToken : MathMLPresentationElement
      {
                 attribute DOMString         mathvariant;
                 attribute DOMString         mathsize;
                 attribute DOMString         mathfamily;
                 attribute DOMString         mathcolor;
                 attribute DOMString         mathbackground;
        readonly attribute MathMLNodeList    contents;
      };

      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         moveablelimits;
                 attribute DOMString         accent;
      };

      interface MathMLStringLitElement : MathMLPresentationToken
      {
                 attribute DOMString         lquote;
                 attribute DOMString         rquote;
      };

      interface MathMLPresentationContainer : MathMLPresentationElement, MathMLContainer
      {
      };

      interface MathMLStyleElement : MathMLPresentationContainer
      {
                 attribute DOMString         scriptlevel;
                 attribute DOMString         displaystyle;
                 attribute DOMString         scriptsizemultiplier;
                 attribute DOMString         scriptminsize;
                 attribute DOMString         color;
                 attribute DOMString         background;
      };

      interface MathMLPaddedElement : MathMLPresentationContainer
      {
                 attribute DOMString         width;
                 attribute DOMString         lspace;
                 attribute DOMString         height;
                 attribute DOMString         depth;
      };

      interface MathMLFencedElement : MathMLPresentationContainer
      {
                 attribute DOMString         open;
                 attribute DOMString         close;
                 attribute DOMString         separators;
      };

      interface MathMLEncloseElement : MathMLPresentationContainer
      {
                 attribute DOMString         notation;
      };

      interface MathMLActionElement : MathMLPresentationContainer
      {
                 attribute DOMString         actiontype;
                 attribute DOMString         selection;
      };

      interface MathMLFractionElement : MathMLPresentationElement
      {
                 attribute DOMString         linethickness;
                 attribute MathMLElement     numerator;
                 attribute MathMLElement     denominator;
      };

      interface MathMLRadicalElement : MathMLPresentationElement
      {
                 attribute MathMLElement     radicand;
                 attribute MathMLElement     index;
      };

      interface MathMLScriptElement : MathMLPresentationElement
      {
                 attribute DOMString         subscriptshift;
                 attribute DOMString         superscriptshift;
                 attribute MathMLElement     base;
                 attribute MathMLElement     subscript;
                                                   // raises(DOMException) on setting
                 attribute MathMLElement     superscript;
                                                   // raises(DOMException) on setting
      };

      interface MathMLUnderOverElement : MathMLPresentationElement
      {
                 attribute DOMString         accentunder;
                 attribute DOMString         accent;
                 attribute MathMLElement     base;
                 attribute MathMLElement     underscript;
                                                   // raises(DOMException) on setting
                 attribute MathMLElement     overscript;
                                                   // raises(DOMException) on setting
      };

      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)
                                                   raises(DOMException);
        MathMLElement             setPreSubScriptAt(in unsigned long colIndex,
                                                    in MathMLElement newScript)
                                                   raises(DOMException);
        MathMLElement             insertSubScriptBefore(in unsigned long colIndex,
                                                        in MathMLElement newScript)
                                                   raises(DOMException);
        MathMLElement             setSubScriptAt(in unsigned long colIndex,
                                                 in MathMLElement newScript)
                                                   raises(DOMException);
        MathMLElement             insertPreSuperScriptBefore(in unsigned long colIndex,
                                                             in MathMLElement newScript)
                                                   raises(DOMException);
        MathMLElement             setPreSuperScriptAt(in unsigned long colIndex,
                                                      in MathMLElement newScript)
                                                   raises(DOMException);
        MathMLElement             insertSuperScriptBefore(in unsigned long colIndex,
                                                          in MathMLElement newScript)
                                                   raises(DOMException);
        MathMLElement             setSuperScriptAt(in unsigned long colIndex,
                                                   in MathMLElement newScript)
                                                   raises(DOMException);
      };

      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)
                                                   raises(DOMException);
        MathMLLabeledRowElement   insertEmptyLabeledRow(in long index)
                                                   raises(DOMException);
        MathMLTableRowElement     getRow(in unsigned long index);
        MathMLTableRowElement     insertRow(in long index,
                                            in MathMLTableRowElement newRow)
                                                   raises(DOMException);
        MathMLTableRowElement     setRow(in long index,
                                         in MathMLTableRowElement newRow)
                                                   raises(DOMException);
        void                      deleteRow(in unsigned long index)
                                                   raises(DOMException);
        MathMLTableRowElement     removeRow(in long index)
                                                   raises(DOMException);
      };

      interface MathMLTableRowElement : MathMLPresentationElement
      {
                 attribute DOMString         rowalign;
                 attribute DOMString         columnalign;
                 attribute DOMString         groupalign;
        readonly attribute MathMLNodeList    cells;
        MathMLTableCellElement    insertEmptyCell(in unsigned long index)
                                                   raises(DOMException);
        MathMLTableCellElement    insertCell(in MathMLTableCellElement newCell,
                                             in unsigned long index)
                                                   raises(DOMException);
        MathMLTableCellElement    setCell(in MathMLTableCellElement newCell,
                                          in unsigned long index);
        void                      deleteCell(in unsigned long index);
      };

      interface MathMLLabeledRowElement : MathMLTableRowElement
      {
                 attribute MathMLElement     label;
                                                   // raises(DOMException) on setting
      };

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

      interface MathMLAlignGroupElement : MathMLPresentationElement
      {
                 attribute DOMString         groupalign;
      };

      interface MathMLAlignMarkElement : MathMLPresentationElement
      {
                 attribute DOMString         edge;
      };

      interface MathMLContentElement : MathMLElement
      {
      };

      interface MathMLContentToken : MathMLContentElement
      {
        readonly attribute MathMLNodeList    arguments;
                 attribute DOMString         definitionURL;
                 attribute DOMString         encoding;
        Node                      getArgument(in unsigned long index);
        Node                      insertArgument(in unsigned long index,
                                                 in Node newArgument);
        Node                      setArgument(in unsigned long index,
                                              in Node newArgument);
        void                      deleteArgument(in unsigned long index);
        Node                      removeArgument(in unsigned long index);
      };

      interface MathMLCnElement : MathMLContentToken
      {
                 attribute DOMString         type;
                 attribute DOMString         base;
        readonly attribute unsigned long     nargs;
      };

      interface MathMLCiElement : MathMLContentToken
      {
                 attribute DOMString         type;
      };

      interface MathMLCsymbolElement : MathMLContentToken
      {
      };

      interface MathMLContentContainer : MathMLContentElement, MathMLContainer
      {
        readonly attribute unsigned long     nBoundVariables;
                 attribute MathMLConditionElement condition;
                                                   // raises(DOMException) on setting
                 attribute MathMLElement     opDegree;
                                                   // raises(DOMException) on setting
                 attribute MathMLElement     domainOfApplication;
                                                   // raises(DOMException) on setting
                 attribute MathMLElement     momentAbout;
                                                   // raises(DOMException) on setting
        MathMLBvarElement         getBoundVariable(in unsigned long index);
        MathMLBvarElement         insertBoundVariable(in MathMLBvarElement newBVar,
                                                      in unsigned long index)
                                                   raises(DOMException);
        MathMLBvarElement         setBoundVariable(in MathMLBvarElement newBVar,
                                                   in unsigned long index)
                                                   raises(DOMException);
        void                      deleteBoundVariable(in unsigned long index);
        MathMLBvarElement         removeBoundVariable(in unsigned long index);
      };

      interface MathMLApplyElement : MathMLContentContainer
      {
                 attribute MathMLElement     operator;
                 attribute MathMLElement     domainOfApplication;
                                                   // raises(DOMException) on setting
                 attribute MathMLElement     lowLimit;
                                                   // raises(DOMException) on setting
                 attribute MathMLElement     upLimit;
                                                   // raises(DOMException) on setting
      };

      interface MathMLFnElement : MathMLContentContainer
      {
                 attribute DOMString         definitionURL;
                 attribute DOMString         encoding;
      };

      interface MathMLLambdaElement : MathMLContentContainer
      {
                 attribute MathMLElement     expression;
      };

      interface MathMLSetElement : MathMLContentContainer
      {
        readonly attribute boolean           isExplicit;
                 attribute DOMString         type;
      };

      interface MathMLListElement : MathMLContentContainer
      {
        readonly attribute boolean           isExplicit;
                 attribute DOMString         ordering;
      };

      interface MathMLBvarElement : MathMLContentContainer
      {
      };

      interface MathMLPredefinedSymbol : MathMLContentElement
      {
                 attribute DOMString         definitionURL;
                 attribute DOMString         encoding;
                 attribute DOMString         arity;
        readonly attribute DOMString         symbolName;
      };

      interface MathMLIntervalElement : MathMLContentElement
      {
                 attribute DOMString         closure;
                 attribute MathMLCnElement   start;
                 attribute MathMLCnElement   end;
      };

      interface MathMLConditionElement : MathMLContentElement
      {
                 attribute MathMLApplyElement condition;
      };

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

      interface MathMLVectorElement : MathMLContentElement
      {
        readonly attribute unsigned long     ncomponents;
        MathMLContentElement      getComponent(in unsigned long index);
        MathMLContentElement      insertComponent(in MathMLContentElement newComponent,
                                                  in unsigned long index)
                                                   raises(DOMException);
        MathMLContentElement      setComponent(in MathMLContentElement newComponent,
                                               in unsigned long index)
                                                   raises(DOMException);
                                  deleteComponent(in unsigned long index)
                                                   raises(DOMException);
        MathMLContentElement      removeComponent(in unsigned long index);
      };

      interface MathMLMatrixElement : MathMLContentElement
      {
        readonly attribute unsigned long     nrows;
        readonly attribute unsigned long     ncols;
        readonly attribute MathMLNodeList    rows;
        MathMLMatrixrowElement    getRow(in unsigned long index)
                                                   raises(DOMException);
        MathMLMatrixrowElement    insertRow(in MathMLMatrixrowElement newRow,
                                            in unsigned long index)
                                                   raises(DOMException);
        MathMLMatrixrowElement    setRow(in MathMLMatrixrowElement newRow,
                                         in unsigned long index)
                                                   raises(DOMException);
                                  deleteRow(in unsigned long index)
                                                   raises(DOMException);
        MathMLMatrixrowElement    removeRow(in unsigned long index)
                                                   raises(DOMException);
      };

      interface MathMLMatrixrowElement : MathMLContentElement
      {
        readonly attribute unsigned long     nEntries;
        MathMLContentElement      getEntry(in unsigned long index)
                                                   raises(DOMException);
        MathMLContentElement      insertEntry(in MathMLContentElement newEntry,
                                              in unsigned long index)
                                                   raises(DOMException);
        MathMLContentElement      setEntry(in MathMLContentElement newEntry,
                                           in unsigned long index)
                                                   raises(DOMException);
                                  deleteEntry(in unsigned long index)
                                                   raises(DOMException);
        MathMLContentElement      removeEntry(in unsigned long index)
                                                   raises(DOMException);
      };

      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)
                                                   raises(DOMException);
        void                      deleteCase(in unsigned long index)
                                                   raises(DOMException);
        MathMLCaseElement         removeCase(in unsigned long index)
                                                   raises(DOMException);
        MathMLCaseElement         insertCase(in unsigned long index,
                                             in MathMLCaseElement newCase)
                                                   raises(DOMException);
        MathMLContentElement      getCaseValue(in unsigned long index)
                                                   raises(DOMException);
        MathMLContentElement      setCaseValue(in unsigned long index,
                                               in MathMLContentElement value)
                                                   raises(DOMException);
        MathMLContentElement      getCaseCondition(in unsigned long index)
                                                   raises(DOMException);
        MathMLContentElement      setCaseCondition(in unsigned long index,
                                                   in MathMLContentElement condition)
                                                   raises(DOMException);
      };

      interface MathMLCaseElement : MathMLContentElement
      {
                 attribute MathMLContentElement caseCondition;
                 attribute MathMLContentElement caseValue;
      };

    };

    #endif

## E.2 MathML Document Object Model Java Binding

The Java bindings are also available in zipped form at http://www.w3.org/TR/2001/REC-MathML2-20010221/mathml-dom_java.zip.

### org/w3c/dom/mathml/MathMLDOMImplementation.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMImplementation;

    public interface MathMLDOMImplementation extends DOMImplementation
    {
        public MathMLDocument         createMathMLDocument();
    };

### org/w3c/dom/mathml/MathMLDocument.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.Document;

    public interface MathMLDocument extends Document
    {
        public String                 getReferrer();
        public String                 getDomain();
        public String                 getURI();
    };

### org/w3c/dom/mathml/MathMLNodeList.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.NodeList;

    public interface MathMLNodeList extends NodeList
    {
    };

### org/w3c/dom/mathml/MathMLElement.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.Element;

    public interface MathMLElement extends Element
    {
        public String                 getClassName();
        public void                   setClassName(String className);
        public String                 getMathElementStyle();
        public void                   setMathElementStyle(String mathElementStyle);
        public String                 getId();
        public void                   setId(String id);
        public String                 getXref();
        public void                   setXref(String xref);
        public String                 getHref();
        public void                   setHref(String href);
        public MathMLMathElement      getOwnerMathElement();
    };

### org/w3c/dom/mathml/MathMLContainer.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLContainer
    {
        public int                    getNArguments();
        public MathMLNodeList         getArguments();
        public MathMLNodeList         getDeclarations();
        public MathMLElement          getArgument(int index)
                                                             throws DOMException;
        public MathMLElement          setArgument(MathMLElement newArgument,
                                                  int index)
                                                             throws DOMException;
        public MathMLElement          insertArgument(MathMLElement newArgument,
                                                     int index)
                                                             throws DOMException;
        public void                   deleteArgument(int index)
                                                             throws DOMException;
        public MathMLElement          removeArgument(int index)
                                                             throws DOMException;
        public MathMLDeclareElement   getDeclaration(int index)
                                                             throws DOMException;
        public MathMLDeclareElement   setDeclaration(MathMLDeclareElement newDeclaration,
                                                     int index)
                                                             throws DOMException;
        public MathMLDeclareElement   insertDeclaration(MathMLDeclareElement newDeclaration,
                                                        int index)
                                                             throws DOMException;
        public MathMLDeclareElement   removeDeclaration(int index)
                                                             throws DOMException;
        public void                   deleteDeclaration(int index)
                                                             throws DOMException;
    };

### org/w3c/dom/mathml/MathMLMathElement.java

    package org.w3c.dom.mathml;

    public interface MathMLMathElement extends MathMLElement, MathMLContainer
    {
        public String                 getMacros();
        public void                   setMacros(String macros);
        public String                 getDisplay();
        public void                   setDisplay(String display);
    };

### org/w3c/dom/mathml/MathMLSemanticsElement.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLSemanticsElement extends MathMLElement
    {
        public MathMLElement          getBody();
        public void                   setBody(MathMLElement body);
        public int                    getNAnnotations();
        public MathMLElement          getAnnotation(int index);
        public MathMLElement          insertAnnotation(MathMLElement newAnnotation,
                                                       int index)
                                                             throws DOMException;
        public MathMLElement          setAnnotation(MathMLElement newAnnotation,
                                                    int index)
                                                             throws DOMException;
        public void                   deleteAnnotation(int index);
        public MathMLElement          removeAnnotation(int index);
    };

### org/w3c/dom/mathml/MathMLAnnotationElement.java

    package org.w3c.dom.mathml;

    public interface MathMLAnnotationElement extends MathMLElement
    {
        public String                 getBody();
        public void                   setBody(String body);
        public String                 getEncoding();
        public void                   setEncoding(String encoding);
    };

### org/w3c/dom/mathml/MathMLXMLAnnotationElement.java

    package org.w3c.dom.mathml;

    public interface MathMLXMLAnnotationElement extends MathMLElement
    {
        public String                 getEncoding();
        public void                   setEncoding(String encoding);
    };

### org/w3c/dom/mathml/MathMLPresentationElement.java

    package org.w3c.dom.mathml;

    public interface MathMLPresentationElement extends MathMLElement
    {
    };

### org/w3c/dom/mathml/MathMLGlyphElement.java

    package org.w3c.dom.mathml;

    public interface MathMLGlyphElement extends MathMLPresentationElement
    {
        public String                 getAlt();
        public void                   setAlt(String alt);
        public String                 getFontfamily();
        public void                   setFontfamily(String fontfamily);
        public int                    getIndex();
        public void                   setIndex(int index);
    };

### org/w3c/dom/mathml/MathMLSpaceElement.java

    package org.w3c.dom.mathml;

    public interface MathMLSpaceElement extends MathMLPresentationElement
    {
        public String                 getWidth();
        public void                   setWidth(String width);
        public String                 getHeight();
        public void                   setHeight(String height);
        public String                 getDepth();
        public void                   setDepth(String depth);
    };

### org/w3c/dom/mathml/MathMLPresentationToken.java

    package org.w3c.dom.mathml;

    public interface MathMLPresentationToken extends MathMLPresentationElement
    {
        public String                 getMathvariant();
        public void                   setMathvariant(String mathvariant);
        public String                 getMathsize();
        public void                   setMathsize(String mathsize);
        public String                 getMathfamily();
        public void                   setMathfamily(String mathfamily);
        public String                 getMathcolor();
        public void                   setMathcolor(String mathcolor);
        public String                 getMathbackground();
        public void                   setMathbackground(String mathbackground);
        public MathMLNodeList         getContents();
    };

### org/w3c/dom/mathml/MathMLOperatorElement.java

    package org.w3c.dom.mathml;

    public interface MathMLOperatorElement extends MathMLPresentationToken
    {
        public String                 getForm();
        public void                   setForm(String form);
        public String                 getFence();
        public void                   setFence(String fence);
        public String                 getSeparator();
        public void                   setSeparator(String separator);
        public String                 getLspace();
        public void                   setLspace(String lspace);
        public String                 getRspace();
        public void                   setRspace(String rspace);
        public String                 getStretchy();
        public void                   setStretchy(String stretchy);
        public String                 getSymmetric();
        public void                   setSymmetric(String symmetric);
        public String                 getMaxsize();
        public void                   setMaxsize(String maxsize);
        public String                 getMinsize();
        public void                   setMinsize(String minsize);
        public String                 getLargeop();
        public void                   setLargeop(String largeop);
        public String                 getMoveablelimits();
        public void                   setMoveablelimits(String moveablelimits);
        public String                 getAccent();
        public void                   setAccent(String accent);
    };

### org/w3c/dom/mathml/MathMLStringLitElement.java

    package org.w3c.dom.mathml;

    public interface MathMLStringLitElement extends MathMLPresentationToken
    {
        public String                 getLquote();
        public void                   setLquote(String lquote);
        public String                 getRquote();
        public void                   setRquote(String rquote);
    };

### org/w3c/dom/mathml/MathMLPresentationContainer.java

    package org.w3c.dom.mathml;

    public interface MathMLPresentationContainer extends MathMLPresentationElement, MathMLContainer
    {
    };

### org/w3c/dom/mathml/MathMLStyleElement.java

    package org.w3c.dom.mathml;

    public interface MathMLStyleElement extends MathMLPresentationContainer
    {
        public String                 getScriptlevel();
        public void                   setScriptlevel(String scriptlevel);
        public String                 getDisplaystyle();
        public void                   setDisplaystyle(String displaystyle);
        public String                 getScriptsizemultiplier();
        public void                   setScriptsizemultiplier(String scriptsizemultiplier);
        public String                 getScriptminsize();
        public void                   setScriptminsize(String scriptminsize);
        public String                 getColor();
        public void                   setColor(String color);
        public String                 getBackground();
        public void                   setBackground(String background);
    };

### org/w3c/dom/mathml/MathMLPaddedElement.java

    package org.w3c.dom.mathml;

    public interface MathMLPaddedElement extends MathMLPresentationContainer
    {
        public String                 getWidth();
        public void                   setWidth(String width);
        public String                 getLspace();
        public void                   setLspace(String lspace);
        public String                 getHeight();
        public void                   setHeight(String height);
        public String                 getDepth();
        public void                   setDepth(String depth);
    };

### org/w3c/dom/mathml/MathMLFencedElement.java

    package org.w3c.dom.mathml;

    public interface MathMLFencedElement extends MathMLPresentationContainer
    {
        public String                 getOpen();
        public void                   setOpen(String open);
        public String                 getClose();
        public void                   setClose(String close);
        public String                 getSeparators();
        public void                   setSeparators(String separators);
    };

### org/w3c/dom/mathml/MathMLEncloseElement.java

    package org.w3c.dom.mathml;

    public interface MathMLEncloseElement extends MathMLPresentationContainer
    {
        public String                 getNotation();
        public void                   setNotation(String notation);
    };

### org/w3c/dom/mathml/MathMLActionElement.java

    package org.w3c.dom.mathml;

    public interface MathMLActionElement extends MathMLPresentationContainer
    {
        public String                 getActiontype();
        public void                   setActiontype(String actiontype);
        public String                 getSelection();
        public void                   setSelection(String selection);
    };

### org/w3c/dom/mathml/MathMLFractionElement.java

    package org.w3c.dom.mathml;

    public interface MathMLFractionElement extends MathMLPresentationElement
    {
        public String                 getLinethickness();
        public void                   setLinethickness(String linethickness);
        public MathMLElement          getNumerator();
        public void                   setNumerator(MathMLElement numerator);
        public MathMLElement          getDenominator();
        public void                   setDenominator(MathMLElement denominator);
    };

### org/w3c/dom/mathml/MathMLRadicalElement.java

    package org.w3c.dom.mathml;

    public interface MathMLRadicalElement extends MathMLPresentationElement
    {
        public MathMLElement          getRadicand();
        public void                   setRadicand(MathMLElement radicand);
        public MathMLElement          getIndex();
        public void                   setIndex(MathMLElement index);
    };

### org/w3c/dom/mathml/MathMLScriptElement.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLScriptElement extends MathMLPresentationElement
    {
        public String                 getSubscriptshift();
        public void                   setSubscriptshift(String subscriptshift);
        public String                 getSuperscriptshift();
        public void                   setSuperscriptshift(String superscriptshift);
        public MathMLElement          getBase();
        public void                   setBase(MathMLElement base);
        public MathMLElement          getSubscript();
        public void                   setSubscript(MathMLElement subscript)
                                                             throws DOMException;
        public MathMLElement          getSuperscript();
        public void                   setSuperscript(MathMLElement superscript)
                                                             throws DOMException;
    };

### org/w3c/dom/mathml/MathMLUnderOverElement.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLUnderOverElement extends MathMLPresentationElement
    {
        public String                 getAccentunder();
        public void                   setAccentunder(String accentunder);
        public String                 getAccent();
        public void                   setAccent(String accent);
        public MathMLElement          getBase();
        public void                   setBase(MathMLElement base);
        public MathMLElement          getUnderscript();
        public void                   setUnderscript(MathMLElement underscript)
                                                             throws DOMException;
        public MathMLElement          getOverscript();
        public void                   setOverscript(MathMLElement overscript)
                                                             throws DOMException;
    };

### org/w3c/dom/mathml/MathMLMultiScriptsElement.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLMultiScriptsElement extends MathMLPresentationElement
    {
        public String                 getSubscriptshift();
        public void                   setSubscriptshift(String subscriptshift);
        public String                 getSuperscriptshift();
        public void                   setSuperscriptshift(String superscriptshift);
        public MathMLElement          getBase();
        public void                   setBase(MathMLElement base);
        public MathMLNodeList         getPrescripts();
        public MathMLNodeList         getScripts();
        public int                    getNumprescriptcolumns();
        public int                    getNumscriptcolumns();
        public MathMLElement          getPreSubScript(int colIndex);
        public MathMLElement          getSubScript(int colIndex);
        public MathMLElement          getPreSuperScript(int colIndex);
        public MathMLElement          getSuperScript(int colIndex);
        public MathMLElement          insertPreSubScriptBefore(int colIndex,
                                                               MathMLElement newScript)
                                                             throws DOMException;
        public MathMLElement          setPreSubScriptAt(int colIndex,
                                                        MathMLElement newScript)
                                                             throws DOMException;
        public MathMLElement          insertSubScriptBefore(int colIndex,
                                                            MathMLElement newScript)
                                                             throws DOMException;
        public MathMLElement          setSubScriptAt(int colIndex,
                                                     MathMLElement newScript)
                                                             throws DOMException;
        public MathMLElement          insertPreSuperScriptBefore(int colIndex,
                                                                 MathMLElement newScript)
                                                             throws DOMException;
        public MathMLElement          setPreSuperScriptAt(int colIndex,
                                                          MathMLElement newScript)
                                                             throws DOMException;
        public MathMLElement          insertSuperScriptBefore(int colIndex,
                                                              MathMLElement newScript)
                                                             throws DOMException;
        public MathMLElement          setSuperScriptAt(int colIndex,
                                                       MathMLElement newScript)
                                                             throws DOMException;
    };

### org/w3c/dom/mathml/MathMLTableElement.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLTableElement extends MathMLPresentationElement
    {
        public String                 getAlign();
        public void                   setAlign(String align);
        public String                 getRowalign();
        public void                   setRowalign(String rowalign);
        public String                 getColumnalign();
        public void                   setColumnalign(String columnalign);
        public String                 getGroupalign();
        public void                   setGroupalign(String groupalign);
        public String                 getAlignmentscope();
        public void                   setAlignmentscope(String alignmentscope);
        public String                 getColumnwidth();
        public void                   setColumnwidth(String columnwidth);
        public String                 getWidth();
        public void                   setWidth(String width);
        public String                 getRowspacing();
        public void                   setRowspacing(String rowspacing);
        public String                 getColumnspacing();
        public void                   setColumnspacing(String columnspacing);
        public String                 getRowlines();
        public void                   setRowlines(String rowlines);
        public String                 getColumnlines();
        public void                   setColumnlines(String columnlines);
        public String                 getFrame();
        public void                   setFrame(String frame);
        public String                 getFramespacing();
        public void                   setFramespacing(String framespacing);
        public String                 getEqualrows();
        public void                   setEqualrows(String equalrows);
        public String                 getEqualcolumns();
        public void                   setEqualcolumns(String equalcolumns);
        public String                 getDisplaystyle();
        public void                   setDisplaystyle(String displaystyle);
        public String                 getSide();
        public void                   setSide(String side);
        public String                 getMinlabelspacing();
        public void                   setMinlabelspacing(String minlabelspacing);
        public MathMLNodeList         getRows();
        public MathMLTableRowElement  insertEmptyRow(int index)
                                                             throws DOMException;
        public MathMLLabeledRowElement insertEmptyLabeledRow(int index)
                                                             throws DOMException;
        public MathMLTableRowElement  getRow(int index);
        public MathMLTableRowElement  insertRow(int index,
                                                MathMLTableRowElement newRow)
                                                             throws DOMException;
        public MathMLTableRowElement  setRow(int index,
                                             MathMLTableRowElement newRow)
                                                             throws DOMException;
        public void                   deleteRow(int index)
                                                             throws DOMException;
        public MathMLTableRowElement  removeRow(int index)
                                                             throws DOMException;
    };

### org/w3c/dom/mathml/MathMLTableRowElement.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLTableRowElement extends MathMLPresentationElement
    {
        public String                 getRowalign();
        public void                   setRowalign(String rowalign);
        public String                 getColumnalign();
        public void                   setColumnalign(String columnalign);
        public String                 getGroupalign();
        public void                   setGroupalign(String groupalign);
        public MathMLNodeList         getCells();
        public MathMLTableCellElement insertEmptyCell(int index)
                                                             throws DOMException;
        public MathMLTableCellElement insertCell(MathMLTableCellElement newCell,
                                                 int index)
                                                             throws DOMException;
        public MathMLTableCellElement setCell(MathMLTableCellElement newCell,
                                              int index);
        public void                   deleteCell(int index);
    };

### org/w3c/dom/mathml/MathMLLabeledRowElement.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLLabeledRowElement extends MathMLTableRowElement
    {
        public MathMLElement          getLabel();
        public void                   setLabel(MathMLElement label)
                                                             throws DOMException;
    };

### org/w3c/dom/mathml/MathMLTableCellElement.java

    package org.w3c.dom.mathml;

    public interface MathMLTableCellElement extends MathMLPresentationContainer
    {
        public String                 getRowspan();
        public void                   setRowspan(String rowspan);
        public String                 getColumnspan();
        public void                   setColumnspan(String columnspan);
        public String                 getRowalign();
        public void                   setRowalign(String rowalign);
        public String                 getColumnalign();
        public void                   setColumnalign(String columnalign);
        public String                 getGroupalign();
        public void                   setGroupalign(String groupalign);
        public boolean                getHasaligngroups();
        public String                 getCellindex();
    };

### org/w3c/dom/mathml/MathMLAlignGroupElement.java

    package org.w3c.dom.mathml;

    public interface MathMLAlignGroupElement extends MathMLPresentationElement
    {
        public String                 getGroupalign();
        public void                   setGroupalign(String groupalign);
    };

### org/w3c/dom/mathml/MathMLAlignMarkElement.java

    package org.w3c.dom.mathml;

    public interface MathMLAlignMarkElement extends MathMLPresentationElement
    {
        public String                 getEdge();
        public void                   setEdge(String edge);
    };

### org/w3c/dom/mathml/MathMLContentElement.java

    package org.w3c.dom.mathml;

    public interface MathMLContentElement extends MathMLElement
    {
    };

### org/w3c/dom/mathml/MathMLContentToken.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.Node;

    public interface MathMLContentToken extends MathMLContentElement
    {
        public MathMLNodeList         getArguments();
        public String                 getDefinitionURL();
        public void                   setDefinitionURL(String definitionURL);
        public String                 getEncoding();
        public void                   setEncoding(String encoding);
        public Node                   getArgument(int index);
        public Node                   insertArgument(int index,
                                                     Node newArgument);
        public Node                   setArgument(int index,
                                                  Node newArgument);
        public void                   deleteArgument(int index);
        public Node                   removeArgument(int index);
    };

### org/w3c/dom/mathml/MathMLCnElement.java

    package org.w3c.dom.mathml;

    public interface MathMLCnElement extends MathMLContentToken
    {
        public String                 getType();
        public void                   setType(String type);
        public String                 getBase();
        public void                   setBase(String base);
        public int                    getNargs();
    };

### org/w3c/dom/mathml/MathMLCiElement.java

    package org.w3c.dom.mathml;

    public interface MathMLCiElement extends MathMLContentToken
    {
        public String                 getType();
        public void                   setType(String type);
    };

### org/w3c/dom/mathml/MathMLCsymbolElement.java

    package org.w3c.dom.mathml;

    public interface MathMLCsymbolElement extends MathMLContentToken
    {
    };

### org/w3c/dom/mathml/MathMLContentContainer.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLContentContainer extends MathMLContentElement, MathMLContainer
    {
        public int                    getNBoundVariables();
        public MathMLConditionElement getCondition();
        public void                   setCondition(MathMLConditionElement condition)
                                                             throws DOMException;
        public MathMLElement          getOpDegree();
        public void                   setOpDegree(MathMLElement opDegree)
                                                             throws DOMException;
        public MathMLElement          getDomainOfApplication();
        public void                   setDomainOfApplication(MathMLElement domainOfApplication)
                                                             throws DOMException;
        public MathMLElement          getMomentAbout();
        public void                   setMomentAbout(MathMLElement momentAbout)
                                                             throws DOMException;
        public MathMLBvarElement      getBoundVariable(int index);
        public MathMLBvarElement      insertBoundVariable(MathMLBvarElement newBVar,
                                                          int index)
                                                             throws DOMException;
        public MathMLBvarElement      setBoundVariable(MathMLBvarElement newBVar,
                                                       int index)
                                                             throws DOMException;
        public void                   deleteBoundVariable(int index);
        public MathMLBvarElement      removeBoundVariable(int index);
    };

### org/w3c/dom/mathml/MathMLApplyElement.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLApplyElement extends MathMLContentContainer
    {
        public MathMLElement          getOperator();
        public void                   setOperator(MathMLElement operator);
        public MathMLElement          getDomainOfApplication();
        public void                   setDomainOfApplication(MathMLElement domainOfApplication)
                                                             throws DOMException;
        public MathMLElement          getLowLimit();
        public void                   setLowLimit(MathMLElement lowLimit)
                                                             throws DOMException;
        public MathMLElement          getUpLimit();
        public void                   setUpLimit(MathMLElement upLimit)
                                                             throws DOMException;
    };

### org/w3c/dom/mathml/MathMLFnElement.java

    package org.w3c.dom.mathml;

    public interface MathMLFnElement extends MathMLContentContainer
    {
        public String                 getDefinitionURL();
        public void                   setDefinitionURL(String definitionURL);
        public String                 getEncoding();
        public void                   setEncoding(String encoding);
    };

### org/w3c/dom/mathml/MathMLLambdaElement.java

    package org.w3c.dom.mathml;

    public interface MathMLLambdaElement extends MathMLContentContainer
    {
        public MathMLElement          getExpression();
        public void                   setExpression(MathMLElement expression);
    };

### org/w3c/dom/mathml/MathMLSetElement.java

    package org.w3c.dom.mathml;

    public interface MathMLSetElement extends MathMLContentContainer
    {
        public boolean                getIsExplicit();
        public String                 getType();
        public void                   setType(String type);
    };

### org/w3c/dom/mathml/MathMLListElement.java

    package org.w3c.dom.mathml;

    public interface MathMLListElement extends MathMLContentContainer
    {
        public boolean                getIsExplicit();
        public String                 getOrdering();
        public void                   setOrdering(String ordering);
    };

### org/w3c/dom/mathml/MathMLBvarElement.java

    package org.w3c.dom.mathml;

    public interface MathMLBvarElement extends MathMLContentContainer
    {
    };

### org/w3c/dom/mathml/MathMLPredefinedSymbol.java

    package org.w3c.dom.mathml;

    public interface MathMLPredefinedSymbol extends MathMLContentElement
    {
        public String                 getDefinitionURL();
        public void                   setDefinitionURL(String definitionURL);
        public String                 getEncoding();
        public void                   setEncoding(String encoding);
        public String                 getArity();
        public void                   setArity(String arity);
        public String                 getSymbolName();
    };

### org/w3c/dom/mathml/MathMLIntervalElement.java

    package org.w3c.dom.mathml;

    public interface MathMLIntervalElement extends MathMLContentElement
    {
        public String                 getClosure();
        public void                   setClosure(String closure);
        public MathMLCnElement        getStart();
        public void                   setStart(MathMLCnElement start);
        public MathMLCnElement        getEnd();
        public void                   setEnd(MathMLCnElement end);
    };

### org/w3c/dom/mathml/MathMLConditionElement.java

    package org.w3c.dom.mathml;

    public interface MathMLConditionElement extends MathMLContentElement
    {
        public MathMLApplyElement     getCondition();
        public void                   setCondition(MathMLApplyElement condition);
    };

### org/w3c/dom/mathml/MathMLDeclareElement.java

    package org.w3c.dom.mathml;

    public interface MathMLDeclareElement extends MathMLContentElement
    {
        public String                 getType();
        public void                   setType(String type);
        public int                    getNargs();
        public void                   setNargs(int nargs);
        public String                 getOccurrence();
        public void                   setOccurrence(String occurrence);
        public String                 getDefinitionURL();
        public void                   setDefinitionURL(String definitionURL);
        public String                 getEncoding();
        public void                   setEncoding(String encoding);
        public MathMLCiElement        getIdentifier();
        public void                   setIdentifier(MathMLCiElement identifier);
        public MathMLElement          getConstructor();
        public void                   setConstructor(MathMLElement constructor);
    };

### org/w3c/dom/mathml/MathMLVectorElement.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLVectorElement extends MathMLContentElement
    {
        public int                    getNcomponents();
        public MathMLContentElement   getComponent(int index);
        public MathMLContentElement   insertComponent(MathMLContentElement newComponent,
                                                      int index)
                                                             throws DOMException;
        public MathMLContentElement   setComponent(MathMLContentElement newComponent,
                                                   int index)
                                                             throws DOMException;
        public                        deleteComponent(int index)
                                                             throws DOMException;
        public MathMLContentElement   removeComponent(int index);
    };

### org/w3c/dom/mathml/MathMLMatrixElement.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLMatrixElement extends MathMLContentElement
    {
        public int                    getNrows();
        public int                    getNcols();
        public MathMLNodeList         getRows();
        public MathMLMatrixrowElement getRow(int index)
                                                             throws DOMException;
        public MathMLMatrixrowElement insertRow(MathMLMatrixrowElement newRow,
                                                int index)
                                                             throws DOMException;
        public MathMLMatrixrowElement setRow(MathMLMatrixrowElement newRow,
                                             int index)
                                                             throws DOMException;
        public                        deleteRow(int index)
                                                             throws DOMException;
        public MathMLMatrixrowElement removeRow(int index)
                                                             throws DOMException;
    };

### org/w3c/dom/mathml/MathMLMatrixrowElement.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLMatrixrowElement extends MathMLContentElement
    {
        public int                    getNEntries();
        public MathMLContentElement   getEntry(int index)
                                                             throws DOMException;
        public MathMLContentElement   insertEntry(MathMLContentElement newEntry,
                                                  int index)
                                                             throws DOMException;
        public MathMLContentElement   setEntry(MathMLContentElement newEntry,
                                               int index)
                                                             throws DOMException;
        public                        deleteEntry(int index)
                                                             throws DOMException;
        public MathMLContentElement   removeEntry(int index)
                                                             throws DOMException;
    };

### org/w3c/dom/mathml/MathMLPiecewiseElement.java

    package org.w3c.dom.mathml;

    import org.w3c.dom.DOMException;

    public interface MathMLPiecewiseElement extends MathMLContentElement
    {
        public MathMLNodeList         getPieces();
        public MathMLContentElement   getOtherwise();
        public void                   setOtherwise(MathMLContentElement otherwise);
        public MathMLCaseElement      getCase(int index);
        public MathMLCaseElement      setCase(int index,
                                              MathMLCaseElement case)
                                                             throws DOMException;
        public void                   deleteCase(int index)
                                                             throws DOMException;
        public MathMLCaseElement      removeCase(int index)
                                                             throws DOMException;
        public MathMLCaseElement      insertCase(int index,
                                                 MathMLCaseElement newCase)
                                                             throws DOMException;
        public MathMLContentElement   getCaseValue(int index)
                                                             throws DOMException;
        public MathMLContentElement   setCaseValue(int index,
                                                   MathMLContentElement value)
                                                             throws DOMException;
        public MathMLContentElement   getCaseCondition(int index)
                                                             throws DOMException;
        public MathMLContentElement   setCaseCondition(int index,
                                                       MathMLContentElement condition)
                                                             throws DOMException;
    };

### org/w3c/dom/mathml/MathMLCaseElement.java

    package org.w3c.dom.mathml;

    public interface MathMLCaseElement extends MathMLContentElement
    {
        public MathMLContentElement   getCaseCondition();
        public void                   setCaseCondition(MathMLContentElement caseCondition);
        public MathMLContentElement   getCaseValue();
        public void                   setCaseValue(MathMLContentElement caseValue);
    };

## E.3 MathML Document Object Model ECMAScript Binding

Object MathMLDOMImplementation
  MathMLDOMImplementation has all the properties and methods of DOMImplementation as well as the properties and methods defined below.
  The MathMLDOMImplementation object has the following methods:
    createMathMLDocument()
      This method returns a MathMLDocument.

Object MathMLDocument
  MathMLDocument has all the properties and methods of Document as well as the properties and methods defined below.
  The MathMLDocument object has the following properties:
    referrer
      This property is of type DOMString.
    domain
      This property is of type DOMString.
    URI
      This property is of type DOMString.

Object MathMLNodeList
  MathMLNodeList has all the properties and methods of NodeList as well as the properties and methods defined below.

Object MathMLElement
  MathMLElement has all the properties and methods of Element as well as the properties and methods defined below.
  The MathMLElement object has the following properties:
    className
      This property is of type DOMString.
    mathElementStyle
      This property is of type DOMString.
    id
      This property is of type DOMString.
    xref
      This property is of type DOMString.
    href
      This property is of type DOMString.
    ownerMathElement
      This property is of type MathMLMathElement.

Object MathMLContainer
  The MathMLContainer object has the following properties:
    nArguments
      This property is of type unsigned long.
    arguments
      This property is of type MathMLNodeList.
    declarations
      This property is of type MathMLNodeList.
  The MathMLContainer object has the following methods:
    getArgument(index)
      This method returns a MathMLElement. The index parameter is of type unsigned long.
    setArgument(newArgument,index)
      This method returns a MathMLElement. The newArgument parameter is of type MathMLElement. The index parameter is of type unsigned long.
    insertArgument(newArgument,index)
      This method returns a MathMLElement. The newArgument parameter is of type MathMLElement. The index parameter is of type unsigned long.
    deleteArgument(index)
      This method returns a void. The index parameter is of type unsigned long.
    removeArgument(index)
      This method returns a MathMLElement. The index parameter is of type unsigned long.
    getDeclaration(index)
      This method returns a MathMLDeclareElement. The index parameter is of type unsigned long.
    setDeclaration(newDeclaration,index)
      This method returns a MathMLDeclareElement. The newDeclaration parameter is of type MathMLDeclareElement. The index parameter is of type unsigned long.
    insertDeclaration(newDeclaration,index)
      This method returns a MathMLDeclareElement. The newDeclaration parameter is of type MathMLDeclareElement. The index parameter is of type unsigned long.
    removeDeclaration(index)
      This method returns a MathMLDeclareElement. The index parameter is of type unsigned long.
    deleteDeclaration(index)
      This method returns a void. The index parameter is of type unsigned long.

Object MathMLMathElement
  MathMLMathElement has all the properties and methods of MathMLElement, MathMLContainer as well as the properties and methods defined below.
  The MathMLMathElement object has the following properties:
    macros
      This property is of type DOMString.
    display
      This property is of type DOMString.

Object MathMLSemanticsElement
  MathMLSemanticsElement has all the properties and methods of MathMLElement as well as the properties and methods defined below.
  The MathMLSemanticsElement object has the following properties:
    body
      This property is of type MathMLElement.
    nAnnotations
      This property is of type unsigned long.
  The MathMLSemanticsElement object has the following methods:
    getAnnotation(index)
      This method returns a MathMLElement. The index parameter is of type unsigned long.
    insertAnnotation(newAnnotation,index)
      This method returns a MathMLElement. The newAnnotation parameter is of type MathMLElement. The index parameter is of type unsigned long.
    setAnnotation(newAnnotation,index)
      This method returns a MathMLElement. The newAnnotation parameter is of type MathMLElement. The index parameter is of type unsigned long.
    deleteAnnotation(index)
      This method returns a void. The index parameter is of type unsigned long.
    removeAnnotation(index)
      This method returns a MathMLElement. The index parameter is of type unsigned long.

Object MathMLAnnotationElement
  MathMLAnnotationElement has all the properties and methods of MathMLElement as well as the properties and methods defined below.
  The MathMLAnnotationElement object has the following properties:
    body
      This property is of type DOMString.
    encoding
      This property is of type DOMString.

Object MathMLXMLAnnotationElement
  MathMLXMLAnnotationElement has all the properties and methods of MathMLElement as well as the properties and methods defined below.
  The MathMLXMLAnnotationElement object has the following properties:
    encoding
      This property is of type DOMString.

Object MathMLPresentationElement
  MathMLPresentationElement has all the properties and methods of MathMLElement as well as the properties and methods defined below.

Object MathMLGlyphElement
  MathMLGlyphElement has all the properties and methods of MathMLPresentationElement as well as the properties and methods defined below.
  The MathMLGlyphElement object has the following properties:
    alt
      This property is of type DOMString.
    fontfamily
      This property is of type DOMString.
    index
      This property is of type unsigned long.

Object MathMLSpaceElement
  MathMLSpaceElement has all the properties and methods of MathMLPresentationElement as well as the properties and methods defined below.
  The MathMLSpaceElement object has the following properties:
    width
      This property is of type DOMString.
    height
      This property is of type DOMString.
    depth
      This property is of type DOMString.

Object MathMLPresentationToken
  MathMLPresentationToken has all the properties and methods of MathMLPresentationElement as well as the properties and methods defined below.
  The MathMLPresentationToken object has the following properties:
    mathvariant
      This property is of type DOMString.
    mathsize
      This property is of type DOMString.
    mathfamily
      This property is of type DOMString.
    mathcolor
      This property is of type DOMString.
    mathbackground
      This property is of type DOMString.
    contents
      This property is of type MathMLNodeList.

Object MathMLOperatorElement
  MathMLOperatorElement has all the properties and methods of MathMLPresentationToken as well as the properties and methods defined below.
  The MathMLOperatorElement object has the following properties:
    form
      This property is of type DOMString.
    fence
      This property is of type DOMString.
    separator
      This property is of type DOMString.
    lspace
      This property is of type DOMString.
    rspace
      This property is of type DOMString.
    stretchy
      This property is of type DOMString.
    symmetric
      This property is of type DOMString.
    maxsize
      This property is of type DOMString.
    minsize
      This property is of type DOMString.
    largeop
      This property is of type DOMString.
    moveablelimits
      This property is of type DOMString.
    accent
      This property is of type DOMString.

Object MathMLStringLitElement
  MathMLStringLitElement has all the properties and methods of MathMLPresentationToken as well as the properties and methods defined below.
  The MathMLStringLitElement object has the following properties:
    lquote
      This property is of type DOMString.
    rquote
      This property is of type DOMString.

Object MathMLPresentationContainer
  MathMLPresentationContainer has all the properties and methods of MathMLPresentationElement, MathMLContainer as well as the properties and methods defined below.

Object MathMLStyleElement
  MathMLStyleElement has all the properties and methods of MathMLPresentationContainer as well as the properties and methods defined below.
  The MathMLStyleElement object has the following properties:
    scriptlevel
      This property is of type DOMString.
    displaystyle
      This property is of type DOMString.
    scriptsizemultiplier
      This property is of type DOMString.
    scriptminsize
      This property is of type DOMString.
    color
      This property is of type DOMString.
    background
      This property is of type DOMString.

Object MathMLPaddedElement
  MathMLPaddedElement has all the properties and methods of MathMLPresentationContainer as well as the properties and methods defined below.
  The MathMLPaddedElement object has the following properties:
    width
      This property is of type DOMString.
    lspace
      This property is of type DOMString.
    height
      This property is of type DOMString.
    depth
      This property is of type DOMString.

Object MathMLFencedElement
  MathMLFencedElement has all the properties and methods of MathMLPresentationContainer as well as the properties and methods defined below.
  The MathMLFencedElement object has the following properties:
    open
      This property is of type DOMString.
    close
      This property is of type DOMString.
    separators
      This property is of type DOMString.

Object MathMLEncloseElement
  MathMLEncloseElement has all the properties and methods of MathMLPresentationContainer as well as the properties and methods defined below.
  The MathMLEncloseElement object has the following properties:
    notation
      This property is of type DOMString.

Object MathMLActionElement
  MathMLActionElement has all the properties and methods of MathMLPresentationContainer as well as the properties and methods defined below.
  The MathMLActionElement object has the following properties:
    actiontype
      This property is of type DOMString.
    selection
      This property is of type DOMString.

Object MathMLFractionElement
  MathMLFractionElement has all the properties and methods of MathMLPresentationElement as well as the properties and methods defined below.
  The MathMLFractionElement object has the following properties:
    linethickness
      This property is of type DOMString.
    numerator
      This property is of type MathMLElement.
    denominator
      This property is of type MathMLElement.

Object MathMLRadicalElement
  MathMLRadicalElement has all the properties and methods of MathMLPresentationElement as well as the properties and methods defined below.
  The MathMLRadicalElement object has the following properties:
    radicand
      This property is of type MathMLElement.
    index
      This property is of type MathMLElement.

Object MathMLScriptElement
  MathMLScriptElement has all the properties and methods of MathMLPresentationElement as well as the properties and methods defined below.
  The MathMLScriptElement object has the following properties:
    subscriptshift
      This property is of type DOMString.
    superscriptshift
      This property is of type DOMString.
    base
      This property is of type MathMLElement.
    subscript
      This property is of type MathMLElement.
    superscript
      This property is of type MathMLElement.

Object MathMLUnderOverElement
  MathMLUnderOverElement has all the properties and methods of MathMLPresentationElement as well as the properties and methods defined below.
  The MathMLUnderOverElement object has the following properties:
    accentunder
      This property is of type DOMString.
    accent
      This property is of type DOMString.
    base
      This property is of type MathMLElement.
    underscript
      This property is of type MathMLElement.
    overscript
      This property is of type MathMLElement.

Object MathMLMultiScriptsElement
  MathMLMultiScriptsElement has all the properties and methods of MathMLPresentationElement as well as the properties and methods defined below.
  The MathMLMultiScriptsElement object has the following properties:
    subscriptshift
      This property is of type DOMString.
    superscriptshift
      This property is of type DOMString.
    base
      This property is of type MathMLElement.
    prescripts
      This property is of type MathMLNodeList.
    scripts
      This property is of type MathMLNodeList.
    numprescriptcolumns
      This property is of type unsigned long.
    numscriptcolumns
      This property is of type unsigned long.
  The MathMLMultiScriptsElement object has the following methods:
    getPreSubScript(colIndex)
      This method returns a MathMLElement. The colIndex parameter is of type unsigned long.
    getSubScript(colIndex)
      This method returns a MathMLElement. The colIndex parameter is of type unsigned long.
    getPreSuperScript(colIndex)
      This method returns a MathMLElement. The colIndex parameter is of type unsigned long.
    getSuperScript(colIndex)
      This method returns a MathMLElement. The colIndex parameter is of type unsigned long.
    insertPreSubScriptBefore(colIndex,newScript)
      This method returns a MathMLElement. The colIndex parameter is of type unsigned long. The newScript parameter is of type MathMLElement.
    setPreSubScriptAt(colIndex,newScript)
      This method returns a MathMLElement. The colIndex parameter is of type unsigned long. The newScript parameter is of type MathMLElement.
    insertSubScriptBefore(colIndex,newScript)
      This method returns a MathMLElement. The colIndex parameter is of type unsigned long. The newScript parameter is of type MathMLElement.
    setSubScriptAt(colIndex,newScript)
      This method returns a MathMLElement. The colIndex parameter is of type unsigned long. The newScript parameter is of type MathMLElement.
    insertPreSuperScriptBefore(colIndex,newScript)
      This method returns a MathMLElement. The colIndex parameter is of type unsigned long. The newScript parameter is of type MathMLElement.
    setPreSuperScriptAt(colIndex,newScript)
      This method returns a MathMLElement. The colIndex parameter is of type unsigned long. The newScript parameter is of type MathMLElement.
    insertSuperScriptBefore(colIndex,newScript)
      This method returns a MathMLElement. The colIndex parameter is of type unsigned long. The newScript parameter is of type MathMLElement.
    setSuperScriptAt(colIndex,newScript)
      This method returns a MathMLElement. The colIndex parameter is of type unsigned long. The newScript parameter is of type MathMLElement.

Object MathMLTableElement
  MathMLTableElement has all the properties and methods of MathMLPresentationElement as well as the properties and methods defined below.
  The MathMLTableElement object has the following properties:
    align
      This property is of type DOMString.
    rowalign
      This property is of type DOMString.
    columnalign
      This property is of type DOMString.
    groupalign
      This property is of type DOMString.
    alignmentscope
      This property is of type DOMString.
    columnwidth
      This property is of type DOMString.
    width
      This property is of type DOMString.
    rowspacing
      This property is of type DOMString.
    columnspacing
      This property is of type DOMString.
    rowlines
      This property is of type DOMString.
    columnlines
      This property is of type DOMString.
    frame
      This property is of type DOMString.
    framespacing
      This property is of type DOMString.
    equalrows
      This property is of type DOMString.
    equalcolumns
      This property is of type DOMString.
    displaystyle
      This property is of type DOMString.
    side
      This property is of type DOMString.
    minlabelspacing
      This property is of type DOMString.
    rows
      This property is of type MathMLNodeList.
  The MathMLTableElement object has the following methods:
    insertEmptyRow(index)
      This method returns a MathMLTableRowElement. The index parameter is of type long.
    insertEmptyLabeledRow(index)
      This method returns a MathMLLabeledRowElement. The index parameter is of type long.
    getRow(index)
      This method returns a MathMLTableRowElement. The index parameter is of type unsigned long.
    insertRow(index,newRow)
      This method returns a MathMLTableRowElement. The index parameter is of type long. The newRow parameter is of type MathMLTableRowElement.
    setRow(index,newRow)
      This method returns a MathMLTableRowElement. The index parameter is of type long. The newRow parameter is of type MathMLTableRowElement.
    deleteRow(index)
      This method returns a void. The index parameter is of type unsigned long.
    removeRow(index)
      This method returns a MathMLTableRowElement. The index parameter is of type long.

Object MathMLTableRowElement
  MathMLTableRowElement has all the properties and methods of MathMLPresentationElement as well as the properties and methods defined below.
  The MathMLTableRowElement object has the following properties:
    rowalign
      This property is of type DOMString.
    columnalign
      This property is of type DOMString.
    groupalign
      This property is of type DOMString.
    cells
      This property is of type MathMLNodeList.
  The MathMLTableRowElement object has the following methods:
    insertEmptyCell(index)
      This method returns a MathMLTableCellElement. The index parameter is of type unsigned long.
    insertCell(newCell,index)
      This method returns a MathMLTableCellElement. The newCell parameter is of type MathMLTableCellElement. The index parameter is of type unsigned long.
    setCell(newCell,index)
      This method returns a MathMLTableCellElement. The newCell parameter is of type MathMLTableCellElement. The index parameter is of type unsigned long.
    deleteCell(index)
      This method returns a void. The index parameter is of type unsigned long.

Object MathMLLabeledRowElement
  MathMLLabeledRowElement has all the properties and methods of MathMLTableRowElement as well as the properties and methods defined below.
  The MathMLLabeledRowElement object has the following properties:
    label
      This property is of type MathMLElement.

Object MathMLTableCellElement
  MathMLTableCellElement has all the properties and methods of MathMLPresentationContainer as well as the properties and methods defined below.
  The MathMLTableCellElement object has the following properties:
    rowspan
      This property is of type DOMString.
    columnspan
      This property is of type DOMString.
    rowalign
      This property is of type DOMString.
    columnalign
      This property is of type DOMString.
    groupalign
      This property is of type DOMString.
    hasaligngroups
      This property is of type boolean.
    cellindex
      This property is of type DOMString.

Object MathMLAlignGroupElement
  MathMLAlignGroupElement has all the properties and methods of MathMLPresentationElement as well as the properties and methods defined below.
  The MathMLAlignGroupElement object has the following properties:
    groupalign
      This property is of type DOMString.

Object MathMLAlignMarkElement
  MathMLAlignMarkElement has all the properties and methods of MathMLPresentationElement as well as the properties and methods defined below.
  The MathMLAlignMarkElement object has the following properties:
    edge
      This property is of type DOMString.

Object MathMLContentElement
  MathMLContentElement has all the properties and methods of MathMLElement as well as the properties and methods defined below.

Object MathMLContentToken
  MathMLContentToken has all the properties and methods of MathMLContentElement as well as the properties and methods defined below.
  The MathMLContentToken object has the following properties:
    arguments
      This property is of type MathMLNodeList.
    definitionURL
      This property is of type DOMString.
    encoding
      This property is of type DOMString.
  The MathMLContentToken object has the following methods:
    getArgument(index)
      This method returns a Node. The index parameter is of type unsigned long.
    insertArgument(index,newArgument)
      This method returns a Node. The index parameter is of type unsigned long. The newArgument parameter is of type Node.
    setArgument(index,newArgument)
      This method returns a Node. The index parameter is of type unsigned long. The newArgument parameter is of type Node.
    deleteArgument(index)
      This method returns a void. The index parameter is of type unsigned long.
    removeArgument(index)
      This method returns a Node. The index parameter is of type unsigned long.

Object MathMLCnElement
  MathMLCnElement has all the properties and methods of MathMLContentToken as well as the properties and methods defined below.
  The MathMLCnElement object has the following properties:
    type
      This property is of type DOMString.
    base
      This property is of type DOMString.
    nargs
      This property is of type unsigned long.

Object MathMLCiElement
  MathMLCiElement has all the properties and methods of MathMLContentToken as well as the properties and methods defined below.
  The MathMLCiElement object has the following properties:
    type
      This property is of type DOMString.

Object MathMLCsymbolElement
  MathMLCsymbolElement has all the properties and methods of MathMLContentToken as well as the properties and methods defined below.

Object MathMLContentContainer
  MathMLContentContainer has all the properties and methods of MathMLContentElement, MathMLContainer as well as the properties and methods defined below.
  The MathMLContentContainer object has the following properties:
    nBoundVariables
      This property is of type unsigned long.
    condition
      This property is of type MathMLConditionElement.
    opDegree
      This property is of type MathMLElement.
    domainOfApplication
      This property is of type MathMLElement.
    momentAbout
      This property is of type MathMLElement.
  The MathMLContentContainer object has the following methods:
    getBoundVariable(index)
      This method returns a MathMLBvarElement. The index parameter is of type unsigned long.
    insertBoundVariable(newBVar,index)
      This method returns a MathMLBvarElement. The newBVar parameter is of type MathMLBvarElement. The index parameter is of type unsigned long.
    setBoundVariable(newBVar,index)
      This method returns a MathMLBvarElement. The newBVar parameter is of type MathMLBvarElement. The index parameter is of type unsigned long.
    deleteBoundVariable(index)
      This method returns a void. The index parameter is of type unsigned long.
    removeBoundVariable(index)
      This method returns a MathMLBvarElement. The index parameter is of type unsigned long.

Object MathMLApplyElement
  MathMLApplyElement has all the properties and methods of MathMLContentContainer as well as the properties and methods defined below.
  The MathMLApplyElement object has the following properties:
    operator
      This property is of type MathMLElement.
    domainOfApplication
      This property is of type MathMLElement.
    lowLimit
      This property is of type MathMLElement.
    upLimit
      This property is of type MathMLElement.

Object MathMLFnElement
  MathMLFnElement has all the properties and methods of MathMLContentContainer as well as the properties and methods defined below.
  The MathMLFnElement object has the following properties:
    definitionURL
      This property is of type DOMString.
    encoding
      This property is of type DOMString.

Object MathMLLambdaElement
  MathMLLambdaElement has all the properties and methods of MathMLContentContainer as well as the properties and methods defined below.
  The MathMLLambdaElement object has the following properties:
    expression
      This property is of type MathMLElement.

Object MathMLSetElement
  MathMLSetElement has all the properties and methods of MathMLContentContainer as well as the properties and methods defined below.
  The MathMLSetElement object has the following properties:
    isExplicit
      This property is of type boolean.
    type
      This property is of type DOMString.

Object MathMLListElement
  MathMLListElement has all the properties and methods of MathMLContentContainer as well as the properties and methods defined below.
  The MathMLListElement object has the following properties:
    isExplicit
      This property is of type boolean.
    ordering
      This property is of type DOMString.

Object MathMLBvarElement
  MathMLBvarElement has all the properties and methods of MathMLContentContainer as well as the properties and methods defined below.

Object MathMLPredefinedSymbol
  MathMLPredefinedSymbol has all the properties and methods of MathMLContentElement as well as the properties and methods defined below.
  The MathMLPredefinedSymbol object has the following properties:
    definitionURL
      This property is of type DOMString.
    encoding
      This property is of type DOMString.
    arity
      This property is of type DOMString.
    symbolName
      This property is of type DOMString.

Object MathMLIntervalElement
  MathMLIntervalElement has all the properties and methods of MathMLContentElement as well as the properties and methods defined below.
  The MathMLIntervalElement object has the following properties:
    closure
      This property is of type DOMString.
    start
      This property is of type MathMLCnElement.
    end
      This property is of type MathMLCnElement.

Object MathMLConditionElement
  MathMLConditionElement has all the properties and methods of MathMLContentElement as well as the properties and methods defined below.
  The MathMLConditionElement object has the following properties:
    condition
      This property is of type MathMLApplyElement.

Object MathMLDeclareElement
  MathMLDeclareElement has all the properties and methods of MathMLContentElement as well as the properties and methods defined below.
  The MathMLDeclareElement object has the following properties:
    type
      This property is of type DOMString.
    nargs
      This property is of type unsigned long.
    occurrence
      This property is of type DOMString.
    definitionURL
      This property is of type DOMString.
    encoding
      This property is of type DOMString.
    identifier
      This property is of type MathMLCiElement.
    constructor
      This property is of type MathMLElement.

Object MathMLVectorElement
  MathMLVectorElement has all the properties and methods of MathMLContentElement as well as the properties and methods defined below.
  The MathMLVectorElement object has the following properties:
    ncomponents
      This property is of type unsigned long.
  The MathMLVectorElement object has the following methods:
    getComponent(index)
      This method returns a MathMLContentElement. The index parameter is of type unsigned long.
    insertComponent(newComponent,index)
      This method returns a MathMLContentElement. The newComponent parameter is of type MathMLContentElement. The index parameter is of type unsigned long.
    setComponent(newComponent,index)
      This method returns a MathMLContentElement. The newComponent parameter is of type MathMLContentElement. The index parameter is of type unsigned long.
    deleteComponent(index)
      This method returns a void. The index parameter is of type unsigned long.
    removeComponent(index)
      This method returns a MathMLContentElement. The index parameter is of type unsigned long.

Object MathMLMatrixElement
  MathMLMatrixElement has all the properties and methods of MathMLContentElement as well as the properties and methods defined below.
  The MathMLMatrixElement object has the following properties:
    nrows
      This property is of type unsigned long.
    ncols
      This property is of type unsigned long.
    rows
      This property is of type MathMLNodeList.
  The MathMLMatrixElement object has the following methods:
    getRow(index)
      This method returns a MathMLMatrixrowElement. The index parameter is of type unsigned long.
    insertRow(newRow,index)
      This method returns a MathMLMatrixrowElement. The newRow parameter is of type MathMLMatrixrowElement. The index parameter is of type unsigned long.
    setRow(newRow,index)
      This method returns a MathMLMatrixrowElement. The newRow parameter is of type MathMLMatrixrowElement. The index parameter is of type unsigned long.
    deleteRow(index)
      This method returns a void. The index parameter is of type unsigned long.
    removeRow(index)
      This method returns a MathMLMatrixrowElement. The index parameter is of type unsigned long.

Object MathMLMatrixrowElement
  MathMLMatrixrowElement has all the properties and methods of MathMLContentElement as well as the properties and methods defined below.
  The MathMLMatrixrowElement object has the following properties:
    nEntries
      This property is of type unsigned long.
  The MathMLMatrixrowElement object has the following methods:
    getEntry(index)
      This method returns a MathMLContentElement. The index parameter is of type unsigned long.
    insertEntry(newEntry,index)
      This method returns a MathMLContentElement. The newEntry parameter is of type MathMLContentElement. The index parameter is of type unsigned long.
    setEntry(newEntry,index)
      This method returns a MathMLContentElement. The newEntry parameter is of type MathMLContentElement. The index parameter is of type unsigned long.
    deleteEntry(index)
      This method returns a void. The index parameter is of type unsigned long.
    removeEntry(index)
      This method returns a MathMLContentElement. The index parameter is of type unsigned long.

Object MathMLPiecewiseElement
  MathMLPiecewiseElement has all the properties and methods of MathMLContentElement as well as the properties and methods defined below.
  The MathMLPiecewiseElement object has the following properties:
    pieces
      This property is of type MathMLNodeList.
    otherwise
      This property is of type MathMLContentElement.
  The MathMLPiecewiseElement object has the following methods:
    getCase(index)
      This method returns a MathMLCaseElement. The index parameter is of type unsigned long.
    setCase(index,case)
      This method returns a MathMLCaseElement. The index parameter is of type unsigned long. The case parameter is of type MathMLCaseElement.
    deleteCase(index)
      This method returns a void. The index parameter is of type unsigned long.
    removeCase(index)
      This method returns a MathMLCaseElement. The index parameter is of type unsigned long.
    insertCase(index,newCase)
      This method returns a MathMLCaseElement. The index parameter is of type unsigned long. The newCase parameter is of type MathMLCaseElement.
    getCaseValue(index)
      This method returns a MathMLContentElement. The index parameter is of type unsigned long.
    setCaseValue(index,value)
      This method returns a MathMLContentElement. The index parameter is of type unsigned long. The value parameter is of type MathMLContentElement.
    getCaseCondition(index)
      This method returns a MathMLContentElement. The index parameter is of type unsigned long.
    setCaseCondition(index,condition)
      This method returns a MathMLContentElement. The index parameter is of type unsigned long. The condition parameter is of type MathMLContentElement.

Object MathMLCaseElement
  MathMLCaseElement has all the properties and methods of MathMLContentElement as well as the properties and methods defined below.
  The MathMLCaseElement object has the following properties:
    caseCondition
      This property is of type MathMLContentElement.
    caseValue
      This property is of type MathMLContentElement.

Overview: Mathematical Markup Language (MathML) Version 2.0
Previous: D Document Object Model for MathML
Next: F Operator Dictionary (Non-normative)