Учитывая этот XML:
<DocText>
<WithQuads>
<Page pageNumber="3">
<Word>
July
<Quad>
<P1 X="84" Y="711.25" />
<P2 X="102.062" Y="711.25" />
<P3 X="102.062" Y="723.658" />
<P4 X="84.0" Y="723.658" />
</Quad>
</Word>
<Word>
</Word>
<Word>
30,
<Quad>
<P1 X="104.812" Y="711.25" />
<P2 X="118.562" Y="711.25" />
<P3 X="118.562" Y="723.658" />
<P4 X="104.812" Y="723.658" />
</Quad>
</Word>
</Page>
</WithQuads>
Я хотел бы найти узлы с текстом 'Июль' и атрибут Quad/P1/X Больше чем 90. Таким образом, в этом случае он не должен возвращать никаких совпадений. Однако, если я использую GT ( > ) или LT (<), я получаю соответствие для первого элемента Word. Если я использую eq (=), я не получаю соответствия.
Итак:
//Word[text()='July' and //P1[@X < 90]]
вернет true, как и
//Word[text()='July' and //P1[@X > 90]]
Как я могу сдержать это правильно в атрибуте P1 @X?
Кроме того, представьте, что у меня есть несколько элементов страницы, для разных номеров страниц. Как бы я дополнительно сдерживал вышеуказанный поиск, чтобы найти Узлы с text()='July', [email protected] < 90
и Page @pageNumber=3
?