Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1903 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  prob de transformation d'un xml via php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

prob de transformation d'un xml via php

n°1065718
kebab4
Posté le 29-04-2005 à 14:20:06  profilanswer
 

Bonjour,
 
je rencontre un problème bizarre lors d'un essai de transformation via php d'un xml en xsl.
Tout d'abord, voici mes trois fichiers:
 

Code :
  1. <?php
  2. require 'class.php'; // classe sablotron
  3. # Création de l'objet XS
  4. $XS = new xslt('ex1.xml','ex2.xsl',true,'sablotron');
  5. # Transformation
  6. $XS->transform();
  7. # Affichage du résultat
  8. echo $XS->output();
  9. ?>


 
le fichier "ex2.xsl"
 

Code :
  1. <?xml version="1.0"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  3. <xsl:template match="/">
  4. <html>
  5. <body>
  6. <table border="1" cellspacing="0" cellpadding="3">
  7. <tr bgcolor="#FFFF00">
  8. <td>Artiste</td>
  9. <td>Titre</td>
  10. </tr>
  11. <xsl:for-each select="compilation/mp3">
  12. <xsl:choose>
  13. <xsl:when test=".[artiste='Alain Souchon']">
  14. <tr bgcolor="#00FF00">
  15. <td><xsl:value-of
  16. select="titre"/></td>
  17. <td><xsl:value-of
  18. select="artiste"/></td>
  19. </tr>
  20. </xsl:when>
  21. <xsl:otherwise>
  22. <tr>
  23. <td><xsl:value-of select="titre"/></td>
  24. <td><xsl:value-of
  25. select="artiste"/></td>
  26. </tr>
  27. </xsl:otherwise>
  28. </xsl:choose>
  29. </xsl:for-each>
  30. </table>
  31. </body>
  32. </html>
  33. </xsl:template>
  34. </xsl:stylesheet>


 
le fichier "ex1.xml"
 

Code :
  1. <?xml version="1.0"?>
  2. <compilation>
  3. <mp3>
  4. <titre>Foule sentimentale</titre>
  5. <artiste>Alain Souchon</artiste>
  6. </mp3>
  7. <mp3>
  8. <titre>Solaar pleure</titre>
  9. <artiste>MC Solaar</artiste>
  10. </mp3>
  11. <mp3>
  12. <titre>Le baiser</titre>
  13. <artiste>Alain Souchon</artiste> </mp3>
  14. <mp3>
  15. <titre>Pourtant</titre>
  16. <artiste>Vanessa Paradis</artiste>
  17. </mp3>
  18. <mp3>
  19. <titre>Chambre avec vue</titre>
  20. <artiste>Henri Salvador</artiste>
  21. </mp3>
  22. </compilation>


 
Quand je teste la page en local, il affiche cette erreur:
 

Code :
  1. Error 3, Level 0
  2. msgtype : error
  3. code : 4
  4. module : Sablotron
  5. URI : arg:/_xsl
  6. line : 22
  7. msg : cannot open file 'C:/APACHE/Apache2/ex1.xml'


 
 
J'utilise php 4.3.10.10, j'ai activé l'extention php_xslt et php_domxml, et j'ai copié les dll expat, inconv et sablot là où il le faut.
Avez-vous une idée du problème que je rencontre, et de sa  
solution .
 
Merci beaucoup,


Message édité par kebab4 le 29-04-2005 à 14:21:08
mood
Publicité
Posté le 29-04-2005 à 14:20:06  profilanswer
 

n°1065734
FlorentG
Unité de Masse
Posté le 29-04-2005 à 14:27:29  profilanswer
 

Sinon v'la la version domxml  

$xml_doc = domxml_open_file('pouet.xml');
$xsl_doc = domxml_xslt_stylesheet_file('pouet.xsl');
 
$res = $xsl_doc->process($xml_doc);
 
echo $res->dump_mem(true, 'utf-8');

n°1065906
kebab4
Posté le 29-04-2005 à 16:01:54  profilanswer
 

si j'ai utilise domxml ça marche, mais dans mon cas je vous passer en parametre du constructeur de la classe sablotroon la chaine de caractere qui contient le contenu du fichier xml et pas le chemin du fichier xml car a chaque fois je change le fichier xml suivant certains  créteres et aussi les enregistrment recherchés par l'utilisateur et avec domxml_open_file()je ne peut pas passer le contenu du xml a cette fonction. c est pour ca que je préfère la premiér methode sablotron.

n°1065934
FlorentG
Unité de Masse
Posté le 29-04-2005 à 16:14:21  profilanswer
 

Ah ben tu peux utiliser alors la fonction domxml_open_mem :

$xml_doc = domxml_open_mem('<?xml version......');


Et continuer pareil qu'avant.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  prob de transformation d'un xml via php

 

Sujets relatifs
[Reglé] Prob de tableaux sous IE (mais pas sous Firefox bien sur)tableau 100% sa marche mais euuuuh lire pour comprendre le prob ...
Pas facile d'avoir de l'aide ici !!!!!! HELP ! Prob.formulaire !transformation d'un fichier xls en poscript avec dll excel
Ptit prob d'expression régulièretjours prob avec fgetcsv .. + clair
Prob. avec les maps quake3 .BSPTransformation fichier Excel en PDF
prob avec fgetcsvProb de wchar_t avec Glut sous Dev cpp
Plus de sujets relatifs à : prob de transformation d'un xml via php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR