saxon:while element is used to iterate while some condition is true.
The condition is given as a boolean expression in the mandatory test attribute. Because
this expression must change its value if the loop is to terminate, the condition will generally
reference a variable that is updated somewhere in the loop using an
Alternatively, it may test a condition that is changed by means of a call on an extension function
that has side-effects.
<xsl:variable name="i" select="0" saxon:assignable="yes"/>
<saxon:while test="$i < 10">
The value of i is <xsl:value-of select="$i"/>
<saxon:assign name="i" select="$i+1"/>