Bug #5067

Updated by Michael Kay 4 months ago

The spec says that by default collections are stable, so processing the same collection twice should give the same result.

It also says that a collection is a sequence (not a set).

This is difficult to reconcile with Saxon's use of multi-threading to process the items in a collection, which makes the order of processing unpredictable. Perhaps we should be doing multi-threading within the same constraints as `xsl:for-each` with a `threads` attribute, where the results are delivered in the original order.

Problem arose from consideration of test case `cbcl-collection-002` where in Saxon-CS we are delivering the (integer) contents of the collection in an arbitrary order.