Function composition becomes a frustrating endeavor if nodes cannot be
constructed within an expression. For example, to create an element
to pass to a function
foo, the only option with vanilla XSLT is to
use a variable to hold that element:
<variable name="element" as="element( bar )"> <bar baz="quux" /> </variable> <sequence select="foo( $element )" />
This easily interrupts pipelines or results in functions whose sole purpose is to create specific nodes for the sake of composition.
Hoxsl provides constructors for nodes that fit cleanly into a functional system.
|• Primitive Constructors:||Functional equivalents of XSLT node primitives|
|• Mutators:||Functional node manipulation|