find

Add the mode attribute set in new to be passed to the parser before evaluation. This implies you must use the hash mode of new.

set_mode get_mode

Add functions for setting and getting the mode of parser evaluation

axis_child

If creating, add a child element if the element type is NCName.

axis_exist

Add a new axis: exist::node. Which is identical to child::node unless creating in which case only test do not create any nodes for this step

axis_attribute

If creating, add an attribute element if there is no attribute of that name

op_or

Change semantics so returns the result of the first true evaluation. Implied sequence point remains

op_and

Change semantics to return false or last true evaluation result. Implied sequence point remains.

TODO: When collecting variables, filter rhs result based on unification with lhs variables

op_equals

Add creation and collection semantics

evaluate

When creating, if a node occurs in a function, it is not created

ss(lang_tag, script, [suppress])

Creates a new language tag from the given language tag, the script to apply to the language and an optional script to suppress

os(first, second)

Effectively returns first || second, i.e. returns first if it is defined else returns the second. (or_string).

setNodeValue

Set the first text node to the given value and delete all others. Insert a text node as first child node if none exists.

toString

Add indentation support