XSL : accéder à plusieurs fichiers XML

Fermé
elacsap Messages postés 13 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 12 janvier 2006 - 10 janv. 2006 à 16:27
elacsap Messages postés 13 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 12 janvier 2006 - 11 janv. 2006 à 10:17
Bonjour,
J'ai un problème de XML... Je dois afficher plusieurs fichiers XML dans une seule page web (après traitement via une XSL). Tous mes docs XML sont construits sur le même modèle. Comment les traiter de manière récursive ?
J'arrive à récupérer les attributs sans problème... Le hic c'est quand je dois créer un template sur l'un des éléments de mes docs xml... J'ai un peu du mal à m'expliquer, désolée...
Merci d'avance pour votre aide !!!

6 réponses

crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 506
10 janv. 2006 à 20:54
Salut,
Y a un problème de logique, c'est le XML qui définit la référence d'un XSL et
par l'inverse.
Une solution peut consiter à faire un document XML chapeau référençant le
fichier XSL et incluant (par insertion) tous tes fichiers XML.
A+, crabs
0
elacsap Messages postés 13 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 12 janvier 2006
11 janv. 2006 à 09:07
Merci pour ta réponse, je m'étais mal expliquée...
Je définit effectivement la référence des fichiers xml dans mon xml... Mon problème c'est l'accès à ces fichiers dans mon xml... Tout va bien lorsque je veux récupérer une simple info comme cela :
<xsl:value-of select="document(.)//noeud1/noeud2"/>


Le problème arrive quand je dois créer un template et faire une boucle :

<xsl: template match="document(.)//noeud1">


cela ne fonctionne pas... Comment dois-je procéder ?
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
11 janv. 2006 à 09:28
Salut,
Je ne comprend toujours pas :-/

Tu pourrais donner un exemple concret de tes données de départ, de ce que tu as à l'arrivée et de ce que tu aimerais avoir?
0
elacsap Messages postés 13 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 12 janvier 2006
11 janv. 2006 à 09:41
J'ai créer un doc xml constitué de la manière suivante :
<racine>
<fichier>xml1.xml</fichier>
<fichier>xml2.xml</fichier>
</racine>


Mes fichiers xml1 et xml2 sont construits de la même manière... Je souhaiterai pouvoir afficher à la suite l'uin de l'autre mon xml1 et xml2, un peu comme ça :

<racine>
<fichier>
<titre/>
<noeud><info1/><info2/></noeud>
<noeud><info1/><info2/></noeud>
</fichier>
<fichier>
<titre/>
<noeud><info1/><info2/></noeud>
<noeud><info1/><info2/></noeud>
<noeud><info1/><info2/></noeud>
</fichier>
</racine>


Dans mon xsl, je n'ai aucun problème pour traiter la balise <titre> qui n'a qu'une occurence... Par contre, je n'arrive pas à créer un template pour ne travailler que sur la balise <noeud>...
Est-ce que je suis un peu plus claire ? (désolée j'ai du mal à m'expliquer...)
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
11 janv. 2006 à 09:48
OK, je crois comprendre, mais quand tu mets, xml1.xml, tu le mets comment?

0
elacsap Messages postés 13 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 12 janvier 2006
11 janv. 2006 à 10:06
comme ça :
<fichier>xml1.xml</fichier>

ça me semble bizare comme truc, mais bon ça fontionne pour les balises simples...
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
11 janv. 2006 à 10:08
Ca me semble même franchement douteux :-/

Ta sortie c'est un xml ou du html?
Si c'est du html tu peux aussi taper dans les frames comme solution de remplacement...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
elacsap Messages postés 13 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 12 janvier 2006
11 janv. 2006 à 10:10
Waouh tu réponds vraiment rapidement, merci !!!
ma sortie est en html...
Qu'entends-tu par taper dans les frames ?
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
11 janv. 2006 à 10:15
Si seulement j'étais aussi rapide pour mon boulot :-/

Pour les frames, tu peux générer deux fichier html (sortie1 et sortie2 par exemple), un pour chaque fichier xml, et tu fais un fichier sortie.html qui contient une frame en haut qui montre sortie1.html et une en bas qui montre sortie2.html.
Mais bon, c'est pas l'extase :-S
0
elacsap Messages postés 13 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 12 janvier 2006
11 janv. 2006 à 10:17
Bon ben je crois que je vais chercher une autre solution pour afficher tout ça... Merci pour ton aide !
0