Prob

In the following XML I'd like to find the nodes that have text of 'July' and a Quad/P1/X attribute Greater than 90.

init

XQuery

<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>
</DocText>
        

Result

<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>
            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>
</DocText>

predicate

XQuery

 let $context :=
 <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>
</DocText>

return $context

Result

<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>
            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>
</DocText>

predicate

XQuery

 let $context :=
 <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>
</DocText>

return $context//Word[normalize-space(.) = "July"]

Result

<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>