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.