Количество узлов, удовлетворяющих условию на основе атрибутов

StackOverflow https://stackoverflow.com/questions/102606

Вопрос

Ниже приведена часть XML, который я обрабатываю. XSLT-процессор PHP:

<result>
    <uf x="20" y="0"/>
    <uf x="22" y="22"/>
    <uf x="4" y="3"/>
    <uf x="15" y="15"/>
</result>

Мне нужно знать, сколько существует узлов «uf», где x == y.

В приведенном выше примере это будет 2.

Я пробовал зацикливать и увеличивать переменную-счетчик, но не могу переопределить переменные.

Я пробовал множество комбинаций xsl:number с count/from, но не смог правильно получить выражение XPath.

Спасибо!

Это было полезно?

Решение

<xsl:value-of select="count(/result/uf[@y=@x])" />

Другие советы

count('/result/uf[@x = @y]')
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top