在XSLT 1.0中,將當前上下文節點傳遞給被調用模板並使該節點成爲被調用模板內的上下文節點的最短/最簡潔/推薦的方式是什麼?XSLT在調用模板中傳遞當前上下文
如果一個沒有xsl:param並且被一個空的調用模板調用的模板會簡單地拿起調用者的上下文節點,那麼它會很好(它會是吧?),但我能想到的最好的是:
<xsl:call-template name="sub">
<xsl:with-param name="context" select="." />
</xsl:call-template>
與
<xsl:template name="sub">
<xsl:param name="context" />
<xsl:for-each select="$context">
</xsl:for-each>
</xsl:template>
謝謝迪米特雷。我沒有看到這個記錄,當我嘗試它時似乎沒有工作。我沒有找到正確的地方,一定是在做別的事情。 +1 Q回答。乾杯。 – JPM 2012-03-30 13:37:33
@JPM:不客氣。您可能一直在研究XSLT 2.0中的'xsl:function'指令 - 它與命名模板不同,因爲它沒有收到函數調用者的上下文,並且如果調用者必須通過它的上下文節點作爲參數,如果這個上下文節點必須被傳遞。 – 2012-03-30 13:56:57