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