The XSLT specification states that it is a recoverable
error to write a non-text node when producing the
string value of an attribute, comment, or PI, and that
the recovery action is to ignore the offending node.
When the offending node is output using xsl:copy-of,
Saxon also ignores any subsequent text nodes (or atomic
values) in the selected sequence. This is incorrect.
Test case: copy58
Source code fixed