11.3 Transform-expression
Within a transform-expression, the current-node procedure returns a singleton node-list containing the node that is being transformed.
Each transform-expression shall return an object of type create-spec or of type transform-grove-spec or a (possibly empty) list of objects each of type create-spec or transform-grove-spec.  Each create-spec describes a subgrove to be created at a specified place in the result grove.  The subgrove may consist either of a single node or of multiple nodes forming a subgrove rooted in a single node.  The place at which the subgrove is to be created may be specified as the root of a result grove, or it may be specified relative to some other node in the result grove.
For each node that is created in the result grove, links are created from each of the constituent nodes of the node whose transformation resulted in creation of the node in the result grove to the created node.  These links are referred to as arrows.  An arrow is labeled with an expression language object.  The start-point of an arrow is called the transformation origin of its end-point.  The arrow for a node in the source grove says where that node was transformed to.  The labels on the arrows distinguish between different transformations that were applied to a node.  The transform-expression for a node either specifies that the created subgrove shall be the root of a result grove or specifies the position of the created subgrove in the result grove relative to a node in the result grove to which some other node in the source grove was transformed.