【发布时间】:2012-06-08 17:33:45
【问题描述】:
我有一个这样的 xml 元素:
<book>
<English color="blue" author="hasan" />
<English color="red" author="david" />
</book>
是否可以使用 xslt 对其进行迭代并产生如下所示的输出?
<book>
<English color="yellow" author="hally" />
<English color="pink" author="gufoo" />
</book>
这是我正在尝试的;
<xsl:template match = /book>
<xsl:for-each select "./English">
<xsl:if test="@color = '"yellow"'">
<English color="yellow"/>
<xsl:if test="@color = '"red"'">
<English color="pink"/>
</xsl:for-each>
</xsl-template>
【问题讨论】:
-
除了属性的值,这里应该有区别吗?
-
你试过什么?此外,这两个文件仅共享结构,数据完全不同。控制转换的规则是什么?请阅读FAQ 和How to Ask 了解发布指南。
-
对不起,如果我的表达方法不正确。我需要的是,如果属性“颜色”是蓝色,它应该被替换为黄色,如果颜色是红色,它应该被替换为粉红色。
-
答案是肯定的。这是可能的。
-
@tom。我对 xslt 不熟悉,正在看一些教程,你能解释一下吗?