Bonjour tous le monde. Smiley smile

J'ai commencé à me pencher sur MathML et j'ai des problemes pour l'impémenter. J'ai fait pas mal de recherches et apparament MathML est sensé être supporté par défaut par les dernieres version de Mozilla (entre autres) et par IE avec l'aide d'un plugin (MathPlayer).
J'arrive à faire interpreter mes expressions mathml par IE mais pas moyen de faire de même avec Mozilla.
Et pourtant je me base seulement sur un exemple de code récupéré dans la doc W3C (donc logiquement standart):


<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>MathML's Hello Square</title>
</head>

<body>
<p> This is a perfect square:</p>
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <mrow>
   <msup>
     <mfenced>
       <mrow>
         <mi>a</mi>
         <mo>+</mo>
         <mi>b</mi>
       </mrow>
     </mfenced>
     <mn>2</mn>
   </msup>
 </mrow> 
</math>
</body>
</html>


Tiré de http://www.w3.org/TR/2003/REC-MathML2-20031021/chapter2.html

Mozilla n'interprete pas du tout l'expression en tant que du mathml et me genere une bête mise en forme html.
Il y a certainement quelquechose qui m'échappe mais je ne vois pas du tout quoi. Smiley bawling

Si quelqu'un s'y connait un peu dans ce domaine je lui serait recommencer de me donner un petit coup de pouce. Smiley sweatdrop
Merci d'avance.
Modifié par lysandra (21 Jun 2006 - 12:35)
Bonjour,

Je me suis attelé à la question il y a quelques temps, et voici un retour d'expérience (qui t'aidera je l'espère) pour l'exploitation de Mathml dans une page web.

Si ton fichier est correcte, ce que je n'ai pas vérifié dans le détail, c'est que selon toute probabilité l'entête http qui accompagne la page web ne délivre pas le bon type de contenu. Tu dois envoyer du XML, c'est à dire un type MIME application/xhtml+xml.
Merci de ta réponse, la piste que tu m'indique est peut être la bonne, le type mime géré par le serveur à l'air d'être du simple application/xhtml.

Par contre je rencontre un deuxieme probleme, je n'arrive pas à faire passer ma page par le validateur W3C.
Mon code simplifié:



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd">
<html xmlns:m="http://www.w3.org/1999/xhtml">

<head>
	<meta http-equiv="Content-Type" content="text/html+xml; charset=iso-8859-1" />
</head>
<body>
<p>2<sup>3</sup>+4<sub>2 </sub></p>
<p>
<m:math><m:mrow><m:msqrt><m:mrow><m:mn>22</m:mn></m:mrow></m:msqrt></m:mrow>
</m:math>
</p>
</body>
</html>


Le validateur refuse toute les balises préfixés avec leur nom de namespace, j'ai des erreurs du style:
there is no attribute "xmlns:m"
element "m:math" undefined.


En faisait quelque recherche je suis tombé su ce post qui parle un peu du même probleme:
http://forum.alsacreations.com/topic-3-3650-1-Inclure-du-SVG-dans-une-page-XHTML.html

J'ai éssayé de suivre un peu la réfléxion de l'auteur de ce post mais je ne suis pas aussi calé que lui et j'ai du mal à tous comprendre.
J'ai tenté de copier la DTD MathML en local et de modifier la ligne:

<!ENTITY % MATHML.prefixed "IGNORE" >

par
<!ENTITY % MATHML.prefixed "INCLUDE" >


ma DTD contiend alors entre autres les lignes:
<!ENTITY % MATHML.prefixed "INCLUDE" >
<!ENTITY % MATHML.prefix "m" >

je pensais que ça résoudrait mon probleme de prefixe, mais apparament non, le validateur me sorts toujours les meme erreur. Smiley decu

Donc voila, si quelqun a deja réussi a valider du MathMl en utilisant des prefixe devant ses attributs son aide est la bienvenue. Smiley sweatdrop
Modifié par lysandra (22 Jun 2006 - 11:30)
Tu es te mélange un peu les pinceaux avec les namespaces, notamment tu cherches à mettre les éléments mathml dans l'espace de nom XHTML Smiley cligne .

La page dont je donnais le lien précédemment est correcte sur le plan mathml (il y a une erreur à la validation qui concerne une faute sans rapport avec mathml).
Si tu veux valider et ne pas avoir de soucis avec les différents navigateurs, tu peux utiliser ceci :
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
	    "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"> [
   <!ENTITY math "http://www.w3.org/1998/Math/MathML">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
    ...
    <math xmlns="&math;">
        ici une expression mathématique
    </math>
    ...
</html>