The IDL binding is also available as an IDL file at http://www.w3.org/Math/DOM/mathml2/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;
             attribute DOMString         linebreak;
  };
  
  interface MathMLPresentationToken : MathMLPresentationElement
  {
             attribute DOMString         mathvariant;
             attribute DOMString         mathsize;
             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         movablelimits;
             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         background;
             attribute DOMString         veryverythinmathspace;
             attribute DOMString         verythinmathspace;
             attribute DOMString         thinmathspace;
             attribute DOMString         mediummathspace;
             attribute DOMString         thickmathspace;
             attribute DOMString         verythickmathspace;
             attribute DOMString         veryverythickmathspace;
             attribute DOMString         negativeveryverythinmathspace;
             attribute DOMString         negativeverythinmathspace;
             attribute DOMString         negativethinmathspace;
             attribute DOMString         negativemediummathspace;
             attribute DOMString         negativethickmathspace;
             attribute DOMString         negativeverythickmathspace;
             attribute DOMString         negativeveryverythickmathspace;
  };
  
  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 DOMString         numalign;
             attribute DOMString         denomalign;
             attribute DOMString         bevelled;
             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 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 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 Node newArgument,
                                             in unsigned long index);
    Node                      setArgument(in Node newArgument,
                                          in unsigned long index);
    void                      deleteArgument(in unsigned long index);
    Node                      removeArgument(in unsigned long index);
  };
  
  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     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;
    readonly attribute DOMString         arity;
    readonly attribute DOMString         symbolName;
  };
  
  interface MathMLTendsToElement : MathMLPredefinedSymbol
  {
             attribute DOMString         type;
  };
  
  interface MathMLIntervalElement : MathMLContentElement
  {
             attribute DOMString         closure;
             attribute MathMLContentElement start;
             attribute MathMLContentElement 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
The Java bindings are also available in zipped form at http://www.w3.org/Math/DOM/mathml2/mathml-dom_java.zip.
package org.w3c.dom.mathml;
import org.w3c.dom.DOMImplementation;
public interface MathMLDOMImplementation extends DOMImplementation
{
    public MathMLDocument         createMathMLDocument();
};
    
package org.w3c.dom.mathml;
import org.w3c.dom.Document;
public interface MathMLDocument extends Document
{
    public String                 getReferrer();
    public String                 getDomain();
    public String                 getURI();
};
    
package org.w3c.dom.mathml;
import org.w3c.dom.NodeList;
public interface MathMLNodeList extends NodeList
{
};
    
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();
};
    
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;
};
    
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);
};
    
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);
};
    
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);
};
    
package org.w3c.dom.mathml;
public interface MathMLXMLAnnotationElement extends MathMLElement
{
    public String                 getEncoding();
    public void                   setEncoding(String encoding);
};
    
package org.w3c.dom.mathml;
public interface MathMLPresentationElement extends MathMLElement
{
};
    
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);
};
    
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);
    public String                 getLinebreak();
    public void                   setLinebreak(String linebreak);
};
    
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                 getMathcolor();
    public void                   setMathcolor(String mathcolor);
    public String                 getMathbackground();
    public void                   setMathbackground(String mathbackground);
    public MathMLNodeList         getContents();
};
    
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                 getMovablelimits();
    public void                   setMovablelimits(String movablelimits);
    public String                 getAccent();
    public void                   setAccent(String accent);
};
    
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);
};
    
package org.w3c.dom.mathml;
public interface MathMLPresentationContainer extends MathMLPresentationElement, MathMLContainer
{
};
    
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                 getBackground();
    public void                   setBackground(String background);
    public String                 getVeryverythinmathspace();
    public void                   setVeryverythinmathspace(String veryverythinmathspace);
    public String                 getVerythinmathspace();
    public void                   setVerythinmathspace(String verythinmathspace);
    public String                 getThinmathspace();
    public void                   setThinmathspace(String thinmathspace);
    public String                 getMediummathspace();
    public void                   setMediummathspace(String mediummathspace);
    public String                 getThickmathspace();
    public void                   setThickmathspace(String thickmathspace);
    public String                 getVerythickmathspace();
    public void                   setVerythickmathspace(String verythickmathspace);
    public String                 getVeryverythickmathspace();
    public void                   setVeryverythickmathspace(String veryverythickmathspace);
    public String                 getNegativeveryverythinmathspace();
    public void                   setNegativeveryverythinmathspace(String negativeveryverythinmathspace);
    public String                 getNegativeverythinmathspace();
    public void                   setNegativeverythinmathspace(String negativeverythinmathspace);
    public String                 getNegativethinmathspace();
    public void                   setNegativethinmathspace(String negativethinmathspace);
    public String                 getNegativemediummathspace();
    public void                   setNegativemediummathspace(String negativemediummathspace);
    public String                 getNegativethickmathspace();
    public void                   setNegativethickmathspace(String negativethickmathspace);
    public String                 getNegativeverythickmathspace();
    public void                   setNegativeverythickmathspace(String negativeverythickmathspace);
    public String                 getNegativeveryverythickmathspace();
    public void                   setNegativeveryverythickmathspace(String negativeveryverythickmathspace);
};
    
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);
};
    
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);
};
    
