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 |