Union on nodes in temporary trees
The Saxon XSLT and XQuery processor, developed by Saxonica
Brought to you by:
mhkay
Nodes in temporary trees do not have an identity that
is unique within the entire transformation. This means
that two nodes in different temporary trees may be
regarded as the same node for the purposes of the
union operator "|" (i.e. node may be regarded as
duplicates when they are not, leading to missing nodes
in the result).
Also, the result of generate-id() may not be unique.
Raised by Paul Boocock [paulb@ashridgetech.com]
Cause: Temporary trees are not registered in the
Controller's DocumentPool, which is used to decide
whether two documents are distinct.
Present since 6.4.
Logged In: YES
user_id=251681
Fixed in 6.4.3
Logged In: YES
user_id=251681
Re-opened. There are reports that memory usage at 6.4.4 is
higher than earlier releases. I suspect the fix for this
bug is causing temporary trees not to be garbage collected.
Evidence raised by Janning Vygen [vygen@planwerk6.de] on
xsl-list, 16/10/2001.
Logged In: YES
user_id=251681
Revised fix: the DocumentPool has been rewritten so it no
longer keeps a pointer to the DocumentInfo object, but only
its hashcode. This will not prevent the DocumentInfo being
removed from memory by the garbage collecter. - MHK
Logged In: YES
user_id=251681
Fixed in 6.5