Filtering and Transformation for High-Volume 
XML Message Brokering


Research Papers

Related Work




YFilter 1.0 Release  

This is the release of YFilter, version 1.0. In this release, we include the filtering engine of the YFilter system developed at the University of California at Berkeley. The YFilter filtering engine allows users or applications to submit multiple queries that are to be continuously executed against streaming XML messages. For each incoming XML message, the filtering engine returns a result for every query that is satisfied by the message. A result can be either a boolean value (i.e., True), or a sequence of elements that matched the query. In this release, queries are written in a subset of XPath 1.0.

The features of YFilter include shared processing of all the queries for efficiency and scalability, and using lightweight event-based XML parsing to drive such query execution. In this way, YFilter can provide fast, on-the-fly matching of large numbers of queries that many emerging applications including publish/subscribe and XML message brokering are facing.

YFilter is implemented in Java using J2SE1.4.x. The filtering engine can be accessed via a command prompt, a graphical user interface, or an API for using it as a library. Besides the filtering engine, this package also includes useful sub-packages, test suites, and documentation. The main components of this package include the following:

This release is available under the BSD license, an unrestrictive, "free", open-source license. Please feel free to download, install and use YFilter.


This work was funded in part by the National Science Foundation under ITR grants IIS-0086057 and SI-0122599, by the IBM Faculty Partnership Award program, and by research funds from Intel, Microsoft, and the UC MICRO program.


To use the package, please tell us a little bit about yourself in the fields below and click the Download button.

Your email address:      

Your name:                  

Your organization:        

User Manual

Please read the YFilter User Manual to learn more about how to use YFilter.


This FAQ answers most of the commonly asked questions about installing and using YFilter. If you don't find suitable answers there, please write to us as described in the Feedback section.


Please send feedback, suggestions or bug reports to help [AT] yfilter [DOT] cs [DOT] berkeley [DOT] edu.