Bonjour à tous !
J'ai une XSLT qui s'exécute sur un très gros fichier XML et je dois faire un for-each sur un élément dont l'identifiant peut être multiple. Comme c'est pas clair je vais mettre tout de suite un exemple ^^
Donc en gros je récupère tous les identifiants des TS qui réalisent un BP. Ma variable TS_ids, pour mon test, a 5 dimensions (donc j'ai 5 identifiants).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <xsl:variable name ="TS_ids" select ="/export/business_process.realized_by[@domain=$BP_id]/@range"/> <xsl:when test="/export/technical_system[@id=$TS_ids]"> <xsl:for-each select ="/export/technical_system[@id=$TS_ids]"> Etc.
Mais lorsque je fais mon for-each, il ne passe que sur la première valeur.
Si je met le code suivant :
Donc en court-circuitant la variable, il passe bien sur les 5 identifiants, mais est vraiment très très lent (forcément).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <xsl:when test="/export/technical_system[@id=/export/business_process.realized_by[@domain=$BP_id]/@range]"> <xsl:for-each select ="/export/technical_system[@id=/export/business_process.realized_by[@domain=$BP_id]/@range]">
Bref, est-ce que quelqu'un aurait une solution s'il vous plait ?
Partager