MathML.
This specification is an experimental breakup of the HTML specification. You can see the full list on the index page and take part in the discussion in the repository.
The math
element from the MathML namespace
falls into the embedded content, phrasing content, and flow
content categories for the purposes of the content models in this specification.
This specification refers to several specific MathML elements, in particular:
annotation-xml
,
merror
,
mi
,
mn
,
mo
,
ms
, and
mtext
.
When the MathML annotation-xml
element contains
elements from the HTML namespace, such elements must all be flow
content. [[!MATHML]]
When the MathML token elements (mi
, mo
, mn
, ms
,
and mtext
) are descendants of HTML elements, they may contain
phrasing content elements from the HTML namespace. [[!MATHML]]
User agents must handle text other than inter-element whitespace found in MathML
elements whose content models do not allow straight text by pretending for the purposes of MathML
content models, layout, and rendering that that text is actually wrapped in an mtext
element in the MathML namespace. (Such text is not,
however, conforming.)
User agents must act as if any MathML element whose contents does not match the element's
content model was replaced, for the purposes of MathML layout and rendering, by an merror
element in the MathML namespace containing some
appropriate error message.
To enable authors to use MathML tools that only accept MathML in its XML form, interactive HTML user agents are encouraged to provide a way to export any MathML fragment as an XML namespace-well-formed XML fragment.
The semantics of MathML elements are defined by the MathML specification and other applicable specifications. [[!MATHML]]
Here is an example of the use of MathML in an HTML document:
<!DOCTYPE html> <html> <head> <title>The quadratic formula</title> </head> <body> <h1>The quadratic formula</h1> <p> <math> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mo form="prefix">−</mo> <mi>b</mi> <mo>±</mo> <msqrt> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>−</mo> <mn>4</mn> <mo></mo> <mi>a</mi> <mo></mo> <mi>c</mi> </msqrt> </mrow> <mrow> <mn>2</mn> <mo></mo> <mi>a</mi> </mrow> </mfrac> </math> </p> </body> </html>