xsl:merge-source¶
Describes the input source for an xsl:merge
instruction.
Available in XSLT 3.0. From Saxon 9.8, available in all editions. Implemented in Saxon-PE and Saxon-EE since Saxon 9.6.
- Content:
xsl:merge-key
+ - Permitted parent elements:
xsl:merge
Attributes¶
name?
- ncname
- Name of the merge source. Used to distinguish different merge sources within the
xsl:merge-action
instructions. for-each-item?
- expression
- XPath expression returning a set of nodes. Selects the anchor nodes for non-streamed merging.
for-each-source?
- expression
- 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 9.7.0.10. select
- expression
- XPath expression; for each anchor node, this selects the descendant nodes that make up the stream of data to be merged.
streamable?
- boolean
- Streamed merging requires Saxon-EE.
use-accumulators?
- tokens
- First implemented in Saxon 9.8. Defines the set of accumulators that are applicable to the streamed document.
sort-before-merge?
- boolean
- 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.
validation?
"strict" | "lax" | "preserve" | "strip"
- Determines whether validation is applied to the input read from this merge source. Validation requires Saxon-EE.
type?
- eqname
- 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.
The use-accumulators
attribute is first implemented in Saxon 9.8.
Details¶
For details and examples, see xsl:merge