この 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>
テキストが「7 月」で、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 属性で適切に制約するにはどうすればよいですか?
さらに、異なるページ番号に対して複数の Page 要素があるとします。text()='July', P1@X < 90
、および Page でノードを見つけるために、上記の検索をさらに制限するにはどうすればよい@pageNumber=3
ですか?