XML is emerging as the common wire format for data. As a result, there recently have been significant advances in XML filtering. To date, solutions have focused on identifying the queries that match incoming documents, and possibly identifying the specific matching elements within such documents. These solutions have not, however, addressed the additional processing required to support the customization of output needed in many emerging scenarios, such as application integration, web services, and personalized information delivery. This customization can significantly increase the complexity of the matching process.
We have developed a system that leverages an efficient, shared, path matching engine to extract the specific document components needed to generate customized output for large numbers of filtering queries. We compared three different ways of exploiting the shared path matching engine for this purpose. We also proposed techniques to optimize the processing of output from the engine, and to enable the sharing of such processing across all matched queries. The effectiveness of these techniques were evaluated through a detailed performance study of our implementation.