Hi Paul,

> //(sea|river|lake)

Due to the (somewhat peculiar) semantics of XPath, this path is identical to...

  /descendant-or-self::node()/
    (child::sea | child::river | child::lake)

...and it creates a massive amount of intermediate results. You could
try to rewrite it to...

  /descendant::sea | /descendant::river |
    /descendant::lake

...or...

  /descendant::*[local-name() = ('sea', 'river', 'lake')]

...and I will try to tweak our optimizer to automatically do this for
you in future (it already works for single steps).

Christian

Reply via email to