加入“;“模式”;对xslt样式表的态度
我有一个xslt样式表,它的功能没有问题。我需要将mode属性添加到所有xsl:template元素中。为了将属性添加到所有元素中,并且样式表仍能正常工作,我应该记住哪些事实。感谢您的帮助。提前感谢您。当然,这取决于样式表和您想要使用的确切模式值,有关详细信息,请参阅 假设您有一些类似于没有模式属性的模板,例如加入“;“模式”;对xslt样式表的态度,xslt,xslt-2.0,Xslt,Xslt 2.0,我有一个xslt样式表,它的功能没有问题。我需要将mode属性添加到所有xsl:template元素中。为了将属性添加到所有元素中,并且样式表仍能正常工作,我应该记住哪些事实。感谢您的帮助。提前感谢您。当然,这取决于样式表和您想要使用的确切模式值,有关详细信息,请参阅 假设您有一些类似于没有模式属性的模板,例如 <xsl:template match="foo"> <bar> <xsl:apply-templates/> </bar>
<xsl:template match="foo">
<bar>
<xsl:apply-templates/>
</bar>
</xsl:template>
在apply templates
上,您有一个不同的选项,但是,您可以使用
<xsl:template match="foo" mode="m1">
<bar>
<xsl:apply-templates mode="#current"/>
</bar>
</xsl:template>
虽然使用单模式值,但没有区别。非常感谢。但是我在所有有xsl:template和xsl:template的地方都添加了“mode”。现在样式表不能正常工作。我在所有地方应用了相同的模式名称。我遗漏了什么吗?我在所有有xsl:template和xsl:template的地方都添加了“mode”是错误吗?我试图指出,您需要更改
xsl:template
以及xsl:apply-templates
。如果你有一个具体的样式表,在你尝试添加一个模式后失败了,那么你最好(至少对我来说是这样)向我们展示输入、原始样式表、新样式表、你想要的输出和你得到的输出。我错过了一个模板。非常感谢你的回答。
<xsl:template match="foo" mode="m1">
<bar>
<xsl:apply-templates mode="#current"/>
</bar>
</xsl:template>