有没有办法编写一个在所有模式下匹配的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