我想知道如何将xml数据存储在另一个变量中。
这可行($ oldvariable包含xml数据):
<xsl:variable name="newvariable" select="$oldvariable"/>
但这不起作用(可能是因为有经验的XSLT编码器的一些明显原因):
<xsl:variable name="newvariable">
<xsl:copy-of select="$oldvariable"/>
</xsl:variable>
如何让后者存储确切的可变数据?
我需要那个构造,因为我真的使用了:
<xsl:variable name="newvariable">
<xsl:choose>
<xsl:when test="some-test">
<xsl:copy-of select="$oldvariable"/>
...
非常感谢!
答案 0 :(得分:3)
这是FAQ:在XSLT 1.0中,无论何时使用内容模板声明变量/参数(不带@select),结果类型都是结果树片段。
然后,您不能将RTF用作/
步操作符的左手。
那么,如何根据条件将变量声明为两个节点集之一?
<xsl:variable name="newvariable" select="$oldvariable[$condition]|
$othernodeset[not($condition)]"/>