The importance of XML query optimization is growing due to the rising number
of XML-intensive data mining tasks. Earlier work on algebras for XML query
focused mostly on rule-based optimization and used node-at-a-time execution
model. Heavy query workloads in modern applications require cost-based
optimization which is naturally supported by the set-at-a-time execution
model. This paper introduces an algebra with only set-at-a-time operations,
and discusses expression reduction methods and lazy evaluation techniques
based on the algebra. Our experiments demonstrate that, for queries with
complex conditional and quantified expressions, the proposed algebra results
in plans with much better performance than those produced by the
state-of-the-art algebras. For relatively simple queries, the proposed
methods are expected to yield plans with comparable performance.