Occurs within xsl:iterate to define processing to be carried out when the input sequence is exhausted.
Permitted parent elements: xsl:iterate
The effect of the instruction may be defined
either by an expression within the optional
Available in XSLT 3.0. From Saxon 9.8, available in all editions. Implemented in Saxon-PE and Saxon-EE since Saxon 9.6. Available for all platforms.
Notes on the Saxon implementation
The rule that
xsl:on-completion executes with no context item was
first implemented in Saxon 9.8.
In earlier working drafts of XSLT 3.0, the
xsl:on-completion element came
last in the body of the
xsl:iterate instruction. This caused problems with
the scope of local variables, so in the final Recommendation,
first. The new rule was implemented in Saxon 9.7. The spec has also changed to clarify that
xsl:on-completion is evaluated if the input sequence to
xsl:iterate is empty.
During execution of
xsl:on-completion there is no context item,
position or size; the instruction has access to the iteration parameters with
the values given on the last iteration (or the initial values of the
xsl:param elements if the input sequence was empty). For
further details see xsl:iterate.