XSLT créer un nom de nœud de variable
Quand j'ai ces deux variables
<xsl:variable name="a" select="'Total'" />
<xsl:variable name="b" select="'500'" />
Je voudrais créer un nœud avec le nom de la variable 'a' et de son contenu à partir de la variable "b".
J'ai utiliser xsltproc avec XSLT 1.0, et un couple de EXSLT extensions (node-set d'entre eux), donc je avoir réalisé une partie de celui-ci:
<xsl:template match="/">
<xsl:variable name="x" >
<<xsl:value-of select="$a" />>
<xsl:value-of select="$b" />
</<xsl:value-of select="$a" />>
</xsl:variable>
<xsl:value-of disable-output-escaping="yes" select="$x" />
</xsl:template>
en effet, met ça (je ne se soucient pas des espaces pour le moment):
<?xml version="1.0"?>
<Total>
500
</Total>
Mais: je veux utiliser la variable " x " comme un ensemble de nœuds, afin de mieux la manipuler (bien sûr, mon exemple réel est plus complexe). Ce que j'ai fait a été de transformer en un node-set (à l'aide de exslt.org/common), qui semble fonctionner mais l'accès au contenu ne l'est pas.
<xsl:variable name="nodes" select="common:node-set($x)" />
<xsl:value-of select="$nodes/Total" />
ne mène à rien. J'aurais attendu "500 " depuis $nœuds/Total doit être valide expression XPATH 1.0. Évidemment, je suis en manque de quelque chose. Je suppose que le point est que la dynamique de création du nom de noeud avec <...>
n'a pas vraiment de créer un nœud, mais seulement certains sortie textuelle alors, comment puis-je parvenir à une véritable création d'un nœud ici?
OriginalL'auteur Andreas | 2013-02-04
Vous devez vous connecter pour publier un commentaire.
Cette transformation:
lorsqu'il est appliqué sur tout document XML (non utilisé), produit le voulait, résultat correct:
Fait, je suis encore nouveau sur stackoverflow 🙂 je ne peux pas voter, bien que depuis je n'ai pas assez de "réputation" encore.
NP, c'est Ce que DONC -- nous sommes tous d'apprendre quelque chose de nouveau chaque jour 🙂
OriginalL'auteur Dimitre Novatchev