Table of contentsAppendices |
11.1 Result Tree FragmentsResult Tree FragmentsVariables introduce an additional data-type into the expression
language. This additional data type is called result tree
fragment. A variable may be bound to a result tree fragment
instead of one of the four basic XPath data-types (string, number,
boolean, node-set). A result tree fragment represents a fragment of
the result tree. A result tree fragment is treated equivalently to a
node-set that contains just a single root node. However, the
operations permitted on a result tree fragment are a subset of those
permitted on a node-set. An operation is permitted on a result tree
fragment only if that operation would be permitted on a string (the
operation on the string may involve first converting the string to a
number or boolean). In particular, it is not permitted to use the
When a result tree fragment is copied into the result tree (see [Using Values of Variables and Parameters with ]), then all the nodes that are children of the root node in the equivalent node-set are added in sequence to the result tree. Expressions can only return values of type result tree fragment by referencing variables of type result tree fragment or calling extension functions that return a result tree fragment or getting a system property whose value is a result tree fragment. |