Variables dans XSLT comment déclarer , d'attribuer de la valeur et d'utiliser cette variable dans un autre endroit de la même XSLT
Merci de considérer mon "A/B" expression xPath renvoie le nœud suivant
<Q ID="12345">
----
----
</Q>
C'est ma variable
C'est de cette façon que je suis en train d'affecter une valeur à mon tempVariable variable
<xsl:for-each select="A/B">
<xsl:variable name="tempVariable"><xsl:value-of select="@ID"/></xsl:variable>
</xsl:for-each>
Et après tout, je suis en train d'utiliser cette variable
<xsl:if test="$tempVariable='12345'">
....
....
</xsl:if>
mais ici, comme je comprends que je suis de $tempVariable ="" qui n'est pas correct.
Quelqu'un peut-il me dire où je fais mal ou comment puis-je le faire de façon appropriée.
Merci.
Si Q est un enfant de B? ... ensuite, il devrait être Q/@ID ...
Seee la réponse à de semblables quetion posté ici stackoverflow.com/questions/17066455/...
Seee la réponse à de semblables quetion posté ici stackoverflow.com/questions/17066455/...
OriginalL'auteur Jagath Jayasinghe | 2013-05-13
Vous devez vous connecter pour publier un commentaire.
Pourquoi un chemin comme
A/B
sélectionnez unQ
élément? Si vous souhaitez utiliser une variable, vous devez vous assurer qu'elle est dans la portée. La variable que vous montrez dans votre échantillon est portée à l'intérieur de laxsl:for-each
, après laxsl:variable
élément.Si vous souhaitez utiliser la variable en dehors de la
for-each
vous devez la déclarer en dehors de lafor-each
.Cependant, je pense que vous pouvez tout simplement faire
il n'est pas nécessaire pour le
for-each
.XSLT est un langage de programmation déclarative, tandis que l'affectation et, en particulier, la réaffectation à des variables est un concept de programmation procédurale en supposant qu'une exécution séquentielle de l'ordre des déclarations. Ce n'est pas comment XSLT fonctionne et si vous avez besoin d'aide pour résoudre un problème dans XSLT et n'êtes pas encore familier avec elle, puis envisager de publier un échantillon d'entrée et les résultats correspondants de l'échantillon que vous souhaitez créer, puis les gens ici peuvent vous montrer un XSLT moyen de résoudre le problème.
OriginalL'auteur Martin Honnen