我想知道 XSLT 中是否有办法修改/添加属性值。
现在我只是替换属性值:
<a class="project" href="#">
<xsl:if test="new = 'Yes'">
<xsl:attribute name="class">project new</xsl:attribute>
</xsl:if>
</a>
但我不喜欢第 2 行中重复 project
。是否有更好的方法来做到这一点,例如简单地添加 new
在属性末尾?
感谢您的帮助!
最佳答案
您可以输入if
里面attribute
而不是相反:
<a href="#">
<xsl:attribute name="class">
<xsl:text>project</xsl:text>
<xsl:if test="new = 'Yes'">
<xsl:text> new</xsl:text>
</xsl:if>
</xsl:attribute>
</a>
安<xsl:attribute>
可以包含任何有效的 XSLT 模板(包括 for-each
循环、应用其他模板等),唯一的限制是实例化此模板只能生成文本节点,而不是元素、属性等。属性值将是所有这些文本节点的串联。
关于xml - 如何使用 XSLT 修改 XML 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14093943/