xsl:apply-templates和xsl:call-template的区别
生活随笔
收集整理的這篇文章主要介紹了
xsl:apply-templates和xsl:call-template的区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、根本區(qū)別
xsl:apply-templates是應(yīng)用模板,此時會在眾多匹配的模板中挑選一個,是一對多的關(guān)系;
xsl:call-template是調(diào)用模板,可以在不同的地方被調(diào)用多次,是多對一的關(guān)系。
2、詳細(xì)區(qū)別
- 調(diào)用方式不同:
xsl:apply-templates通過match進(jìn)行模板匹配,且match必須對應(yīng)報文中存在的節(jié)點
xsl:call-template通過name屬性進(jìn)行選擇,name可自行定義 - 作用范圍不同:
xsl:apply-templates有作用域概念,與上下文節(jié)點有關(guān)系
xsl:call-template沒有作用域概念,與上下文節(jié)點無關(guān),主要與參數(shù)中選擇的節(jié)點有關(guān)
3、總結(jié)
- xsl:apply-templates是應(yīng)用模板,在使用時通過select來進(jìn)行選擇報文中存在的特定節(jié)點,轉(zhuǎn)換器自動搜索select選擇節(jié)點所對應(yīng)的模板,模板必須有match屬性;同一個節(jié)點,可以對應(yīng)多個模板,通過mode屬性進(jìn)行區(qū)分
- xsl:call-template是調(diào)用模板,在使用時通過name來進(jìn)行選擇模板,模板中必須有name屬性,且與call-template的name相同,這樣才能被定位到;可以傳遞特定參數(shù)xsl:with-param,此時調(diào)用的模板唯一(name唯一)
- 在使用過程中,新增模塊、不涉及到傳遞參數(shù)時,使用xsl:apply-templates方便且安全;若單單是對某個節(jié)點進(jìn)行修改,則使用 xsl:call-template更加簡單有效
總結(jié)
以上是生活随笔為你收集整理的xsl:apply-templates和xsl:call-template的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言除法哪个是整除,c语言整除(c语言
- 下一篇: Kotlin学习(3):习惯用法