所以我想使用xsl这样做,如果排名是在1到3之间,然后将背景色设置为绿色,否则,如果排名是20到23之间的,那么将其设置为红色,这里是我的< code >D9代码
<xsl:attribute name="style">
<xsl:if test=" 1 <= ranking <= 3" >
<!-- 1<= ranking >=3 -->
background-color: LightGreen;
</xsl:if>
<xsl:if test=" 20 <= ranking >= 23" >
<!-- 20<= ranking >=23 -->
background-color: red;
</xsl:if>
</xsl:attribute>我的xml文件
<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet type="text/xsl" href="statistiques.xsl" ?>
<statistical_team>
<team>
<team>Real Madrid</team>
<ranking>1</ranking>
</team>
<team>
<team>Barcelone</team>
<ranking>8</ranking>
</team>
<team>
<team>Juventus</team>
<ranking>2</ranking>
</team>
<team>
<team>PSG</team>
<ranking>5</ranking>
</team>
<team>
<team>Bayern</team>
<ranking>4</ranking>
</team>
</statistical_team>但是它不起作用,而且是否有一种方法可以使这个进程动态,因为如果我们添加了一个24团队,那么代码将永远不会运行
发布于 2021-01-13 14:49:04
语法1 <= rank <= 3实际上在XPath 1.0中是允许的,但这并不意味着您的想法--在XPath 2.0中,它被不允许是非常令人困惑的。你想要1 <= rank and rank <= 3。
XPath 1.0的意思是将1<=rank计算为布尔值,然后将其处理为一个数字(0或1),并将结果与3进行比较。因为0和1都是<= 3,所以结果总是正确的。
发布于 2021-01-13 15:01:20
你就不能简单地这样做吗
<xsl:attribute name="style">
<xsl:if test="ranking <= 3" >
<!-- 1<= ranking >=3 -->
background-color: LightGreen;
</xsl:if>
<xsl:if test="ranking >= 20" >
<!-- 20<= ranking >=23 -->
background-color: red;
</xsl:if>
</xsl:attribute>https://stackoverflow.com/questions/65703589
复制相似问题