В XPath, как я могу проверить, содержит ли список определенный элемент? - PullRequest
0 голосов
/ 16 августа 2011

Мне нужно, чтобы список содержал функцию в xpath, которая будет работать так:

//*[contains( ("one", "two", "three"), "one")

Есть что-нибудь подобное?

Только для контекста, эту проблему я пытаюсь решить:

У меня есть дерево DOM

<element blah="one two three">

<element blah="bone two three">

<element blah="two three one">

Я хочу выбрать первый и третий, потому что они содержат один конус.

//*[contains(tokenize(@blah,'\s+'),'one')]

Это то, что я имею до сих пор, но, похоже, это не правильный запрос XPath.

Я знаю, что tokenize возвращает что-то в следующем формате:

("one", "two", "three")

Мне нужно проверить, что находится в этом списке.

1 Ответ

1 голос
/ 16 августа 2011

Простой:

"one" = ("one", "two", "three")

Или более длинный:

some $i in ("one", "two", "three") satisfies $i eq "one"
...