Je souhaite utiliser DOM XML pour transformer un document xml avec un document xsl … j’ai essayé pas mal de méthodes… Ce qui m’embête c’est quand cherchant sur Internet des exemples d’implémentations de cette méthode, ils sont quasiment tous différents … et évidement je n’arrive à en faire fonctionner aucun…
Voilà le code que j’utilise :
$DomXmlFile = DOMDocument::load($file);
$DomXslTrans = DOMDocument::load('./styles/PJEML.xsl');
//création du processeur xslt
$proc = new XSLTProcessor;
//le processeur xslt dispose de la transformation xslt
$proc->importStyleSheet($DomXslTrans);
// le résultat de la transformation XSLT envoyé au client
print $proc->transformToXML($DomXmlFile);
Voilà l’erreur renvoyé :
Fatal error: Call to undefined function: load() in /homepages/12/d141864718/htdocs/cilma/filtre.php on line 13
Bon je me suis dit que je n’avais certainement pas la bonne extension d’installé, mais pourtant après avoir fait un phpinfo() pour m’en assurer, j’ai l’air d’avoir l’API nécessaire … aussi bien en local que sur mon serveur (j’ai essayé sur les deux)…
Voilà la partie concernant DOMXML :
domxml
DOM/XML enabled
DOM/XML API Version 20020815
libxml Version 20611
HTML Support enabled
XPath Support enabled
XPointer Support enabled
DOM/XSLT enabled
libxslt Version 1.1.7
libxslt compiled against libxml Version 2.6.11
Après pas mal d’essais… je n’ai toujours rien pu afficher … [/code][
Il ne faut pas confondre cette extension (pour PHP4) avec l’extension DOM (pour PHP5). Ton code utilise PHP5.
Idem, XSLTProcessor c’est l’extension XSL sous PHP5. Regarde du côté de l’extension XSLT pour avoir la même chose sous PHP4.
Oui je sais, les noms des modules ne sont pas clairs à ce niveau :o
Toutefois, plus aucun de mes accents ne passent, ni les entités représentant des symboles mathématiques que j’utilisais comme ∈ ε , etc Je suppose que pour ce qui est des accents il faudrait que j’utilise l’encodage utf-8 … c’est ce que j’ai essayé de faire … mais là plus aucun résultat, cela me renvoe une erreur php … Si quelqu’un a une idée ?
Pour ce qui est des symboles mathématiques … il ya bien MathML … mais même en ayant cherché un peu je ne vois pas trop comment l’utiliser simplement …
Il y aussi un rendu beaucoup moins joli qu’avant (le sommaire au début n’est plus exact) mais je pense que cela devrait pouvoir être améliorer avec le xsl et css …
J’ai réussi à résoudre tous les problèmes excepté celui de l’encodage de mon document (tous les accents sont remplacés par des caractères oléolé) et de MathML…
Mes documents sont déclarés en encoding="ISO-8859-1" …
Voici la déclaration de mon document XML ainsi qu’un bout de code utilisant MathML :