Учитывая этот XML:
<foos>
<foo>
<name>Apple</name>
<rank>1</rank>
<key>asdfasdfasdf</key>
</foo>
<foo>
<name>Orange</name>
<rank>3</rank>
<key>qwerqwtwetqw</key>
</foo>
<foo>
<name>Apple</name>
<rank>2</rank>
<key>zxcvzxvcxzb</key>
</foo>
...
</foos>
Я пытаюсь найти ключ foo с определенным именем, скажем, «Apple», которое имеет самый высокий ранг.Я использую следующее выражение xpath (обходной путь отсутствия функции max):
/foos/foo[name='Apple' and rank >= /foos/foo[name='Apple']/rank]/key/text()
Однако иногда я получаю несколько результатов назад, даже если каждая комбинация имя-ранг уникальна.Где я тут ошибаюсь?
Это используется в Java - если это окажется актуальным, я могу опубликовать весь код.