Let's suppose I want to split the string at the upper case letters, the
easiest way I can see to do that (the only way that pops into my mind)
is to parse the string twice, using translate() and replacing upper-case
letters with a string sequence not very likely to occur normally, and
then reparse the string splitting it at these occurrences. This is of
course resource intensive and not foolproof. Anybody have any thoughts
on how to do this?
still slow but you can avoid the "not very likely to occur" problem by
first translating all uppercase to (say) A then using substring-before
to split on A then using substring
so if $x is your original string
<xsl:variable name="y"
select="translate($x,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','AAAAAAAAAAAAAAAAAAAAAAAAAA')"/>
<xsl:if test="contains($y,'A')">
<xsl:variable name="a" select="substring-before($y,'A')"/>
first bit = <xsl:value-of select="$a"/>
second bit = <xsl:value-of select="substring-after($x,$a)"/>
recurse using $x='second bit' to split up further f necessary
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list