2011-06-24 110 views
0

好时,我们经常使用这一招:组默认为Nothing(没有内容)>

<xsl:template match="...." mode="m1">my custom output</xsl:template> 
<xsl:template match="*" mode="m1"/> 

它慢慢变得讨厌总要做到这一点:

<xsl:template match="*" mode="m1"/> 
<xsl:template match="*" mode="m2"/> 
<xsl:template match="*" mode="m3"/> 
<xsl:template match="*" mode="m4"/>.. 

如果我们不这样做它会给我们“默认”模板,它基本上输出文本节点的文本内容.. eeks!

是否有捷径?:以上

即时通讯思想代码:

<xsl:template match="*" mode="m1|m2|m3|m4"/> 

当然好了这是行不通的,但你让我的想法..

回答

0

并不远据我所知,使用该模式建议您想要调用的明确模板

1

使用XSLT 2.0,您可以使用<xsl:template match="*" mode="#all">...</xsl:template>,请参阅http://www.w3.org/TR/xslt20/#modes

+0

马丁,OP要求一种方式来提供一组特定的模式,而不是所有的模式。 –

2

是否有一个快捷方式的代码 上述?:

即时通讯思想:

<xsl:template match="*" mode="m1|m2|m3|m4"/> 

当然好了这是行不通的,但你 让我的想法..

是的。在XSLT 2.0中,人们可以有:

<xsl:template match="*" mode="m1 m2 m3"/>