如何比较XSLT中两个节点的值
我知道这可能是重复的,但我还是要试试:) 我有一个XML文件,可以从中获取条件值。 XML文件如下所示:如何比较XSLT中两个节点的值,xslt,Xslt,我知道这可能是重复的,但我还是要试试:) 我有一个XML文件,可以从中获取条件值。 XML文件如下所示: <root> <test> <criteria nom="DR"> <abbr>DR</abbr> <value>0.123456</value> </criteria> <criteria nom="MOTA">
<root>
<test>
<criteria nom="DR">
<abbr>DR</abbr>
<value>0.123456</value>
</criteria>
<criteria nom="MOTA">
<abbr>MOTA</abbr>
<value>0.132465</value>
</criteria>
</criteria>
</test>
<test>
<criteria nom="DR">
<abbr>DR</abbr>
<value>0.655425</value>
</criteria>
<criteria nom="MOTA">
<abbr>MOTA</abbr>
<value>0.766545</value>
</criteria>
</test>
</root>
博士
0.123456
莫塔
0.132465
博士
0.655425
莫塔
0.766545
我试图比较字段
。
目前,我正试图这样做:
<xsl:variable name="pos" select="position()" />
<xsl:for-each select="/root/test[$pos]/criteria/value">
<xsl:if test="/root/test[$pos-1]/criteria/value/text() < /root/test[$pos]/criteria/value/text()">
<td class = "GOOD"><xsl:value-of select="text()"/></td>
</xsl:if>
<xsl:if test="/root/test[$pos-1]/criteria/value/text() > /root/test[$pos]/criteria/value/text()">
<td class = "BAD"><xsl:value-of select="text()"/></td>
</xsl:if>
</xsl:for-each>
但这不是正确的方法。
我怎样才能达到这个结果 假设当前元素是
值
,这是一种非常优雅的引用方式
“上一个”值(在当前测试元素内)为:
有关工作示例,请参见
请注意,您的源XML在每个测试
元素中只包含一个标准
元素的前面有一个同级元素,因此为了降低集中度,我扩展了它
通过第一个测试中的附加标准
元素
访问上述页面,尝试更改value
“源XML”窗格中的元素
select="../preceding-sibling::*[1]/value"