好的,我们经常使用这个技巧:
<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 :(得分: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)
据我所知,使用该模式建议你想要调用的显式模板