MathML

De EduTech Wiki
Aller à la navigation Aller à la recherche

Définition

  • MathML permet de structurer des expressions mathématiques afin de les afficher, manipuler et partager sur le web.

Le language

Codé MathML à la main devient vite compliqué. Il y a 30 éléments de présentation MathML (par exemple les fractions), avec environ 50 attributs et autour de 100 éléments pour le balisage de contenu (par exemple les opérations telles que + et les fonctions). Ces éléments servent à coder les formules mathématiques. La plupart des éléments représentent des modèles pour la composition et de structuration des sous-expressions.

Étant donné que MathML est très verbeux, il est vivement recommandé d'utiliser un outil ou un logiciel de conversion pour construire des pages Web avec MathML(par exemple à partir de Latex) .

Intégration avec XHTML

Si votre navigateur prend en charge XHTML et MathML (par exemple Firefox) tout ce que vous avez à faire est de s'assurer que les éléments MathML sont préfixés par le nom de domaine XML (en.) correct.

MathML comme un vocabulaire extra de XHTML

<?xml version="1.0" encoding="iso-8859-1"?>
<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml">
 <xhtml:body>
   <xhtml:h1>Un document composé</xhtml:h1>
   <xhtml:p>Une formule simple utilisant MathML dans XHTML.</xhtml:p>
   <mathml:math xmlns:mathml="http://www.w3.org/1998/Math/MathML">
     <mathml:mrow>
       <mathml:msqrt>
         <mathml:mn>49</mathml:mn>
       </mathml:msqrt>
       <mathml:mo>=</mathml:mo>
       <mathml:mn>7</mathml:mn>
     </mathml:mrow>
   </mathml:math>
 </xhtml:body>
</xhtml:html>

Résultat :

Xhtml mathml.jpg

Ou si vous préférez:

<?xml version="1.0" encoding="iso-8859-1"?>
<html xmlns="http://www.w3.org/1999/xhtml">
 <body>
   <h1>Un document composé</h1>
   <p>Une formule simple utilisant MathML dans XHTML.</p>
   <math xmlns="http://www.w3.org/1998/Math/MathML">
     <mrow>
       <msqrt>
         <mn>49</mn>
       </msqrt>
       <mo>=</mo>
       <mn>7</mn>
     </mrow>
   </math>
 </body>
</html>