欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

xsl:apply-templates和xsl:call-template的区别

发布时间:2023/12/15 编程问答 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 xsl:apply-templates和xsl:call-template的区别 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1、根本区别

xsl:apply-templates是应用模板,此时会在众多匹配的模板中挑选一个,是一对多的关系;
xsl:call-template是调用模板,可以在不同的地方被调用多次,是多对一的关系。

2、详细区别

  • 调用方式不同:

    xsl:apply-templates通过match进行模板匹配,且match必须对应报文中存在的节点

    xsl:call-template通过name属性进行选择,name可自行定义
  • 作用范围不同:
    xsl:apply-templates有作用域概念,与上下文节点有关系
    xsl:call-template没有作用域概念,与上下文节点无关,主要与参数中选择的节点有关

3、总结

  • xsl:apply-templates是应用模板,在使用时通过select来进行选择报文中存在的特定节点,转换器自动搜索select选择节点所对应的模板,模板必须有match属性;同一个节点,可以对应多个模板,通过mode属性进行区分
  • xsl:call-template是调用模板,在使用时通过name来进行选择模板,模板中必须有name属性,且与call-template的name相同,这样才能被定位到;可以传递特定参数xsl:with-param,此时调用的模板唯一(name唯一)
  • 在使用过程中,新增模块、不涉及到传递参数时,使用xsl:apply-templates方便且安全;若单单是对某个节点进行修改,则使用 xsl:call-template更加简单有效

总结

以上是生活随笔为你收集整理的xsl:apply-templates和xsl:call-template的区别的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。