2009-09-25 5 views
9

Voir xslt to operate on element value before displaying? pour l'original XML et XSL. J'ai eu une réponse à ma question là-bas. Mon autre question sur this same XML/XSL est: si je veux capturer la valeur d'un élément (tel que l'élément "title") dans une variable locale XSL, puis opérer dessus, comment capturer cette valeur et l'assigner à une variable? J'ai le sentiment qu'il a quelque chose à voir avec XSL "param", mais je ne suis pas sûr.XSL: Comment affecter la valeur d'un élément XML à une variable (changement minimal à la page ci-dessous)?

Ainsi, sur that same code, ce qui est le minimum modification du XSL afin que je vais avoir la valeur du titre dans une variable?

Répondre

12

Vous utilisez l'instruction xsl: variable pour créer une variable. L'un ou l'autre des éléments suivants fonctionnera

<xsl:variable name="cdtitle"><xsl:value-of select="title"/></xsl:variable> 
<xsl:variable name="cdtitle" select="title"/> 

Ces instructions devraient dans ce cas être dans la boucle.

Pour utiliser la variable, vous pouvez simplement faire cela, en supposant que la variable est dans la portée.

<xsl:value-of select="$cdtitle"/> 

Veuillez noter que malgré le nom, les variables xsl: ne sont pas variables. Une fois définis, ils ne peuvent pas être modifiés. Vous devez créer une nouvelle variable avec un nouveau nom si vous souhaitez modifier la valeur.

+0

Merci. Juste pour que j'apprenne toutes les syntaxes communes, n'y a-t-il pas aussi une syntaxe où je déclare la variable en premier, et ensuite définissez sa valeur? Avec votre commentaire à ce sujet, je vais probablement marquer cela comme la réponse acceptée. En tout cas, j'ai cherché votre note "xsl: les variables ne sont pas variables" et je me rends compte que je vais devoir lire, par exemple, "http://xml.apache.org/xalan-j/xsltc/xsl_variable_design.html "soigneusement pour comprendre tout sur les variables et les paramètres xsl. – talkaboutquality

+0

www.w3schools.com est un autre bon endroit pour en savoir plus sur XSLT. Voir http://www.w3schools.com/xsl/xsl_w3celementref.asp pour une liste d'éléments XSLT, par exemple. –

+0

Maintenant, j'ai essayé les deux options et ils fonctionnent. Merci pour la réponse et la référence xsl supplémentaire. Je pense que je suis sur mon chemin maintenant! – talkaboutquality

Questions connexes