Converting Nodes and Sequences of Nodes
If the expected type is a generic collection type, an array of the Saxon class NodeInfo, a Sequence or a SequenceIterator, Saxon will pass the nodes supplied in the call in their native Saxon representation.
Saxon also recognizes System.Xml.Node
and its subtypes. However, calling a
method that expects an instance if System.Xml.Node
will only work if the actual
node supplied as the argument value is a Saxon-wrapped DOM node, that is (a) the input to
the stylesheet or query must be supplied in the form of a wrapped DOM, and (b) the external
function must be called supplying a node obtained from the input document, not some node in
a temporary tree created in the course of stylesheet or query processing.
If an external function returns an System.Xml.Node
then it will be wrapped as
a Saxon node. This may be expensive if it is done a lot, since each such node will acquire
its own document wrapper.