package org.w3c.dom.mathml;
public interface MathMLEncloseElement extends MathMLPresentationContainer
{
    public String                 getNotation();
    public void                   setNotation(String notation);
};
    
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);
};
    
package org.w3c.dom.mathml;
public interface MathMLFractionElement extends MathMLPresentationElement
{
    public String                 getLinethickness();
    public void                   setLinethickness(String linethickness);
    public String                 getNumalign();
    public void                   setNumalign(String numalign);
    public String                 getDenomalign();
    public void                   setDenomalign(String denomalign);
    public String                 getBevelled();
    public void                   setBevelled(String bevelled);
    public MathMLElement          getNumerator();
    public void                   setNumerator(MathMLElement numerator);
    public MathMLElement          getDenominator();
    public void                   setDenominator(MathMLElement denominator);
};
    
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);
};
    
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;
};
    
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;
};
    
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;
};
    
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;
};
    
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);
};
    
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;
};
    
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();
};
    
package org.w3c.dom.mathml;
public interface MathMLAlignGroupElement extends MathMLPresentationElement
{
    public String                 getGroupalign();
    public void                   setGroupalign(String groupalign);
};
    
package org.w3c.dom.mathml;
public interface MathMLAlignMarkElement extends MathMLPresentationElement
{
    public String                 getEdge();
    public void                   setEdge(String edge);
};
    
package org.w3c.dom.mathml;
public interface MathMLContentElement extends MathMLElement
{
};
    
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(Node newArgument,
                                                 int index);
    public Node                   setArgument(Node newArgument,
                                              int index);
    public void                   deleteArgument(int index);
    public Node                   removeArgument(int index);
};
    
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();
};
    
package org.w3c.dom.mathml;
public interface MathMLCiElement extends MathMLContentToken
{
    public String                 getType();
    public void                   setType(String type);
};
    
package org.w3c.dom.mathml;
public interface MathMLCsymbolElement extends MathMLContentToken
{
};
    
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);
};
    
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          getLowLimit();
    public void                   setLowLimit(MathMLElement lowLimit)
                                                         throws DOMException;
    public MathMLElement          getUpLimit();
    public void                   setUpLimit(MathMLElement upLimit)
                                                         throws DOMException;
};
    
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);
};
    
package org.w3c.dom.mathml;
public interface MathMLLambdaElement extends MathMLContentContainer
{
    public MathMLElement          getExpression();
    public void                   setExpression(MathMLElement expression);
};
    
package org.w3c.dom.mathml;
public interface MathMLSetElement extends MathMLContentContainer
{
    public boolean                getIsExplicit();
    public String                 getType();
    public void                   setType(String type);
};
    
package org.w3c.dom.mathml;
public interface MathMLListElement extends MathMLContentContainer
{
    public boolean                getIsExplicit();
    public String                 getOrdering();
    public void                   setOrdering(String ordering);
};
    
package org.w3c.dom.mathml;
public interface MathMLBvarElement extends MathMLContentContainer
{
};
    
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 String                 getSymbolName();
};
    
package org.w3c.dom.mathml;
public interface MathMLTendsToElement extends MathMLPredefinedSymbol
{
    public String                 getType();
    public void                   setType(String type);
};
    
package org.w3c.dom.mathml;
public interface MathMLIntervalElement extends MathMLContentElement
{
    public String                 getClosure();
    public void                   setClosure(String closure);
    public MathMLContentElement   getStart();
    public void                   setStart(MathMLContentElement start);
    public MathMLContentElement   getEnd();
    public void                   setEnd(MathMLContentElement end);
};
    
package org.w3c.dom.mathml;
public interface MathMLConditionElement extends MathMLContentElement
{
    public MathMLApplyElement     getCondition();
    public void                   setCondition(MathMLApplyElement condition);
};
    
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);
};
    
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);
};
    
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;
};
    
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;
};
    
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;
};
    
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);
};