有沒有辦法編寫一個在所有模式下匹配的XSL 1.0模板?XSL模板可以匹配* ALL *模式嗎?
或者我必須爲每個現有模式(包括未來添加模式的其他模板)編寫一個單獨的模板嗎?
以下是我有:
<xsl:apply-templates mode="mode1" />
...
<xsl:apply-templates mode="mode2" />
...
<!-- Do not process text content of nodes no matter in what mode -->
<!-- Is there a way to have only one template here? -->
<xsl:template match="text()" mode="mode1" />
<xsl:template match="text()" mode="mode2" />
@divo我不會推薦任何人在XSLT 2.0中使用#all - 這太危險了。例如,一個更通用的模板(匹配節點())會干擾*任何其他*模板。更好的辦法是更仔細地設計一個模板,以更清晰的方式,這樣就不需要#all。 – 2009-01-26 20:22:28
@divo如果使用 而不是使用 –
2009-01-26 22:44:34
@Dimitre:是的,當然你是對的。但是,您的解決方案意味着修改代碼中的每個應用程序模板,這使得維護非常困難,並且似乎對我來說很容易出錯。 – 2009-01-27 15:51:10