But can't see how to get the word position whilst tokenizing the
whole lot? Everything I try doesn't work.
I think the clue here is that you need a data structure consisting of a list
of (word, position) pairs. As soon as you need more than a linear sequence,
it's probably a good idea to use a temporary tree. So you probably want
something like:
<xsl:variable name="words">
<xsl:for-each select="tokenize(...)">
<word value="{.}" position="{position()}"/>
</
</
and then do further processing on this tree.
Michael Kay