IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

Utiliser XSL avec PHP


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Invité
    Invité(e)
    Par défaut Utiliser XSL avec PHP
    Bonjour à tous.

    [si vous pensez que cette discussion aurait plus sa place dans la section PHP de ce forum, merci de me le faire savoir]


    J'ai PHP 5.3.4 sur mon serveur local.
    Je voudrais utiliser un processeur XSLT en PHP pour générer du HTML à partir d'un document XML et d'une feuille de style XSL.

    J'ai suivi deux tutoriels :
    http://bob.developpez.com/phpxslt/
    http://haypo.developpez.com/tutoriel/xml/xslt/#LII.A

    En résumé, voici les deux scripts que j'ai testés, sans succès :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?php
    $xh = xslt_create();
     
    $file=fopen("list.xml","r");
    $xml=fread($file,16384);
    fclose($file);
     
    $file=fopen("style.xsl","r");
    $xsl=fread($file,16384);
    fclose($file);
     
    $arguments = array(
      '/_xml' => $xml,
      '/_xsl' => $xsl
      );
     
    $result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
     
    xslt_free($xh);
     
    print "$result";
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?
    // Crée le processeur XSLT
    $xh = xslt_create();
    xslt_set_base ($xh, 'file://' . getcwd () . '/');
     
    // Traite le document, puis affiche le résultat
    $result = xslt_process($xh, 'liste.xml', 'style.xsl');
    if (!$result)
      echo ("Erreur XSLT ...");
    else
      echo ($result);
     
    // Détruit le processeur XSLT
    xslt_free($xh);
    ?>
    Comme dit plus haut, aucun des deux scripts n'a fonctionné.
    Je n'ai même pas pu détecter d'erreur malgré l'ajout en début de code de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL);
    Pourquoi est-ce que ça ne fonctionne pas ?
    J'ai essayé avec des .XML et .XSL vraiment basiques, et même avec ceux proposés dans le premier tuto: rien à faire. Je désespère de pouvoir générer proprement du HTML de cette manière.

    Si vous avez une idée pour m'aider, vous êtes mon sauveur.

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    bonjour,

    ce code PHP est totalement obsolète, il était prévu pour fonctionner avec Sablotron, l'implémentation de XSLT dans PHP4.

    Avec PHP5, il faut maintenant utiliser la classe XSLTProcessor, qui interface la librairie libXSL (Gnome).

  3. #3
    Invité
    Invité(e)
    Par défaut
    Okay, merci.

    Je vais essayer de me débrouiller avec ça. Ça n'a pas l'air super simple.

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Au contraire, c'est bien plus simple (et performant et fiable) que ça ne l'a été. C'est juste qu'au lieu d'utiliser des procédures tu appelles des méthodes d'une classe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Système] Utilisation gnuplot avec php
    Par jejerome dans le forum Langage
    Réponses: 12
    Dernier message: 27/04/2013, 15h39
  2. Comment utiliser WYMeditor avec PHP
    Par artotal dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 03/02/2009, 00h29
  3. [Forum] Utiliser Skype avec PHP
    Par YewYew dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 07/09/2007, 14h56
  4. [XSLT] [PHP] extraction des variable de xsl avec php
    Par anis_el_madani dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/04/2007, 23h20
  5. [POO] utiliser Word avec php
    Par ygaudin dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2006, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo