Streamed processing of input documents
saxon:iterate instruction and its subsidiary instructions
saxon:finally are now available only in Saxon-EE. This reflects the fact that the instructions are designed
primarily for use with streaming, which is available only in Saxon-EE.
The behaviour of
saxon:iterate has been changed in the case where a
does not specify values for all the parameters declared on the containing
saxon:iterate instruction. Any parameters
for which no value is supplied now retain their previous value (that is, the effect is the same as specifying
<xsl:with-param name="p" select="$p"/>).
Previously such parameters reverted to their default value. A further change is that it is no longer possible to specify
saxon:iterate parameters. These changes are in line with the (as-yet-unpublished) XSLT 2.1 draft specification.
Saxon 9.2 introduces the concept of streaming templates. This allows hierarchic processing of a document using
<xsl:apply-templates> to operate in a streaming pass over the document, without building the tree in memory.
The templates, of course, have to conform to strict rules to make them streamable. Nevertheless a great many simple transformations
can be implemented this way: for example, renaming elements, deleting selected elements, computing new attribute values,
and so on.
For more details see Streaming Templates.