Saxon extensions to the W3C XSLT/XQuery specifications
From Saxon 11.2, a new clause is introduced for FLWOR expressions, to assist diagnostics. It has the syntax:TraceClause ::= "trace" Expr
and can be used anywhere in a FLWOR expression to display selected information about the current tuple stream.
For example,for $item in //items trace "item: " || $item/@id let $price := $item/cost + $item/markup trace "selling-price: " || $price return "€" + $price
Output is displayed in the same way as for the
fn:trace() function. It is sent to the current
and for each item in the trace output, a line is output in the format
FLWOR<- n/m type: message
where n is the sequence number of the tuple, m is the position of the item within one evaluation of the expression,
type is the type of item displayed, and message is a representation of the item. The arrow symbol "<-" is used
when the FLWOR expression is evaluated in pull mode, and is replaced by "->" when evaluated in push mode; the distinction
is only of interest when doing internal diagnosis.