假设变量中有以下内容:
<xsl:variable name="Fruits">
<FRUIT>
<TYPE> APPLE </TYPE>
<COLOUR> RED </COLOUR>
<SIZE> 5 </COLOUR>
</FRUIT>
</xsl:variable>然后,我可以轻松地获取属性,即:
<xsl:variable name="FirstColour" select="$Fruits/FRUIT[1]/COLOUR"/>但是,假设我想选择是使用我的水果变量还是蔬菜变量,以满足以后的一些条件:
<xsl:variable name="Food">
<xsl:choose>
<xsl:when test="GoFruit">
<xsl:value-of select="$Fruits" />
</xsl:when>
<xsl:when test="GoVeg">
<xsl:value-of select="$Vegetables" />
</xsl:when>
</xsl:choose>
</xsl:variable>我不能再通过food访问我的水果的属性,因为"xsl:value-of"函数会折叠这个结构,这意味着我做不到:
<xsl:value-of select="$Food/FRUIT[1]/COLOUR"/>是否有任何方法来保存结构(除了“价值-of”之外)?
发布于 2015-05-19 15:37:08
你应该用<xsl:copy-of>代替。这将创建结构,而不是计算节点值。
因此,您将使用:
<xsl:copy-of select="Fruits" />你应该在你的产出中检索水果或蔬菜的结构。
https://stackoverflow.com/questions/30329922
复制相似问题