[xsl] Getting the offset of a matching-substring in <xsl:analyze-string>

Subject: [xsl] Getting the offset of a matching-substring in <xsl:analyze-string>
From: Martin Holmes <mholmes@xxxxxxx>
Date: Thu, 15 Mar 2012 17:00:40 -0700
Hi there,

I'm doing some automated markup using <xsl:analyze-string>, and as part of the output I'd like to record the offset and length of each matched substring. So given input like this in a text node (simplified example):

This is a test.

and a match like this:

<xsl:analyze-string select="$input" regex="{'[a-zA-Z]+'}">

<xsl:matching-substring>

<w offset="???" length="{string-length(.)}">

<xsl:value-of select="."/>

</w>

<xsl>matching-substring>

</xsl:analyze-string>

I'm wondering if there's any way I can calculate the offset value (which for "This" would be 1, for "is" would be 6, etc.).

Does anyone know if there's a way to do this?

All help appreciated,
Martin

Current Thread