XMLTaskForce XPath

An (almost) complete implementation of the XPath 1 Recommendation -- and the only such system with guaranteed polynomial-time query evaluation.

Papers and Slides on the XMLTaskforce XPath Engine

Georg Gottlob, Christoph Koch, and Reinhard Pichler. "Efficient Algorithms for Processing XPath Queries". Journal version of VLDB 2002 and ICDE 2003 paper. Submitted for publication. (419kB PDF file)

Georg Gottlob, Christoph Koch, and Reinhard Pichler. "Efficient Algorithms for Processing XPath Queries". Accepted for publication in Proc. 28th International Conference on Very Large Data Bases (VLDB 2002), Hong Kong, China, August 20-23, 2002. (254kB PDF file)

Georg Gottlob, Christoph Koch, and Reinhard Pichler. "XPath Query Evaluation: Improving Time and Space Efficiency". Accepted for publication in Proc. 19th International Conference on Data Engineering (ICDE 2003), Bangalore, India, March 5-8, 2003. (185kB PDF file)

Georg Gottlob and Christoph Koch "XPath Query Processing". Invited tutorial at DBPL 2003, Sept. 8, 2003, Potsdam, Germany. Slides: Part1 (gzipped Powerpoint, 4234 kB !!!); Part2 (Powerpoint, 874 kB).


Examples, Current Status of the Code, and Known Bugs and Incompatibilities

Since we aim to make our implementation coherent with the XPath standard, we do not offer extensive documentation. If you are not familiar with XPath, please consult the XPath 1 Recommendation, the formal definition of XPath in our papers (see above), or any of the XPath tutorials that can be found on the Web.

A list of current incompatibilities and to do's (which will be fixed in future versions) as well as examples of correct usage can be found in this file. Please try out the examples with the XML file abc.xml.


Download

Note: this is not free software - permission to download it is for research and evaluation purposes only. Copyright is with the XMLTaskforce.

NO WARRANTY

BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

However, during development, no attempt was made to add malicious behavior. Our code neither attempts to write to the disk nor to access the network.

Release tag of current prototype: 2004-09-30. (Please cite this if you use this system in benchmarks!)
Platform OS File
Pentium Linux statically linked binary xpath_i586_Linux.gz (1085kB,gzipped)
Pentium FreeBSD statically linked binary xpath_i586_FreeBSD.gz (924kB, gzipped)
Sun-Sparc SunOS (5.9) statically linked binary xpath_sparc_SunOS.gz (1347kB, gzipped)
Pentium Windows 2000/XP requires cygwin1.dll (included; this DLL must be placed into a directory where Windows can find it) xpath_i586_Win2000.zip (688kB, zipped)
Pentium Windows 2000/XP statically linked binary xpath_i586_Win2000_nocygwin.exe (588kB)

This executable was created using Cygwin. In order not to require cygwin1.dll, the command-line options (which are not very important) were disabled.

Note that the executables for Windows are command-line programs just like the UNIX executables.

Please send an email to koch@xmltaskforce.com if you'd like to have a binary for a different platform added.


Last modified: 2004-09-30