2013-01-15 51 views
2

模板內部可以獲取模板名稱? 實施例:如何獲取模板內的模板名稱

<xsl:template name="list"> 
<!-- Get name value (in this case "list") --> 
</xsl:template> 
+1

你能解釋爲什麼你在尋求這種功能嗎?也許有另一種方法。 – JLRishe

+0

我想添加包裝div,並給它與同名的類。然後,我想添加CSS樣式,併爲每個CSS規則插入規則之前的.list類。 –

回答

1

據我所知,既不XSLT 1.0也不XSLT 2.0提供這樣的功能。

1

正如Martin所說,可能沒有辦法做到這一點。

即使這樣的能力存在,當然使用它也不會比剛剛確定你想要的值的變量簡單:

<xsl:template name="list"> 
    <xsl:variable name="class" select="'list'" /> 

,然後使用該變量在你需要它。這也有好處,您可以更改模板名稱而無需重寫所有CSS,也可以在不重寫XSLT的情況下更改類名。

+0

至少現在我知道這是不可能的...... TY :)順便說一句,當我打電話給模板時,我決定傳遞參數,然後我只複製/粘貼與模板名稱和參數值相同的名稱... –

1

XSLT使用XML語法這一事實的好處之一是,它很容易轉換樣式表。修改每個命名模板以包含保存模板名稱的變量非常簡單。