Subject:Exiting processing loop early Author:Graham Woods Date:28 Jan 2008 10:44 AM
I have an input XML message with a large number of a repeating element that I need to traverse using a <xsl:for-each> statement. However, as soon as I hit the first of these elements where a certain condition is true, I would like to leave the <xsl:for-each> loop .... this will save me oodles of unnecessary processing time.
Does anyone know of a method to exit a processing loop in XSLT?
Subject:Exiting processing loop early Author:Tony Lavinio Date:28 Jan 2008 01:18 PM
XSLT doesn't work like that.
You can't think about looping, or in fact, any order of operations.
For-each doesn't mean 'for' like in C, C#, C++ or Java. It means
'for all of these, do for all intents and purposes, at once'. This
way it places no restrictions on any parallelization optimizations
an implementation may choose to use. The result is guaranteed
to have a certain order, but how we got there isn't.
If you only want it to perform the operation on one element, you
need to restrict the 'select' to only include that one element.