xslt条件检查表的每一行是否具有相同或不同的数据

xslt条件检查表的每一行是否具有相同或不同的数据,xslt,Xslt,xslt中是否有任何条件可以帮助我查找表字段(例如名称)是否具有不同的值?我在xml文件中有一组不同的名称。我需要在html表上以不同的颜色显示每个名称。如果有两行具有相同的名称字段,则它们应具有相同的颜色。是否有任何if条件可以帮助我在xslt中实现此要求?是。可以计算具有给定名称的节点数 <xsl:variable name="value" select="Name/text()"/> <xsl:variable name="count" select="count(//r

xslt中是否有任何条件可以帮助我查找表字段(例如名称)是否具有不同的值?我在xml文件中有一组不同的名称。我需要在html表上以不同的颜色显示每个名称。如果有两行具有相同的名称字段,则它们应具有相同的颜色。是否有任何if条件可以帮助我在xslt中实现此要求?

是。可以计算具有给定名称的节点数

<xsl:variable name="value" select="Name/text()"/>
<xsl:variable name="count" select="count(//row[Name/text() = $value])"/>
<xsl:if test="$count &gt; 0"> <!-- do something --> </xsl:if>
或者,您可以检查是否存在具有名称的前一个或后一个节点:

<xsl:variable name="value" select="Name/text()"/>
<xsl:variable name="node" select="preceding::.//row[Name/text() = $value]|following::.//row[Name/text() = $value]"/>
<xsl:if test="count($node) &gt; 0"> <!-- do something --> </xsl:if>