我想在xsl:if
内声明一个变量,但我不知道这是否可以在XSLT中使用。
这是我到目前为止所做的:
<xsl:if test="mstns:OutlineLevel = 1">
<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
<xsl:value-of select="0" />
<xsl:text disable-output-escaping="yes">]]></xsl:text>
</xsl:if>
<xsl:if test="mstns:OutlineLevel = 2">
<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
<xsl:value-of select="$parent" />
<xsl:text disable-output-escaping="yes">]]></xsl:text>
</xsl:if>
我想要的是:
<xsl:if test="mstns:OutlineLevel = 1">
<xsl:variable name="parent" >
<set the value of the variable to mstns:ID>
</xsl:variable>
</xsl:if>
有什么建议吗?
答案 0 :(得分:1)
这可能对你有帮助。
<xsl:variable name="parent">
<xsl:choose>
<xsl:when test="mstns:OutlineLevel = 1">
<xsl:text>1</xsl:text>
</xsl:when>
<xsl:when test="mstns:OutlineLevel = 2">
<xsl:text>2</xsl:text>
</xsl:when>
</xsl:choose>
</xsl:variable>
答案 1 :(得分:0)
是的,可以在XSLT中的xsl:if
内声明变量:
<xsl:if test=" TEST XPATH EXPRESSION ">
<!-- variable declaration alternatives -->
<xsl:variable name="var" select=" XPATH EXPRESSION "/>
<!-- or -->
<xsl:variable name="var">
<!-- variable binding element -->
</xsl:variable>
<!-- or -->
<xsl:variable name="var"/>
<!-- ($var is an empty string in this case) -->
<!-- First use of $var-->
<!-- Second use of $var-->
<!-- ... -->
</xsl:if>