Converting Nodes and Sequences of Nodes
If the expected type is a generic collection type, or an array of the Saxon class NodeInfo
, or a
Value
or 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.