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] avec 2 fichiers XML


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 379
    Points : 123
    Points
    123
    Par défaut [XSLT] avec 2 fichiers XML
    Salut,

    C'est peut etre une question débile, mais en fait je suis trés debutant avec le xsl.
    Est ce que c'est possible de lire des données à partir de deux fichiers XML differents dans un XSL?
    Si oui, dans le fichier php associé au fichier XSL, je vais devoir charger les deux fichiers XML hein ?


    Merci



    ...

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    La fonction document() permet de lire un fichier ou une url à l'intérieur d'une transformation XSL-T.

    Sinon, il reste possible de générer en PHP un seul XML à partir des 2 fichiers avant de faire la transformation.
    Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 379
    Points : 123
    Points
    123
    Par défaut
    Citation Envoyé par alain.couthures Voir le message
    La fonction document() permet de lire un fichier ou une url à l'intérieur d'une transformation XSL-T.

    Sinon, il reste possible de générer en PHP un seul XML à partir des 2 fichiers avant de faire la transformation.
    sincerement je n'ai rien compris!!

    supposons que dans mon fichier php je vais ouvrir deux fichier XML, dans mon code XSL comment je pourrai faire la lecture à partir des deux fichiers ? comment je vais pouvoir les differencier?


    ...

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 379
    Points : 123
    Points
    123
    Par défaut
    bon je vais exposer mon probléme avec du code comme ca, ca sera plus clair!

    à partir d'un fichier projets.xml, j'effectue des lectures dans ce fichier 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <?xml version="1.0" encoding="utf-8"?><!DOCTYPE xsl:stylesheet  [
    	<!ENTITY nbsp   " ">
    	<!ENTITY copy   "©">
    	<!ENTITY reg    "®">
    	<!ENTITY trade  "™">
    	<!ENTITY mdash  "—">
    	<!ENTITY ldquo  "“">
    	<!ENTITY rdquo  "”"> 
    	<!ENTITY pound  "£">
    	<!ENTITY yen    "¥">
    	<!ENTITY euro   "€">
    ]>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
     
    <xsl:template match="projets">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <link rel="stylesheet" media="screen" href="2.css"/>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Liste des projets</title>
    </head>
     
    <body>
     
    <div id="en_tete">
    			</div>
     
    			<div id="menu">
     
     
    			<div class="element_menu">
     
    						   <ul>
    							   <li><a href="aj-pers.php">Ajouter une personne</a></li>
    							   <li><a href="personnes.php">Gérer la liste du personnel du laboratoire</a></li>
    							   <li><a href="formproj.html">Ajouter un projet</a></li>
    				   			   <li><a href="projets.php">La liste des projets</a></li>
    							   <li><a href="impr.php" target="new">Version imprimable</a></li>
    						   </ul>
    					   </div> 
    			</div>
    			<div id="corps">
    			<xsl:apply-templates />
    			</div>
    			<div id="pied_de_page">
    			</div>
     
    </body>
    </html>
     
    </xsl:template>
     
    <xsl:template match="struct">
    <h3>
    <xsl:element name="a">
      <xsl:attribute name="href">
        <xsl:value-of select="pageWeb" />
      </xsl:attribute>
      <xsl:value-of select="nom" />
    </xsl:element>
    </h3>
    <p> <xsl:value-of select="description"/> </p>
    <p> État du projet <xsl:value-of select="etat"/> </p>
     
    </xsl:template>
    </xsl:stylesheet>
    c'est un code trés simple , je fais un lecture simple, j'ai ce fichier php associé a ce 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
    <?php
     
    $dom=DomDocument::load("projets.xsl");
    $proc= new XSLTProcessor;
    $proc->importStyleSheet($dom);
    $proc->registerPHPFunctions();
     
    $dom= new DomDocument;
    $dom->preserveWhiteSpace = FALSE;
    $dom->formatOutput = TRUE;
    $dom->load("projets.xml");
     
    echo $proc->transformToXML($dom); 
    ?>
    mon probléme c'est que dans le fichier xsl, duquel j'ai lu des données sur des projets, je veux faire des lecture à partir d'un autre fichier XML qui s'apelle personnes.xml , je voudrais en fait afficher la liste des personne qui sont impliqué dans chaque projet

    la structure du fichier personnes.xml est la suivante :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <mysql>
      <database name="personnes">
        <table>
          <fiche type="...">
            <struct>
              <var name="id">1</var>
              <var name="nom">...</var>
              <var name="prenom">...</var>
              <var name="statut">...</var>
              <var name="pageWebPerso">www</var>
              <var name="pageWebGRMIAO">...</var>
              <var name="photo">NULL</var>
              <var name="distinctions">NULL</var>
              <var name="implicationprojet">projet1/projet2</var>
            </struct>
          </fiche>
    <fiche type="...">
            <struct>
              <var name="id">1</var>
              <var name="nom">...</var>
              <var name="prenom">...</var>
              <var name="statut">...</var>
              <var name="pageWebPerso">www</var>
              <var name="pageWebGRMIAO">...</var>
              <var name="photo">NULL</var>
              <var name="distinctions">NULL</var>
              <var name="implicationprojet">projet2/projet3</var>
            </struct>
          </fiche>
     
    ...
       </table>
      </database>
    </mysql>
    donc en lisant le fichier personnes.xml , si je trouve dans la variable implicationprojet, le nom du projet, alors je prend le nom et le prenom de cette personne

    SVP est ce que quelqu'un à une idée sur comment resoudre ce probléme ?


    merci



    ...

Discussions similaires

  1. [XSLT] Include de fichiers XML et parsing avec du XSL
    Par ElSegador66 dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 25/10/2009, 10h19
  2. [XSLT] transformation xsl avec un fichier xml en utf8
    Par thierry_b dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 08/12/2008, 10h46
  3. [XSLT] Générer des fichiers XML avec PHP
    Par oneTime dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 28/04/2008, 21h27
  4. Réponses: 3
    Dernier message: 24/04/2007, 11h39
  5. [XSLT] Création de fichier XML dynamique avec PHP
    Par daninho dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 02/02/2006, 11h18

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