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 :

[XSLT] affichage des données d'un doc xml associé a un xslt


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Points : 30
    Points
    30
    Par défaut [XSLT] affichage des données d'un doc xml associé a un xslt
    Salut a vous tous,
    Je voudrais afficher les données d'un document xml associé a une feuille de style xslt.
    Je suis un débutant dans ces feuilles de styles
    Voici le document utilisateurs.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="Utilisateurs.xsl"?>
    <Utilisateurs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Utilisateurs.xsd">
    <user profil="client">
         <identifiant>hjgh</identifiant>
         <motPasse>io</motPasse></user>
    <user profil="admin">
        <identifiant>sene</identifiant>
       <motPasse>sene</motPasse>
    </user>
    </Utilisateurs>
    voici le document Utilisateurs.xsl
    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
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl"> 
     <xsl:template match="/"> 
          <xsl:apply-templates select="Utilisateurs"/> 
       </xsl:template> 
       <xsl:template match="Utilisateurs"> 
          <html>
             <body> 
                <xsl:apply-templates select="user"/> 
             </body> 
          </html> 
       </xsl:template> 
       <xsl:template match="user"> 
          Login: <b><xsl:value-of select="identifiant"/></b><br/> 
          Motde Passe: <b><xsl:value-of select="motPasse"/></b> <br/> 
       </xsl:template>
    </xsl:stylesheet>
    le code Php
    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
    <?php 
      $xml_file = 'dtdxml/Utilisateurs.xml';
    $xsl_file = 'dtdxml/Utilisateurs.xsl';
    $dom_object = new DomDocument();
    if (!file_exists($xml_file)) exit('Failed to open $xml_file');
    $dom_object->load($xml_file);
    $xsl_obj = new DomDocument();
    if (!file_exists($xsl_file)) exit('Failed to open $xsl_file');
    $xsl_obj->load($xsl_file);
    $proc = new XSLTProcessor;
    $proc->importStyleSheet($xsl_obj);
    $html_fragment = $proc->transformToXML
    ($dom_object);
    print ($html_fragment);
     ?>
    J'obtient comme erreur dans le navigateur

    Fatal error: Class 'XSLTProcessor' not found in C:\wamp\www\projetxml\listeUsers.php on line 34

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    on dirait qu'il n'arrive pas à charger ton xslt.
    Je ne peut pas être sûr à 100% mais une chose est sûr
    dans ton XSLT ça c'est très,très mauvais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
    remplace le par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Points : 30
    Points
    30
    Par défaut
    j'ai le meme probléme avec lre code que vous m'avez donné.je pense pas pas que c'est a ce niveau

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 118
    Points : 71
    Points
    71
    Par défaut
    Je vais dire un truc évident mais l'erreur renvoyée par PHP est qu'il n'existe pas de classe XSLTProcessor dans ton projet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $proc = new XSLTProcessor;
    As-tu bien un fichier qui décrit cette classe ? Est-il inclu dans ton script ?
    Quand tu remplace le xsl par un fichier plus simple ou il n'y a aucune erreur, est ce que tu as la meme erreur ou pas ?

    Exemple de XSL simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl"> 
       <xsl:template match="/"> 
          <xsl:value-of select="Utilisateurs/user/identifiant" />
       </xsl:template>
    </xsl:stylesheet>
    Si l'erreur est la même avec ce XSL, c'est que ton problème ne vient vraiment pas du XSL.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 118
    Points : 71
    Points
    71
    Par défaut
    Tiens, j'ai tapé "php XSLTProcessor" dans google et, premier lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XSLTProcessor  bool  hasExsltSupport ( void )
    Cette méthode détermine si PHP a été compilé avec la bibliothèque EXSLT .
    Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

    Test du support EXSLT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
    $proc = new XSLTProcessor;
    if (!$proc->hasExsltSupport()) {
        die('Support EXSLT non disponible');
    }
     
    // Travaux avec EXSLT ..
     
    ?>

Discussions similaires

  1. affichage des donnés dans un QTABLEVIEW à partir d'un doc.txt
    Par khaled87 dans le forum Général Python
    Réponses: 2
    Dernier message: 30/12/2013, 10h03
  2. [XSLT] Affichage des balises xml en html via une xslt
    Par Eileen dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 20/04/2007, 15h53
  3. extraire des données d'un doc pas tout a fait xml
    Par chrix10.2 dans le forum Général Python
    Réponses: 1
    Dernier message: 21/12/2006, 18h59
  4. JAVA - XML - Affichage des données triées
    Par TheReturnOfMuton dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 05/07/2006, 11h14
  5. [JTable] Problème d'affichage des données
    Par ddams dans le forum Composants
    Réponses: 2
    Dernier message: 15/09/2004, 17h07

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