Difference between revisions of "XQuery 3.0"

From BaseX Documentation
Jump to navigation Jump to search
Line 33: Line 33:
 
</pre>  
 
</pre>  
 
'''Result:''' <code>Red Green Pink</code>  
 
'''Result:''' <code>Red Green Pink</code>  
 +
 +
==Serialization==
 +
 +
[http://www.w3.org/TR/xquery-30/#id-serialization Serialization parameters] can now be specified within XQuery expressions.
 +
 +
  
 
[[Category:XQuery]]
 
[[Category:XQuery]]
 
[[Category:Finish]]
 
[[Category:Finish]]

Revision as of 15:02, 12 January 2011

This article summarizes the most important features of the upcoming Version 3.0 of the XQuery language that have already been implemented in BaseX.

Group By

FLWOR expressions have been extended by the group by clause, which is well-established among relational database systems. Group by clauses can be used to group query results based on its values.

Michi? (Example, Details)...

Try/Catch

The try/catch construct can be used to handle errors at runtime:

Example:

 try {
   1 + '2'
 } catch *($code, $desc) {
   concat('Error [', $code, ']: ', $desc)
 }

Result: Error [XPTY0004]: '+' operator: number expected, string found.

Switch

The switch statement is available in many other programming languages. It chooses one of several expressions to evaluate based on its input value.

Example:

for $fruit in ("Apple", "Pear", "Peach")
return switch ($fruit)
  case "Apple" return "Red"
  case "Pear"  return "Green"
  case "Peach" return "Pink"
  default      return "Unknown"

Result: Red Green Pink

Serialization

Serialization parameters can now be specified within XQuery expressions.