Bonjour,
J'ai un problème dans le recherche de chaine composée :
Fichier XML :
Extrait de la feuille de style :
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 <tbody> <row ATT="3 AAAA~5 BBBB"> <entry colname="col1" >BLABLA</entry> <entry colname="col2" >3 AAAA~5 BBBB </entry> <entry colname="col3" >BLABLA</entry> </row> <row ATT="2 AAAA~1 CCCC"> <entry colname="col1" >BLABLA</entry> <entry colname="col2" >2 AAAA~1 CCCC </entry> <entry colname="col3" >BLABLA</entry> </row> <row ATT="10 CCCC"> <entry colname="col1" >BLABLA</entry> <entry colname="col2" >10 CCCC </entry> <entry colname="col3" >BLABLA</entry> </row> </tbody>
Appel de la feuille de style en utilisant SAXON :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 .... <xsl:param name="att"/> .... <xsl:for-each select='.//tbody/row[ ($att="" or contains(@ATT, substring($att,2,9999))) ]'> ........
essai.xml essai.xsl att="$AAAA"
Résultat me ramène les 2 premiers row
essai.xml essai.xsl att="$CCCC"
Résultat me ramène le dernier row
essai.xml essai.xsl att="$AAAA$CCCC"
Résultat ne me ramène rien ;
Je voudrai tous les row dont l'attribut ATT contient AAAA ou CCCC.
Le contenu du paramètre 'att' n'est pas limité je peux avoir de 0 à n $quelquechose
J'ai regardé les fonctionnalités proposées par XSLT et je n'ai pas trouvé mon bonheur.
Je ne sais pas par quel bout prendre ce type de recherche (fonction récursive ?)
Si je pouvais avoir quelques conseils ?
Peut on traiter un paramètre comme un tableau ?
Exemple par="$UN$DEUX$TROIS"
Avec une commande XSL obtenir un tableau de paramètre que je puisse traiter dans une boucle
Du type Pour chaque élément
Faire ceci.
Avec xsl:for-each, je ne sais pas mettre les infos comme il faut
Merci
Partager