我有一个使用XML文件的XSL文件。 XSL文件需要两次显示XML文档中的信息,但每次都会略有不同。
如何声明具有相同匹配项的不同模板,但指定在使用<xsl:apply-templates select="...">...</>
时要调用的模板
答案 0 :(得分:2)
如何声明具有相同匹配项的不同模板,但是 指定我想在使用时调用哪个模板 ...
使用模式。在模板规则中:
<xsl:template match="xyz" mode="mode1"/>
在apply-templates调用中:
<xsl:apply-templates select="abc" mode="mode1"/>
在寻找最合适的时候&#34;模板规则,仅考虑适当模式下的模板规则。
所有XSLT版本都提供模式。在XSLT 3.0中,您可以声明模式的属性,例如
<xsl:mode name="mode1" streamable="yes" on-no-match="fail"/>