Zorba achieves 100% on minimal conformance (and 78.57% on Optional Features) for the XQuery Update Facility Test Suite.
Please see the table below for more details.
| W3C XQuery Update Facility 1.0 features | XQuery | XQueryX |
| Minimal Conformance | ||
| Extensions to the Prolog | ||
| Variable Declaration | 2/2 | 2/2 |
| Function Declaration | 21/21 | 21/21 |
| New Kinds of Expressions | ||
| Insert Expressions | 100/100 | 100/100 |
| Delete Expressions | 30/30 | 30/30 |
| Replace Expressions | ||
| Replacing a Node | 22/22 | 22/22 |
| Replacing the Value of a Node | 33/33 | 33/33 |
| Rename Expressions | 44/44 | 44/44 |
| Transform Expressions | 58/58 | 58/58 |
| Compatibility of Updating Expressions | 30/30 | 30/30 |
| Extension to Existing Expressions | ||
| FLWOR Expressions | 25/25 | 25/25 |
| Typeswitch Expressions | 38/38 | 38/38 |
| Conditional Expressions | 38/38 | 38/38 |
| Comma Expressions | 38/38 | 38/38 |
| Parenthesized Expression | 3/3 | 3/3 |
| Function Call | 6/6 | 6/6 |
| Other Expressions | 32/32 | 32/32 |
| Extensions to Built-in Function Library | ||
| fn:put | ||
| fn:put() applied to document nodes | 8/8 | 8/8 |
| fn:put() applied to element nodes | 3/3 | 3/3 |
| XML Query Update Operations | ||
| XML Query Update Primitives | ||
| Data model errors on changing attributes | 17/17 | 17/17 |
| Namespace binding conflicts on attribute updates | 19/19 | 19/19 |
| XQuery Update Routines | ||
| upd:mergeUpdates | 2/2 | 2/2 |
| upd:applyUpdates | 21/21 | 21/21 |
| upd:setToUntyped | 10/10 | 10/10 |
| upd:propagateNamespace | 6/6 | 6/6 |
| Additional Typing | 60/60 | 60/60 |
| Other Tests | 1/1 | 1/1 |
| Optional Features | ||
| Revalidation | ||
| Revalidation Declaration = strict | 21/21 | 21/21 |
| Revalidation Declaration = strict unsupported | 1/1 | 1/1 |
| Revalidation Declaration = lax | 19/19 | 19/19 |
| Revalidation Declaration = lax unsupported | 1/1 | 1/1 |
| Revalidation Declaration = skip | 33/33 | 33/33 |
| Revalidation Declaration = skip unsupported | 1/1 | 1/1 |
| Revalidation Declaration = strict + skip | 1/1 | 1/1 |
| Update Facility Static Typing Feature | 0/27 | 0/27 |
| Tests that need the Full Axis Feature | 14/14 | 14/14 |
| fn:put applied to nodes other than document and element nodes | ||
| fn:put() applied to comment nodes | 1/1 | 1/1 |
| fn:put() applied to comment nodes - unsupported | 1/1 | 1/1 |
| fn:put() applied to processing-instruction nodes | 1/1 | 1/1 |
| fn:put() applied to processing-instruction nodes - unsupported | 1/1 | 1/1 |
| fn:put() applied to attribute nodes | 1/1 | 1/1 |
| fn:put() applied to attribute nodes - unsupported | 1/1 | 1/1 |
| fn:put() applied to text nodes | 1/1 | 1/1 |
| fn:put() applied to text nodes - unsupported | 1/1 | 1/1 |
| Use Cases | ||
| Use Cases "R" - Updating Relational Data | 11/11 | 11/11 |
| Use Cases "address Book" - Synchronizing address book entries | 1/1 | 1/1 |
| Use Cases "Soap" - processing messages | 1/1 | 1/1 |
| Use Cases "Namespaces" - moving elements from one namespace to another | 1/1 | 1/1 |
| Use Cases "Parts" - modifying recursive documents | 7/7 | 7/7 |
| Use Cases "Nil" | 1/1 | 1/1 |