Java 如何在xsl:choose中使用xsl:variable
嘿,我有一个xsl变量,我想在XSLChoose标记中使用它Java 如何在xsl:choose中使用xsl:variable,java,xml,xslt,Java,Xml,Xslt,嘿,我有一个xsl变量,我想在XSLChoose标记中使用它 <xsl:template match="/"> <xsl:choose> <xsl:when test="1 eq whatever"> <xsl:variable name="name" select="Person/Name"/> </xsl:when> </xsl:choose> &
<xsl:template match="/">
<xsl:choose>
<xsl:when test="1 eq whatever">
<xsl:variable name="name" select="Person/Name"/>
</xsl:when>
</xsl:choose>
</xsl:template>
您没有在xsl:choose
中使用变量name
——您在那里声明了它
在xsl:when
中声明变量只有在同一元素中也使用该变量时才有意义。这是因为变量的范围。如果在xsl:when
中声明局部变量,则不能在外部使用它
使用xsl:choose
只有在至少测试两个不同条件时才有意义,一个在xsl:when
中,另一个在xsl:others
中。如果只有一个条件,xsl:If
就足够了
如果您透露了更多的XSLT样式表,就有可能知道哪里出错了。因此,请使用完整的输入XML和完整的XSLT样式表更新您的问题
编辑:为了更清楚地说明这一点:不,不可能在其范围之外使用局部变量。如果您在xsl:when
内部声明变量,您将永远无法在外部访问它。您没有在xsl:choose
内部使用变量名称
在xsl:when
中声明变量只有在同一元素中也使用该变量时才有意义。这是因为变量的范围。如果在xsl:when
中声明局部变量,则不能在外部使用它
使用xsl:choose
只有在至少测试两个不同条件时才有意义,一个在xsl:when
中,另一个在xsl:others
中。如果只有一个条件,xsl:If
就足够了
如果您透露了更多的XSLT样式表,就有可能知道哪里出错了。因此,请使用完整的输入XML和完整的XSLT样式表更新您的问题
编辑:为了更清楚地说明这一点:不,不可能在其范围之外使用局部变量。如果您在xsl:when
内部声明变量,您将永远无法在外部访问它。您没有在xsl:choose
内部使用变量名称
在xsl:when
中声明变量只有在同一元素中也使用该变量时才有意义。这是因为变量的范围。如果在xsl:when
中声明局部变量,则不能在外部使用它
使用xsl:choose
只有在至少测试两个不同条件时才有意义,一个在xsl:when
中,另一个在xsl:others
中。如果只有一个条件,xsl:If
就足够了
如果您透露了更多的XSLT样式表,就有可能知道哪里出错了。因此,请使用完整的输入XML和完整的XSLT样式表更新您的问题
编辑:为了更清楚地说明这一点:不,不可能在其范围之外使用局部变量。如果您在xsl:when
内部声明变量,您将永远无法在外部访问它。您没有在xsl:choose
内部使用变量名称
在xsl:when
中声明变量只有在同一元素中也使用该变量时才有意义。这是因为变量的范围。如果在xsl:when
中声明局部变量,则不能在外部使用它
使用xsl:choose
只有在至少测试两个不同条件时才有意义,一个在xsl:when
中,另一个在xsl:others
中。如果只有一个条件,xsl:If
就足够了
如果您透露了更多的XSLT样式表,就有可能知道哪里出错了。因此,请使用完整的输入XML和完整的XSLT样式表更新您的问题
编辑:为了更清楚地说明这一点:不,不可能在其范围之外使用局部变量。如果在xsl:when
内部声明变量,则永远无法在外部访问它。可以使用全局变量
<xsl:variable name="name" select="Person/Name"/>
并在模板中调用它
<xsl:template match="/">
<xsl:choose>
<xsl:when test="1 eq whatever">
<xsl:value-of select="$name"/>
</xsl:when>
</xsl:choose>
</xsl:template>
您可以使用全局变量
<xsl:variable name="name" select="Person/Name"/>
并在模板中调用它
<xsl:template match="/">
<xsl:choose>
<xsl:when test="1 eq whatever">
<xsl:value-of select="$name"/>
</xsl:when>
</xsl:choose>
</xsl:template>
您可以使用全局变量
<xsl:variable name="name" select="Person/Name"/>
并在模板中调用它
<xsl:template match="/">
<xsl:choose>
<xsl:when test="1 eq whatever">
<xsl:value-of select="$name"/>
</xsl:when>
</xsl:choose>
</xsl:template>
您可以使用全局变量
<xsl:variable name="name" select="Person/Name"/>
并在模板中调用它
<xsl:template match="/">
<xsl:choose>
<xsl:when test="1 eq whatever">
<xsl:value-of select="$name"/>
</xsl:when>
</xsl:choose>
</xsl:template>
如果你问“我想写+35”,你会得到答案“你不能那样做,语言不允许这样做”。如果你把问题改为“我想加三到五”,人们会告诉你写“3+5”。所以请解释一下你的问题,然后我们可以告诉你正确的编码方法。我们无法通过查看错误的代码来找出问题所在。如果你问“我想写+35”,你会得到答案“你不能那样做,语言不允许这样做”。如果你把问题改为“我想加三到五”,人们会告诉你写“3+5”。所以请解释一下你的问题,然后我们可以告诉你正确的编码方法。我们无法通过查看错误的代码来找出问题所在。如果你问“我想写+35”,你会得到答案“你不能那样做,语言不允许这样做”。如果你把问题改为“我想加三到五”,人们会告诉你写“3+5”。所以请解释一下你的问题,然后我们可以告诉你正确的编码方法。我们无法通过查看错误的代码来找出问题所在