Next: Command-Line Arguments
Up: G(arbage) C(collected) X(Query) Engine
Previous: Compiling with/without Special Features
Contents
Currently GCX supports composition-free XQuery [1], i.e. without let-clauses, and allows to use the following syntactic constructs (whereas node comparisons in conditions are always string value comparisons).
- arbitrary (well-formed) XML elements (with or without PCDATA content)
- string constants in output or conditions
- numeric constants in output or conditions
- aggregate function expressions in output or conditions supporting
- standard functions: fn:sum, fn:avg, fn:min, fn:max and fn:count
- non-standard functions: fn:stddev_samp, fn:stddev_pop, fn:var_samp, fn:var_pop and fn:median
- rounding function expressions in output or conditions supporting
- standard functions: fn:ceiling, fn:floor, fn:round and fn:round-half-to-even
- non-standard functions: fn:abs, fn:cover and fn:truncate
- arbitrarily deep-nested sequences of expressions
- nested FWR (for-where-return) expressions
- if-then-else expressions
- conditions support
- conjunctions: and, or
- functions: fn:not, fn:exists, fn:empty, fn:true, fn:false, all aggregate function expressions and all rounding function expressions
- relational operators: <, <=, =, !=, >=, >
- variables defined by FWR expressions (no let-clause support) in output or conditions (with or without multi-step path expressions)
- multi-step path expressions (arbitrarily length) with (optional) fn:doc function expression for specifying absolute paths using
- axis: / (child::) or // (descendant::)
- node tests: node(), text(), wildcard (*), or tagname
- comment expressions above a query (not supported inside a query)
The explicit grammar of the supported XQuery 1.0 fragment is provided in the figure below.
|
Figure 1: Supported Fragment in GCX of XQuery 1.0
Note: The fn:doc() construct (cf. rule DocPathExpr) fixes the input document;
all absolute paths in the query will be bound to this document and will override XML input stream specification from command-line (such as -xml). When fn:doc() is used multiple times, GCX expects all occurrences to contain the same document, i.e. input from multiples documents at a time is currently not supported.
Next: Command-Line Arguments
Up: G(arbage) C(collected) X(Query) Engine
Previous: Compiling with/without Special Features
Contents