The GCX XQuery Engine – Download

G(arbage) C(collected) X(query) Engine – An open source in-memory XQuery engine

GCX is an efficient and effective open source in-memory XQuery engine implemented in C++. At runtime, GCX aims at minimizing the amount of data that is kept in main memory. This strategy does not only allow for evaluating large data streams with low main memory consumption, but also speeds up query evaluation as small buffers in many cases enable for fast XQuery evaluation (see also our benchmark results). If you are interested in the theoretical background of GCX you might take a look at the publications on GCX, which provide detailed information on the evaluation strategy. Furthermore, there is a compact FAQ section, which answers additional questions around GCX.

Supported fragment of XQuery 1.0

The current GCX version 2.1 (v2.1) supports an expressive fragment of the XQuery 1.0 standard. Below you can find a list of currently supported features for the latest and previous GCX releases.


Since April 2009, GCX is a Sourceforge project. Your can download the latest version (and also older versions of GCX) at the Sourceforge GCX project page. Below we provide a short summary of all GCX versions together with their changes and/or addtions. The GCX bundles contain either the source code or the binary and a set of example queries. Please download the manual separately or use the online version of the manual.

(Release Date)
Type Benchmark Results Changes/Additions Download
Independent Work n/a
  • numeric constants
  • rounding function expressions
  • fn:empty function expression
  • fn:doc function expression
  • I(nput)/O(output) stream support
  • exception handling
  • comment expressions
Developers Stuff
Diploma Thesis n/a
  • multi-step path expressions
  • aggregate function expressions
  • major changes to core parts
  • expanded role assignment to all node types
  • reference counting instead of role (multi-)sets
  • large-scale optimization strategies
  • XML document well-formedness validator
Gunnar Jehl:
Erweiterung und Optimierung der Garbage Collected XQuery Engine – Pfade mit mehreren Schritten und Aggregatfunktionen – (engl. Extension and Optimization of the Garbage Collected XQuery Engine – Multi-step Paths and Aggregate Functions –), Diploma Thesis 2008 [.pdf] (only available in german)
Diploma Thesis Results n/a Binaries/Sources


Supported Features

GCX v2.1 supported fragment of XQuery 1.0

The following syntactic constructs are supported by the GCX v2.1 release (changes/additions marked red): ⇒ A complete overview of the supported constructs for this GCX release (v2.1) can be found at Fragment XQ.

GCX v2.0 supported fragment of XQuery 1.0

The following syntactic constructs are supported by the GCX v2.0 release (changes/additions marked red):

GCX v1.0β supported fragment of XQuery 1.0

The following syntactic constructs are supported by the GCX v1.0β release:
Last updated: 2009-05-26
Albert-Ludwigs-Universtät Freiburg
Universtät des Saarlandes
Valid CSS! Valid XHTML 1.0 Strict