这是出于大学目的。我的xslt无效。我试图为每个with和if语句做一个for-each。我尝试使用=或!=它不起作用。
非常感谢任何帮助。 (对不起,缩进很糟糕)。
<xsl:for-each select="$rankingItems/userDefinedVectorLine[userDefinedField/fieldLabel='LIST'
and (userDefinedField[fieldLabel='COUP'] or userDefinedField[fieldLabel='PAY']) ]" >
<xsl:variable name="date" select="userDefinedField[fieldLabel='LIST']/fieldValue"/>
<xsl:variable name="Tempo" select="userDefinedField[2]/fieldLabel"/>
<xsl:if test="$Tempo!='COUP'" >
<xsl:variable name="coupon" select="'TITI'" />
</xsl:if>
<xsl:value-of select="$date"/>
<xsl:value-of select="$coupon"/>
</xsl:for-each>
答案 0 :(得分:1)
在您的代码中coupon
变量仅存在于xsl:if
块内。
因此,当您尝试使用它时(在xsl:if
块之外),您将获得一个空值。
您可能应该“无条件”创建此变量,但内容 应该根据条件创建,例如:
<xsl:variable name="coupon" select="if ($Tempo!='COUP') then 'TITI' else ''" />
还有一个问题:你的意图是coupon
变量吗?
包含'TITI'(常量字符串)?
或者它的值应该是TITI
(孩子)元素的内容?
如果第二个为真,则只写TITI
而不包含撇号。
最后一句话:提问也提供了源XML代码。