I have a question regarding DTM IDs and the dreaded "No more DTM IDs are
available" error. (No, not using an old version Xalan, just creating
lots of temporary nodesets during processing.) Are DTM IDs ever
"recycled" during a single transform? Does a node set variable going out
of scope ever free up the DTM IDs that it was using for reuse by a later
nodeset?
(I'm including Joseph Kesselman's comments about how these work from a
previous thread, just for reference.)
Thanks,
Eric
On 09/30/2014 04:52 PM, Joseph Kesselman/Watson/IBM wrote:
A DTM ID is consumed by each document tree Xalan is working with.
Temporary result trees, for example, each occupy a DTM.
For reasons having to do with DTM's history and the use cases it was
tuned for, there are a fixed number of bits that need to be split
between selecting DTMs and selecting nodes within a DTM. If you're
using many small trees, reducing the number of bits used for node
selection will increase the number of trees available, at the cost of
reducing the space in each DTM.