L'élément racine de MathML est <math>
. Tout objet représenté en MathML doit être encadré de balises <math>
. De plus, il est interdit d'imbriquer un autre élément <math>
à l'intérieur d'un premier. Il est toutefois possible d'avoir un nombre arbitraire d'éléments fils à l'intérieur d'un élément <math>
.
Attributs
En plus des attributs qui suivent, l'élément <math>
accepte tous les attributs de l'élément <mstyle>
.
- class, id, style
- Afin d'être utilisés avec les feuilles de style.
- dir
-
ltr
(gauche à droite) ourtl
(droite à gauche).
Le sens global de lecture des formules. Les valeurs possibles sont - href
- Un hyperlien pointant vers un URI donné.
- mathbackground
-
La couleur de fond. Il est possible d'utiliser les codes au format
#rgb
,#rrggbb
et les noms de couleurs HTML. - mathcolor
-
La couleur du texte. Il est possible d'utiliser les codes au format
#rgb
,#rrggbb
et les noms de couleurs HTML. - display
-
Cet attribut à valeur donnée définit la façon dont le balisage MathML doit être rendu. Il peut avoir l'une des valeurs suivantes :
block
, ce qui signifie que cet élément sera affiché en dehors du fragment de texte courant, comme un bloc qui pourra être positionné n'importe où sans que cela change le sens du texte ;inline
, ce qui signifie que cet élément sera affiché au sein du fragment de texte courant et qu'il ne peut pas être déplacé sans que cela change le sens de ce texte.
La valeur par défaut, si l'attribut n'est pas présent, est
inline
. - mode
-
Déprécié. L'attribut
display
doit être utilisé à la place. (Les anciennes valeurs possibles pour cet attribut étaitdisplay
- équivalent àdisplay="block"
etinline
) - overflow
-
Définit comment l'affichage de la formule est géré si celle-ci est trop grande pour être insérée dans l'espace alloué.
Les valeurs possible pour cet attribut sont :linebreak
(la valeur par défaut),scroll
,elide
,truncate
,scale
.
Exemples
Notation HTML5
<!DOCTYPE html> <html> <head> <title>MathML en HTML5</title> </head> <body> <math> <mrow> <mrow> <msup> <mi>a</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>b</mi> <mn>2</mn> </msup> </mrow> <mo>=</mo> <msup> <mi>c</mi> <mn>2</mn> </msup> </mrow> </math> </body> </html>
Notation XHTML
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "https://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd"> <html xmlns="https://www.w3.org/1999/xhtml"> <head> <title>MathML en XHTML</title> </head> <body> <math xmlns="https://www.w3.org/1998/Math/MathML"> <mrow> <mrow> <msup> <mi>a</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>b</mi> <mn>2</mn> </msup> </mrow> <mo>=</mo> <msup> <mi>c</mi> <mn>2</mn> </msup> </mrow> </math> </body> </html>
Note : Les documents XHTML avec du MathML doivent être servis en tant que application/xhtml+xml
. Ceci est facilement réalisable en ajoutant l'extension .xhtml
aux fichiers locaux. Pour les serveurs Apache, il est possible de configurer le fichier .htaccess
afin que les extensions correspondent au type MIME correct. Étant donné qu'ici le MathML est utilisé au sein d'un document XML, il faut s'assurer que celui-ci est bien formé.
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Notation XHTML | Pas de support (24 only) | 1.0 (1.7 ou moins) | Pas de support | 9.5 | 5.1 |
Notation HTML5 | Pas de support (24 only) | 4.0 (2.0) | Pas de support | Pas de support | 5.1 |
dir |
Pas de support | 12.0 (12.0) | Pas de support | Pas de support | Pas de support |
href |
Pas de support WebKit bug 85733 | 7.0 (7.0) | Pas de support | Pas de support | Pas de support WebKit bug 85733 |
mathbackground |
Pas de support (24 only) | 4.0 (2.0) | Pas de support | Pas de support | 5.1 |
mathcolor |
Pas de support (24 only) | 4.0 (2.0) | Pas de support | Pas de support | 5.1 |
overflow |
Pas de support | Pas de support | Pas de support | Pas de support | Pas de support |
Fonctionnalité | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Notation XHTML | Pas de support | Pas de support | 1.0 (1.0) | Pas de support | Pas de support | Pas de support |
Notation HTML5 | Pas de support | Pas de support | 4.0 (2.0) | Pas de support | Pas de support | Pas de support |
dir |
Pas de support | Pas de support | 12.0 (12.0) | Pas de support | Pas de support | Pas de support |
href |
Pas de support | Pas de support | 7.0 (7.0) | Pas de support | Pas de support | Pas de support |
mathbackground |
Pas de support | Pas de support | 4.0 (2.0) | Pas de support | Pas de support | Pas de support |
mathcolor |
Pas de support | Pas de support | 4.0 (2.0) | Pas de support | Pas de support | Pas de support |
overflow |
Pas de support | Pas de support | Pas de support | Pas de support | Pas de support | Pas de support |
Notes relatives à Gecko
Gecko 7.0 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4) a introduit le support de tous les attributs MathML sur l'élément racine math (c'est à dire le même comportement que l'élément <mstyle>
). Cependant, l'attribut displaystyle
n'avait pas été pris en compte et a été ajouté dans Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5).
Un moyen textuel alternatif (alttext
) ou une référence à une image alternative utilisant les attributs altimg
, altimg-width
, altimg-height
ou altimg-valign
n'est pas encore, à l'heure actuelle, implémentée dans Gecko.
Spécifications
Spécification | Statut | Commentaires |
---|---|---|
MathML 3.0 | Recommendation | Spécification actuelle |
MathML 2.0 | Recommendation | Spécification initiale |