在应用模板之前,XSLT修改节点

时间:2010-06-18 09:27:37

标签: xml xslt transform

我有一个处理某些节点的XSL代码,如果某些条件为真,则在执行apply-template select =“。”之前。我需要修改当前节点(添加和属性)。

如何在调用apply-template select =“。”之前向节点添加属性,或者根本不可能?

2 个答案:

答案 0 :(得分:0)

您可以应用两个转换 - 第一个按原样复制每个节点,但只将必要的属性添加到相关节点。然后第二次转换应用于第一次转换的结果。

另一种方法是将属性添加到已应用的模板 <xsl:apply-templates select="."/>

答案 1 :(得分:0)

如果您使用的是Microsoft XSLT处理器,那么您可以使用msxsl:node-set函数来复制和修改您的节点,如果您真的必须通过具有修改属性的节点,但我个人会选择Dimitre的方法上方。

http://msdn.microsoft.com/en-us/library/hz88kef0(v=vs.71).aspx