2011-12-13 2 views
0

J'ai ce morceau de code:variables xslt valeur

 <xsl:variable name="varPriceDate"> 
      <xsl:call-template name="lookup_MarketGNLPricesFile_Valor"> 
      <xsl:with-param name="PARAM_Key" select="'A'"/> 
      </xsl:call-template> 
     </xsl:variable> 
     <xsl:element name="priceDate"> 
      <xsl:value-of select="Col[$varPriceDate]"/> 
     </xsl:element> 
     <xsl:variable name="varPrice"> 
      <xsl:call-template name="lookup_MarketGNLPricesFile_Valor"> 
      <xsl:with-param name="PARAM_Key" select="'B'"/> 
      </xsl:call-template> 
     </xsl:variable> 
     <xsl:element name="price"> 
      <xsl:value-of select="Col[$varPrice]"/> 
     </xsl:element> 

<xsl:value-of select="Col[$varPriceDate]"/> est montrant le même résultat que <xsl:value-of select="Col[$varPrice]"/>. Pouvez-vous m'aider? J'ai besoin de le résoudre

+0

Montrez-nous un peu de contexte, nous avons vraiment besoin de voir le type de retour et la valeur de ces modèles qui sont appelés. Vous pourriez vouloir quelque chose comme 'Col [position() = $ var]' au lieu de ce que vous avez, mais c'est une supposition, montrez-nous les détails nécessaires et nous pouvons vous aider sans deviner. –

Répondre

1

Les valeurs des deux variables sont des fragments d'arbre de résultat (dans XSLT 2.0, nœuds de document), et la valeur booléenne effective d'un fragment d'arbre de résultat est toujours vraie. Par conséquent, les expressions Col[$varPriceDate] et Col[$varPrice] équivalent à écrire simplement Col.

Pour corriger cela, nous devons savoir ce que le code était destiné à réaliser, ce qui n'est pas clair.