Вот что у меня сейчас есть:
//tr[.//*[@id = string(../label[.='foo']/@for) and @value='bar']]
Я знаю, что это работает:
//tr[.//label[.='foo']/@for]
Я также подтвердил, что функция string()
работает должным образом, но, похоже, зависает при сопоставлении string()
с атрибутом id
. Есть идеи почему?
Вот фрагмент X [HT] ML, который должен соответствовать этому - он должен найти вторую строку:
<tr>
<td>
<label for="thing1">foo</label>
<input id="thing1" value="not-bar" />
</td>
</tr>
<tr>
<td>
<label for="thing2">foo</label>
<input id="thing2" value="bar" />
</td>
</tr>
Спасибо!