Zorba (XQuery processor)
Zorba is an open source query processor written in C++, implementing 
 several W3C XQuery and XML specifications and
 the JSONiq language for processing JSON data. Zorba is distributed under Apache License, Version 2.0. The project is mainly supported by the FLWOR Foundation, Oracle, and 28msec. Specifications 

Zorba provides the implementation of the following W3C specifications:
 XQuery 1.0
 XQuery 3.0 
 XQuery Update Facility 1.0
 XQuery and XPath Full Text 1.0
 XML Syntax for XQuery 1.0
 XML Schema
 XSL Transformations (XSLT)
 XSL Formatting Objects

Zorba also provides implementations of:
 JSONiq
 Scripting Extension
 Data Definition Facility

Scripting 
Scripting Extension is an open specification that provides semantic for side-effects in XQuery or JSONiq programs. It also provides a user-friendly syntax for imperative programming within such programs. The following code snippet is an example of the Scripting syntax. It computes a sequence containing all the Fibonacci numbers that are less than 100. (: this is a variable declaration statement :)
variable $a as xs:integer := 0;
variable $b as xs:integer := 1;
variable $c as xs:integer := $a + $b;
variable $fibseq as xs:integer* := ($a, $b);

while ($c lt 100) {
   (: this is a variable assignment statement :)
   $fibseq := ($fibseq, $c);
   $a := $b;
   $b := $c;
   $c := $a + $b;
}
$fibseq

The following is an example of CRUD operations using Scripting, XQuery, and XQuery Update. variable $stores := doc("stores.xml")/stores;
(: Create :)
insert node <store><store-number>4</store-number><state>NY</state></store> into $stores;
(: Update :)
replace value of node $stores/store[state="NY"]/store-number with "5";
(: Delete :)
delete node $stores/store[state != "NY"];
(: Read :)
$stores

Data Definition Facility 
Data Definition Facility provides a semantic for persistent artifacts such as collections and indexes in XQuery or JSONiq programs. For instance, the following code snippets declares a collection named entries and an index on that collection named entry. module namespace g = "http://www.zorba-xquery.com/guestbook";

import module namespace db = "http://www.zorba-xquery.com/modules/store/static/collections/dml";

declare namespace an = "http://www.zorba-xquery.com/annotations";

(: Declares a collection named entries :)
declare collection g:entries as element(entry);
(: Declares a variable that points to the g:entries collection :)
declare variable $g:entries := xs:QName('g:entries');

(: Declares an index named entry on top of the entries collection :)
declare %an:automatic %value-equality index g:entry
  on nodes db:collection(xs:QName('g:entries'))
  by xs:string(@id) as xs:string;

Storage 
Zorba provides a pluggable store so it can be used on different kind of environments: disk, database, browser. By default, Zorba is built with a main memory store. 28msec implements a store on top of MongoDB. The XQuery in the Browser project has built a browser plugin for Zorba and leverages the DOM as its store. APIs 
Zorba is usable through different host languages: C++,  C, XQJ / Java, PHP, Python, C#, Ruby, and even XQuery/JSONiq. Zorba is also available as a command-line tool. XQDT is an XQuery plugin for the Eclipse (IDE). It fully supports Zorba API and syntax. Modules 
Zorba provides more than 70 XQuery modules for building applications. Some of these modules are:
 File system, Email, HTTP client, OAuth client
 XQuery and JSONiq Data Model Processing: typing, atomic items, and nodes. Full-text: tokenizer, stemmer, thesaurus lookup. Data Cleaning: phonetic similarities, set similarities, conversions. Data Conversion: Base64, CSV, HTML, JSON, XML
 Data Formatting: XSL-FO
 Introspection and Reflection
 Cryptography
 Image processing

External links 
 Zorba website
 Zorba live demo
 Zorba modules

XQuery processors
XML