The data-* MathML attributes are called custom data attributes. They let MathML markup and its resulting DOM share information that standard attributes can't, usually for scripting purposes. Their custom data are available via the MathMLElement interface of the element the attributes belong to, with the MathMLElement.dataset property.
The * can be replaced by any characters allowed in XML's rules for names, with the following restrictions:
xml.;, U+003A).A to Z letters.Note: The MathMLElement.dataset property is a DOMStringMap that provides the attribute data-test-value via MathMLElement.dataset.testValue. Hyphen characters (-, U+002D) are removed and the next letter is capitalized, resulting in the camel case format.
You can use this attribute with any MathML element.
<math>
<msup data-formula="euler" data-value="-1">
<mi>e</mi>
<mrow><mi>i</mi> <mi>π</mi></mrow>
</msup>
<mo>+</mo>
<mn>1</mn>
<mo>=</mo>
<mn>0</mn>
</math>const msupElement = document.querySelector("msup");
console.log(msupElement.dataset.formula); // "euler"
console.log(msupElement.dataset.value); // "-1"MathMLElementMathMLElement.dataset property used to access these attributes from scripts.