Как я могу использовать XPath, чтобы найти минимальное / максимальное значение атрибута для выбранной группы в наборе элементов? - PullRequest
0 голосов
/ 14 октября 2019
<foo>
  <bar id="1" score="100" group="beginner" />
  <bar id="2" score="200" group="beginner" />
  <bar id="3" score="300" group="expert" />
  ...
</foo>

Я пытаюсь использовать вот так, но что-то не так (xpath 1.0)

foo/bar[@group='beginner' and not(@score<= preceding-sibling::bar/@score) and not(@score<=following-sibling::bar/@score)]

1 Ответ

1 голос
/ 14 октября 2019

с использованием xpath 1.0

/foo/bar[@group='beginner'][(not(preceding-sibling::bar[@group='beginner']/@score >= @score) and not(following-sibling::bar[@group='beginner']/@score > @score))      or (not(preceding-sibling::bar[@group='beginner']/@score <= @score) and not(following-sibling::bar[@group='beginner']/@score < @score))]/@score
...