===Returning Results===
It is not possible to mix different types of expressions in a query result. The outermost expression of a query must either be a collection of updating or non-updating expressions. Generally there is no way to perform any updating queries and return a result at the same time, as you cannot access your own changes during a single query. Regarding database nodes, you can update your nodes within the first query and access modifications in subsequent queries.
But trying It is not possible to mix different types of expressions in a query result. The outermost expression of a query must either be a collection of updating or non-updating expressions. Generally there is no way to perform any updating queries and return a result at the same time, except for using the BaseX-specific [[Database Module#db:output|db:output()]] function, which caches its argument at runtime and returns it after all updates have been processed. Trying to modify and return a DOM node within the same snapshot is another story. As changes on DOM nodes are non-persistent, you cannot access them in a subsequent query. This is where the [[Update#transform|transform expression]] comes into play.
===Function Declaration===