Range expressions

The expression E1 to E2 returns a sequence of integers. For example, 1 to 5 returns the sequence 1, 2, 3, 4, 5. This is useful in for expressions, for example the first five nodes of a node sequence can be processed by writing for $i in 1 to 5 return (//x)[$i].

If you prefer, you can write this as (//x)[position() = 1 to 5]. This works because comparison of a single integer (position()) to a sequence of integers (1 to 5) is true if the integer on the left is equal to any integer in the sequence.