Lisez-moi S.V.P. 
MathML inside!

Mettre des mathématiques sur le Web avec MathML

Également disponible en chinois (traduction de Chientai Chen) et en coréen (traduction de DongSok KANG)

Cette note explique comment inclure du code MathML aux pages Web afin de le rendre visible sur un grand nombre de navigateurs. Elle montre également comment configurer les navigateurs afin qu'ils puissent afficher un code MathML. Pour l'instant, les navigateurs capables de restituer les pages en utilisant les conventions suivantes sont :

Vous pouvez tester votre navigateur en visionnant cet exemple avec un code MathML de présentation simple, ou cette page avec un contenu MathML plus complexe (dont la restitution peut prendre un certain temps).

Cette note s'adresse aux auteurs de contenu Web qui souhaitent inclure des formules mathématiques dans des pages Web, tout comme aux personnes qui veulent lire ce contenu.

On pourra trouver d'autres détails techniques sur le pourquoi et le comment dans les feuilles de style XSLT pour MathML. Voir également les vues extraites de l'exposé de David Carlisle lors de la conférence MathML.

L'inclusion de code MathML dans les pages Web

Afin de maximiser le nombre des plates-formes sur lesquelles le document sera visible, il devrait être écrit en respectant les règles qui suivent. Remarquez que si on se sert d'un éditeur conforme aux normes du W3C tel que « Amaya », tout cela se fera automatiquement.

1. Créez la page en utilisant le langage XHTML avec un code MathML incorporé

La page Web devrait être écrite en utilisant le langage XHTML avec le balisage MathML incorporé comme dans l'exemple suivant :

<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>...</head>
  <body>
    <h1>Exemple</h1>
    ....
    <math xmlns="http://www.w3.org/1998/Math/MathML">
      <mi>x</mi><mo>+</mo><mn>3</mn>
    </math>
  </body>
</html>

Le balisage MathML ne devrait pas apparaître dans une balise <object> ou dans un fichier séparé appelé depuis une balise <embed>.

2. Ajoutez une instruction de traitement de feuille de style

La ligne suivante (en caractères gras) devrait apparaître au début de la page XHTML, avant la balise ouvrante <html> mais après la déclaration <?xml...?>, le cas échéant :

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://www.w3.org/Math/XSL/mathml.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml">
...

Cela fonctionnera dans la plupart des cas (mais pas sur Internet Explorer : pour des raisons de sécurité, Internet Explorer n'exécutera pas une feuille de style XSLT qui ne se trouve pas sur le même serveur que le document XHTML+MathML. Auquel cas, suivez les instructions « hors ligne » suivantes. Voir également à la fin de ce document pour des renseignements supplémentaires à propos de la sécurité de Internet Explorer). Par contre, il existe d'autres moyens :

Et cela devrait suffire. Voyez la suite pour des informations supplémentaires

La définition des préférences

Comme un navigateur pourra disposer de plusieurs moyens pour restituer un balisage MathML (par exemple, Internet Explorer avec le module d'extension « Techexplorer » peut aussi restituer des équations en faisant appel à une restitution CSS), on indique un moyen de définir la méthode préférée. On y parvient en recourant à un attribut renderer qui appartient à un espace de nommage spécial. Par exemple :

<?xml-stylesheet type="text/xsl" href="pmathml.xsl"?>

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:pref="http://www.w3.org/2002/Math/preference"
      pref:renderer="css">
<head>...</head>
<body>...</body>
</html>

On indique que la méthode de restitution CSS est préférée pour restituer cette page. Les valeurs de l'attribut renderer sont :

La sécurité du navigateur Microsoft Internet Explorer

Par défaut, le navigateur Internet Explorer interdit d'appliquer des feuilles de style XSLT à un document si celles-ci ne se trouvent pas sur le même serveur que le document. Donc si on utilise :

<?xml-stylesheet type="text/xsl" href="http://www.w3.org/Math/XSL/mathml.xsl"?>

Cela ne fonctionnera pas. Par conséquent, il faut copier les feuilles de style sur le même serveur que le document (comme décrit précédemment). D'autre part, il est possible de changer les options de sécurité dans Internet Explorer, mais nous ne pouvons pas le recommander, car cela affecterait toute la navigation et pas seulement l'utilisation de cette feuille de style.

La présentation pendant de la conférence MathML

Cette feuille de style a été présentée à la Deuxième conférence internationale MathML. L'exposé comporte une série d'exemples avec la feuille de style, conçue pour être visionnée avec un navigateur en mode « plein écran ». Pendant la présentation, les exemples ont été affichés en se servant des navigateurs IE6, Mozilla 1.0, Amaya 6.1 et Netscape 7.0PR1.

Outre MathML, il a été présenté un petit exemple étendant cette feuille de style à SVG.


Le groupe de travail Math du W3C. Envoyez les commentaires, les questions et les corrections à www-math@w3.org

$Id: Overview.html,v 1.19 2003/03/19 10:29:57 mf Exp $