加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – XSLT – 有没有办法追加添加的属性?

发布时间:2020-12-16 23:50:27 所属栏目:百科 来源:网络整理
导读:简化示例: xsl:template name="helper" xsl:attribute name="myattr"first calculated value/xsl:attribute/xsl:templatexsl:template match="/ myelem xsl:call-template name="helper" / xsl:attribute name="myattr"second calculated value/xsl:attribu
简化示例:
<xsl:template name="helper">
  <xsl:attribute name="myattr">first calculated value</xsl:attribute>
</xsl:template>

<xsl:template match="/>
  <myelem>
    <xsl:call-template name="helper" />
    <xsl:attribute name="myattr">second calculated value</xsl:attribute>
  </myelem>
</xsl:template>

有没有办法让第二个将第二个计算值附加到结果节点中的同一个myattr属性?

我已经看到如果目标属性在源xml中,可以使用属性值模板,但是我可以以某种方式引用我之前附加到结果节点的属性的值吗?

提前致谢!

您可以采取的一种方法是向助手模板添加一个参数,该参数将附加到属性值.
<xsl:template name="helper">
  <xsl:param name="extra" />
  <xsl:attribute name="myattr">first calculated value<xsl:value-of select="$extra" /></xsl:attribute>
</xsl:template>

然后您可以将第二个计算值作为参数过去

<xsl:template match="/>
  <myelem>
    <xsl:call-template name="helper">
      <xsl:with-param name="extra">second calculated value</xsl:with-param>
    </xsl:call-template>
  </myelem>
</xsl:template>

您不必为每次调用设置参数.如果您不想要任何附加内容,只需调用没有参数的帮助器模板,并且不会向第一个计算值附加任何内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读