Title: XQuery Extensions
Category: documentation
## Overview
XQuery is available only in ODE 1.3 or later
Apache ODE goes above and beyond the [WS-BPEL](/ws-bpel-20.html) specification by allowing the use of [XQuery 1.0](http://www.w3.org/TR/xquery/) in queries and expressions.
Unless specified otherwise, WS-BPEL considers XPath 1.0 to be the query/expression language, which is denoted by the default value of the "queryLanguage" and "expressionLanguage" attributes, viz. "urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0". In addition, we have out-of-the-box support for XPath 2.0.
## XQuery 1.0
To use XQuery 1.0 in your processes just use the following _queryLanguage_ and _expressionLanguage_ attributes:
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xquery1.0"
expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xquery1.0"
If you want support at the process just add these attributes to your root _process_ element. If you want to stick with XPath 1.0 but want XQuery 1.0 support for a specific assignment you can also define these attributes on an _assign_ element.
For your convenience, all of the functions and variables, standard or otherwise, that are available in XPath 2.0 have been exposed in XQuery 1.0 as well.
### Examples
The following snippet illustrates how to use XQuery 1.0 in _assign_ activities. Needless to say, you may use XQuery 1.0 anywhere an expression is permitted, such as in a _while_, _if_, _repeatUntil_ or _forEach_ activity.
...
Hello]]>
typeswitch ($myVar.TestPart)
case $a as xs:string return "test"
default return "default"
default return
]]>
for $loopOnce in (1)
return
concat(bpws:getVariableProperty("myVar", "test:content"), "XQuery World")
...
### Known Limitations
Currently, we do not support:
* The use of modules in XQuery.
* The use of update expressions in XQuery.