将所选模式的默认设置为空(无内容)>

时间:2011-06-24 09:31:24

标签: xslt

好的,我们经常使用这个技巧:

<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"/>

当然,它不起作用,但你明白我的想法..

3 个答案:

答案 0 :(得分:2)

  

是否有代码的快捷方式   以上:

     

我在想:

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

当然,它不起作用,但你   得到我的想法..

是。在XSLT 2.0中,可以有:

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

据我所知,使用该模式建议你想要调用的显式模板