Re: [xsl] split string to whole words based on length

Subject: Re: [xsl] split string to whole words based on length
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 26 Apr 2006 16:57:52 +0100
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
		version="2.0"
	
 >


<xsl:variable name="str" select="'one,two,three,four,five'" as="xs:string" 	xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
<xsl:variable name="length" select="10" as="xs:integer" 	xmlns:xs="http://www.w3.org/2001/XMLSchema"/>

<xsl:output indent="yes"/>

<xsl:template name="x">
<xsl:analyze-string select="$str" regex=".{{0,{$length}}},">
  <xsl:matching-substring>
    <words><xsl:value-of select="substring(.,1,string-length(.)-1)"/></words>
  </xsl:matching-substring>
  <xsl:non-matching-substring>
    <words><xsl:value-of select="."/></words>
  </xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:template>

</xsl:stylesheet>





$ saxon8 -it x split.xsl 
<?xml version="1.0" encoding="UTF-8"?>
<words>one,two</words>
<words>three,four</words>
<words>five</words>

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. 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
________________________________________________________________________

Current Thread