<?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet href="../../make-menu.xsl" type="text/xsl"?><html> <head> <this-is section="changes" page="intro93" subpage="xquery30-93"/> <!-- Generated at 2011-12-09T20:47:22.916Z--><title>Saxonica: XSLT and XQuery Processing: XQuery 3.0 and XQuery Update changes</title> <meta name="coverage" content="Worldwide"/> <meta name="copyright" content="Copyright Saxonica Ltd"/> <meta name="title" content="Saxonica: XSLT and XQuery Processing: XQuery 3.0 and XQuery Update changes"/> <meta name="robots" content="noindex,nofollow"/> <link rel="stylesheet" href="../../saxondocs.css" type="text/css"/> </head> <body class="main"> <h1>XQuery 3.0 and XQuery Update changes</h1> <p><i>The term XQuery 3.0 is the new proposed name for the language currently published as a W3C working draft under the title XQuery 1.1.</i></p> <p>In the absence of an <code>xquery version</code> declaration in the query prolog, Saxon now permits XQuery 3.0 syntax if it is enabled from the command line or API. An <code>xquery version</code> declaration that specifies version="3.0" is accepted only if XQuery 3.0 has been enabled from the command line or API. </p> <p>The syntax for production <code>AnyFunctionItem</code> is now <code>function(*)</code> rather than <code>function()</code>. For backwards compatibility with Saxon 9.2, the older syntax continues to be supported for the time being.</p> <p>The new <code>switch</code> expression is implemented.</p> <p>The custom syntax for partial function application (for example <code>concat("[", ?, ", ", ?, "]")</code> is implemented. (For the time being, the <code>partial-apply()</code> function remains available as well.)</p> <p>The syntax for "outer for" has been changed (W3C bug 6927). In place of <code>"outer for $x in E"</code>, write <code>"for $x allowing empty in E"</code>.</p> <p>In a FLOWR expression, the <code>where</code> clause can now be repeated. (The construct <code>where X where Y</code> is simply another way of writing <code>where X and Y</code>.)</p> <p>The new context-independent QName syntax <code>"uri":local</code> is recognized if XQuery 3.0 is enabled.</p> <p>The qualifiers <code>deterministic</code>, <code>nondeterministic</code>, <code>public</code>, and <code>private</code> are now recognized on function declarations. However they currently have no effect.</p> <p>In XQuery Update, the tree constructed by the <code>copy-modify</code> (or "transform") expression will now automatically be a mutable tree, regardless of the default tree model for the <a class="bodylink" href="../../javadoc/net/sf/saxon/Configuration.html"><code>Configuration</code></a>.</p> <p>On the <code>net.sf.saxon.Query</code> command line interface, the <code>-traceout</code> option now governs the destination of trace output from the standard <a class="bodylink" href="../../javadoc/net/sf/saxon/lib/TraceListener.html"><code>TraceListener</code></a> (-T option) as well as from the <code>trace()</code> function. The <code>-TP</code> option (for timing profile information) is extended so a filename can be specified: <code>-TP:filename</code>.</p> <table width="100%"> <tr> <td> <p align="right"><a class="nav" href="fo30-93.xml">Next</a></p> </td> </tr> </table> </body> </html>