2010-08-18 7 views
1

Est-il possible de créer une variable à l'intérieur d'une variable en xslt ??variable à l'intérieur d'une variable en codage xslt

est la chose ci-dessus possible ???

+1

La question a reçu une réponse à leur valeur nominale ci-dessous, mais je me demande ce que vous essayez vraiment de faire? Peut-être que si vous décrivez plus sur ce dont vous avez besoin, nous pouvons donner une meilleure réponse. – LarsH

Répondre

4

Est-ce que c'est ce que vous voulez dire?

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" version="2.0"> 

    <xsl:variable name="a"> 
    <xsl:variable name="b" select="10"/> 
    <xsl:value-of select="$b"/> 
    </xsl:variable> 

    <xsl:template match="/"> 
    <xsl:value-of select="$a"/> 
    </xsl:template> 

</xsl:stylesheet> 

La réponse est oui, mais la variable interne est dans la portée uniquement dans la définition de la variable externe. Donc, si la définition de la variable externe appelle une expression complexe que vous souhaitez stocker temporairement (éventuellement à des fins de débogage), alors c'est une façon de le faire.

1

La réponse est: oui. Cette feuille de style:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="text"/> 
    <xsl:template match="/"> 
     <xsl:variable name="vOuter"> 
      <xsl:variable name="vInner"> 
       <xsl:value-of select="'Content'"/> 
      </xsl:variable> 
      <xsl:value-of select="concat('Some ',$vInner)"/> 
     </xsl:variable> 
     <xsl:value-of select="$vOuter"/> 
    </xsl:template> 
</xsl:stylesheet> 

Sortie:

Some Content