In this paper, we describe an approach to boosting the performance of an XQuery engine by identifying and exploiting opportunities
to share processing both within and across XML queries. We first explain where sharing opportunities arise in the world of
XML query processing. We then describe an approach to shared XQuery processing based on memoization, providing details of
an implementation that we built by extending the streaming XQuery processor that BEA Systems incorporates as part of their
BEA WebLogic Integration 8.1 product. To explore the potential performance gains offered by our approach, we present results
from an experimental study of its performance over a collection of use-case-inspired synthetic query workloads. The performance
results show that significant overall gains are indeed available.