Mise en forme de 2 requetes en meme tps [XML/XSL] - XML/XSL - Programmation
Marsh Posté le 08-07-2003 à 14:16:40
Comment détermines tu qu'il y a plusieurs ROW2 pour une ROW1 ( et l'inverse éventuellement)? Sans ça je ne vois point de solution...
A+
Marsh Posté le 08-07-2003 à 14:23:49
Avander a écrit : Comment détermines tu qu'il y a plusieurs ROW2 pour une ROW1 ( et l'inverse éventuellement)? Sans ça je ne vois point de solution... |
g pas bien compris la question...
mais ce n'est pas ca le pb...
voici le code
Code :
|
Pb: je ne pe pas utiliser REQUETE2/ROWSET/ROW car j'ai defini "l'adresse de départ du fichier" comme DOCUMENT/REQUETE/ROWSET/ROW
je dois boucler sur le nombre de Row de la requete 1 tout en ayant acces aux infos de la requete 2
Marsh Posté le 08-07-2003 à 14:35:27
En fait il suffisait de préfixer tout...
Utiliser /DOCUMENT/REQUETE2/ROWSET/ROW qui prime sur la valeur choisi en template...
Je sors...
Marsh Posté le 09-07-2003 à 10:42:49
Du nouveau...
bon le premier probleme est résolu mais j'en ai un autre sur les bras qui est a peu pres identique
je dois afficher les résultats de ma requete 1 et les résultats de la requete 2 correspondants
donc je fais une petite condition dans l'affichage:
Code :
|
ce qui se passe? le test est considéré comme toujours faux (cad il n ya aucune correspondance alors qu en réalité il y en a)
quel est le probleme?
est ce que le prefixage du chemin d acces ne marche pas ici?
est ce que je n'ai pas le droit de faire des conditions sur des éléments? (oui ce ne sont pas des attributs)
quoi d autre?
à l'aide
Marsh Posté le 09-07-2003 à 11:17:27
bon apparement c t le fait que ce soit des éléments que ca deconnait
le pb maitenant c que je compare deux éléments différents, mais ceux ci doivent etre comparé plusieurs fois
exemple: je dois savoir quels sont les éléments de requete2 correspondant à l'élément de requete1 trouvé :X
je dois parcourir tout les éléments de requete2 pour faire les comparaisons
mais si j utilise un for-each, je perd la localisation de X et je ne fais plus le test voulu mais seulement avec le premier élément de requete1 car j aurai du donner le chemin complet...
le pb vient donc du fait que je dois parcourir 2 éléments différents d'un fichier xml, donc j'utilise le for-each, mais celui-ci ne peut garder qu une seule localisation (comme template match="..." )
comment faire?
qqun a t il une idée pour résoudre ce casse tete?
Code :
|
Edit: avec le code c mieux...
oui mais pas tres clair...
voila c mieux...
Marsh Posté le 09-07-2003 à 11:30:37
Donne un exemple clair/concis de ce que tu voudrais, ton xml en entrée et le tableau en sortie!
J'ai suivis la discussion mais j'ai toujours pas compris comment sont reliées les requetes 1 et 2...
Marsh Posté le 09-07-2003 à 12:03:19
Avander a écrit : Donne un exemple clair/concis de ce que tu voudrais, ton xml en entrée et le tableau en sortie! |
la requete 1 renvoie des contrats d'assurance(numéro...)
la requete 2 renvoie les sinistres correspondant a un contrat (il peut y avoir 0 a n contrats)
Code :
|
comme on pe le voir, pour le premier contrat il n ya pas eu de sinistres
pour le 2eme il y en a eu 2
je voudrais afficher les infos comme ca:
Contrat 1A0004766
Contrat 1A0004770 Sinistre 02205864 Valeurs suivantes
Sinistre 02205864 Valeurs suivantes
...
Marsh Posté le 09-07-2003 à 12:26:56
Et ton tableau tu le veux comment? Comme ceci?
|
Marsh Posté le 09-07-2003 à 12:31:05
Avander a écrit : Et ton tableau tu le veux comment? Comme ceci?
|
non pas tout a fait
<table>
<tr>
<td>Requete1</td><td>Requete2</td>
<td> </td><td>Requete2</td>
</tr>
</table>
en gros chaque sinistre doit apparaitre sur une ligne différente
je suis obligé de remplir des cases avec des espaces pour respecter les traits du tableau
Marsh Posté le 09-07-2003 à 12:54:29
J'ai pondu une solution vite fait pcq. je commence à avoir faim ;-):
|
Le stylesheet: |
le résultat HTML: |
Le tableau n'est pas exactement ce que tu veux ( mais je suis pas sur que ton dernier exemple est vraiment juste...)!
A+
Marsh Posté le 09-07-2003 à 14:46:23
bon...
le fait d'utiliser une variable est une tres bonne idée: c meme ca que je cherchais en fait
pour le reste, comme je dois respecter un certain aspect graphique, je dois adapter l'idée a ma table
en tout cas merci
Marsh Posté le 08-07-2003 à 12:22:11
Edit:Nouveau problème plus loin...
Premier problème résolu
Je recupere les données de 2 requetes dans une feuille XML
structure du fichier xml correspondant
<DOCUMENT>
<REQUETE1>
<ROWSET>
<ROWR1>
</ROWR1>
</ROWSET>
</REQUETE1>
<REQUETE2>
<ROWSET>
<ROWR2>
</ROWR2>
</ROWSET>
</REQUETE2>
en mettant plusieurs enregistrement au milieu
je dois afficher dans mon tablo des lignes sous la forme suivante:
Info ROWR1 Info ROWR2
Info ROWR1 Info ROWR2
donc g qqchose qui ressemble a ca:
<xsl:for-each select="DOCUMENT/REQUETE/ROWSET/ROW">
<tr>
<td align="CENTER"><xsl:value-of select="NUMCONT"/></td>
<ici je voudrais afficher les resultats de requete2 sachant qu il peut y en avoir plusieur pour 1 resultat de requete1>
</tr>
==> et la probleme : je ne pe pas acceder a la partie Requete2 de mon fichier xml
si je fais la boucle plus haut (Document) je ne fais qu un tour de boucle et donc ce n'est pas bon
comment faire?
Message édité par hop le fou le 09-07-2003 à 10:44:17