Describes the input source for an
Available in XSLT 3.0. From Saxon 9.8, available in all editions. Implemented in Saxon-PE and Saxon-EE since Saxon 9.6.
- Name of the merge source. Used to distinguish different merge sources within the
- XPath expression returning a set of nodes. Selects the anchor nodes for non-streamed merging.
- XPath expression returning a set of URIs; these are the URIs of documents used for streamed merging; the root nodes of these documents act as the anchor nodes. In an earlier draft of the XSLT 3.0 specification, this attribute was named
for-each-stream; either is accepted since Saxon 188.8.131.52.
- XPath expression; for each anchor node, this selects the descendant nodes that make up the stream of data to be merged.
- Streamed merging requires Saxon-EE.
- First implemented in Saxon 9.8. Defines the set of accumulators that are applicable to the streamed document.
- Specifies whether each input sequence will first be sorted to ensure that it is in the correct order. The value yes means that sorting will take place, while the value no (the default) means that each input sequence must already be in the correct order for merging.
"strict" | "lax" | "preserve" | "strip"
- Determines whether validation is applied to the input read from this merge source. Validation requires Saxon-EE.
- If specified, data read from this merge source is validated against the named schema type. Validation requires Saxon-EE.
Notes on the Saxon implementation⚓︎
The implementation of streaming uses one thread for each input document. The configuration option to allow multi-threaded execution must not be disabled.
Streamed merging requires Saxon-EE.
use-accumulators attribute is first implemented in Saxon 9.8.
For details and examples, see