XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + Help with using not(preceding:... (5)
-> - Please Help me on this XML to ... (1)
-> + Paasing Parameter Values From ... (6)
-> + XSLT Transformation w/ namespa... (3)
-> + For-each select and parameter ... (3)
-> + Using < (less than) operator (5)
-> + Inserting carriage return (spe... (3)
-> + Inserting carriage return (spe... (2)
-> + Help with SerializerTrace erro... (8)
-> + xml to x3d (5)
-> - Exiting processing loop early (2)
-> ->Exiting processing loop ...
-> + Easy way to Convert One source... (3)
-> + XSLT Editor tab missing from D... (2)
-> + Writing strings of characters ... (4)
-> + Adding the content of an eleme... (3)
-> + Remove leading Zeros from a st... (4)
-> + how to parse a html element fo... (2)
-> + Add namespaces to target messa... (2)
-> + XSLT Transformation - insertin... (3)
-> + Convert binary xml (9)
-- Previous [661-680] [681-700] [701-720] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Graham WoodsSubject: 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?

Posttop
Tony LavinioSubject: 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.

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.