MathML (.mml)

  • Import and Export fully support the MathML 2.0 specification.
  • Background

      MIME type: text/mathml, application/mathml+xml
      MathML mathematical markup language.
      Used for integrating mathematical formulas in web documents.
      Rendering of embedded MathML is supported by a number of browsers and browser additions.
      Specifies the presentation and the semantic content of mathematical formulas.
      XML-based format.
      Based on a draft that was derived from the Wolfram typesetting language.
      Introduced in 1999 and updated in 2003 by the W3C math working group.

    Import and Export

    • Import["file.mml"] imports a MathML file and returns a box expression.
    • Export["file.mml",expr] exports an arbitrary expression to MathML.
    • Import["file.mml"] reads the MathML presentation elements from a file and converts them to the corresponding Wolfram Language box expression.
    • Import["file.mml","Expression"] converts MathML to a Wolfram Language expression using TraditionalForm interpretation rules.
    • Export["file.mml",expr] converts a box expression or an arbitrary Wolfram Language expression to MathML.
    • When exporting an arbitrary mathematical expression, its presentation and its context are represented in the resulting MathML.
    • Import["file.mml",elem] imports the specified element from a MathML file.
    • Import["file.mml",{{elem1,elem2,}}] imports multiple elements.
    • The import format can be specified with Import["file", "MathML"] or Import["file",{"MathML",elem,}].
    • Export["file.mml",expr, elem] creates a MathML file by treating expr as specifying element elem.
    • Export["file.mml",{expr1,expr2,},{{elem1,elem2,}}] treats each expri as specifying the corresponding elemi.
    • Export["file.mml",expr,opt1->val1,] exports expr with the specified option elements taken to have the specified values.
    • Export["file.mml",{elem1->expr1,elem2->expr2,},"Rules"] uses rules to specify the elements to be exported.
    • The export format can be explicitly specified in the form Export["file",expr,"MathML"] or Export["file",expr,{"MathML",elems}].
    • See the reference pages for full general information on Import and Export.
    • ImportString and ExportString support the MathML format.

    Elements

    • General Import elements:
    • "Elements"list of elements and options available in this file
      "Rules"full list of rules for each element and option
      "Options"list of rules for options, properties, and settings
    • Data representation elements:
    • "Boxes"MathML typeset as a Wolfram Language box expression
      "Expression"arbitrary Wolfram Language expression
      "HeldExpression"unevaluated expression
      "XMLObject"MathML as a symbolic XML expression
      "XMLElement"nested XMLElement objects
    • Import and Export use the "Boxes" element by default.

    Options

    • Export options:
    • "Annotations"{}which annotations to include
      "Presentation"Truewhether to export MathML presentation elements
      "Content"Falsewhether to export MathML content elements
    • The setting for "Annotations" is a list which may include any number of the choices "DocumentHeader", "XMLDeclaration", and "DOCTYPEDeclaration".

    Examples

    Basic Examples  (2)

    Exporting an arbitrary mathematical expression by default generates presentation MathML:

    In[1]:=
    Click for copyable input
    Out[1]=

    This creates combined presentation and content MathML:

    In[2]:=
    Click for copyable input
    Out[2]=

    This generates pure content MathML:

    In[3]:=
    Click for copyable input
    Out[3]=

    Define and display a Wolfram Language box expression:

    In[1]:=
    Click for copyable input
    Out[1]=
    In[2]:=
    Click for copyable input
    Out[2]//DisplayForm=

    Convert it to presentation MathML:

    In[3]:=
    Click for copyable input
    Out[3]=

    Convert the previous output to a box expression and display it:

    In[4]:=
    Click for copyable input
    Out[4]=
    In[5]:=
    Click for copyable input
    Out[5]//DisplayForm=

    Import automatically recognizes the MathML format:

    In[6]:=
    Click for copyable input
    Out[6]=

    Show the available Import elements:

    In[7]:=
    Click for copyable input
    Out[7]=

    Convert MathML to an evaluated expression:

    In[8]:=
    Click for copyable input
    Out[8]=

    Import MathML as a symbolic XML expression:

    In[9]:=
    Click for copyable input
    Out[9]=

    See Also

    "ExpressionML"  "HTML"  "Package"  "XHTML"  "XHTMLMathML"

    Introduced in 1999
    (4.0)
    | Updated in 2007
    (6.0)