Условие xslt для проверки наличия в каждой строке таблицы одинаковых или разных данных. - PullRequest
0 голосов
/ 26 сентября 2011

Есть ли в xslt какое-либо условие, которое поможет мне определить, имеет ли поле таблицы, скажем, Name, другое значение?У меня есть набор разных имен в файле XML.Мне нужно отобразить каждое имя в цвете HTML таблицы.Если есть 2 строки, которые имеют одно и то же поле имени, то они должны быть одинакового цвета.Есть ли условие if, которое поможет мне выполнить это требование в xslt?

1 Ответ

0 голосов
/ 26 сентября 2011

Да.Вы можете count() количество узлов с данным именем.

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...