A loop repeats a sequence of information as long as the loop condition (based on the state information) is true.The element <dmLoop> provides a capability similar to programming language loops. It provides the syntax for creating WHILE (eg, WHILE a gap measurement < 1,5) or FOR NEXT (eg, FOR NEXT 5 times) loops, whichever applies to the situation. The element <dmLoop> contains an expression that is the WHILE condition for the loop and the element <dmSeq> (the content of the loop). The user will traverse the data module sequence as long as the expression evaluates to TRUE. The author is responsible for providing a way to update the variable or global property used in the WHILE condition so that the “truth” of the condition can change and the user can exit the loop. Optionally a loop can contain a loop entrance assertion (described by the element <variablePreSet>) and a loop end assertion (described by the element <assertion>) enabling counters to be implemented. The loop entrance assertion is made when (and only when) the user first enters the loop (eg, [Counter = 0]). The loop end assertion (eg, [Counter = Counter + 1]) is made each time the user reaches the end of the loop sequence described by the element <dmSeq>. The loop condition might be [Counter <= 5].