代码之家  ›  专栏  ›  技术社区  ›  joeriks

如何设置XSLT变量以包含精确的xml数据

  •  0
  • joeriks  · 技术社区  · 13 年前

    我想知道如何将xml数据从一个变量存储到另一个变量。

    这是可行的($oldvariable包含xml数据):

    <xsl:variable name="newvariable" select="$oldvariable"/>
    

    <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"/>
    ...
    

    1 回复  |  直到 13 年前
        1
  •  3
  •   user357812 user357812    13 年前

    这是常见问题解答: 在XSLT 1.0中,无论何时使用内容模板(不带@select)声明变量/参数,结果类型都是result Tree Fragment。

    那么,你不能用RTF作为左手 / 步进操作器。

    那么,如何根据条件将变量声明为两个节点集之一?

    <xsl:variable name="newvariable" select="$oldvariable[$condition]|
                                             $othernodeset[not($condition)]"/>