XML:
<Root>
<Elements>
<Element>el1</Element>
<Element>el2</Element>
</Elements>
<Elements>
<Element>el1</Element>
<Element>el2</Element>
</Elements>
</Root>
尝试生成为同一元素应用两个不同的模板。
主模板:
<xsl:stylesheet version="1.0">
<xsl:template match="/Root">
At root level
<xsl:apply-templates select="Elements">
<h1>Render something more</h1>
<xsl:apply-templates select="Elements" mode="1:Custom">
</xsl:template>
<!-- This doesn't render though it is called above-->
<xsl:template match="Elements">
render something here
</xsl:template>
<!-- This renders twice -->
<xsl:template match="Elements" mode="1:Custom">
render something else here
</xsl:template>
</xsl:stylesheet>
如果我将模式添加到第一个模板,两者都不会呈现。
也试过:
<xsl:apply-templates select="Elements" mode="1:Custom" />
使用不同的模板应用为:
<xsl:apply-templates select="Elements" mode="Different" />
两者中只有一个(呈现具有指定模式的第一个)。IE
<xsl:template match="Elements">
</xsl:template>
不渲染
或
<xsl:template match="Elements" mode="Different" />
渲染两次。
我应该如何解决这个问题?在我研究的任何地方,它都建议优先考虑模式。这么多程序员都使用它,一定很简单吗?