xsl-list
[Top] [All Lists]

Re: Long string - inserting a space after every 10 characters

2004-02-05 04:08:47
Hi Allan,
  Following is a another solution to the problem. It
uses recursion..

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output method="text" encoding="UTF-8"
indent="yes"/>
        
<xsl:template match="/name">
  <xsl:call-template name="process-string">
    <xsl:with-param name="string-subset" select="."/>
    <xsl:with-param name="n" select="10"/>
  </xsl:call-template>
</xsl:template>
        
<xsl:template name="process-string">
  <xsl:param name="string-subset"/>
  <xsl:param name="n"/>
  
  <xsl:value-of select="substring($string-subset, 1,
$n)"/>
  <xsl:text> </xsl:text>
  <xsl:variable name="strlen"
select="string-length(substring($string-subset, $n +
1, string-length($string-subset)))"/>
  <xsl:if test="$strlen > 9">
     <xsl:call-template name="process-string">
        <xsl:with-param name="string-subset"
select="substring($string-subset, $n + 1,
string-length($string-subset))"/>
        <xsl:with-param name="n" select="10"/>
     </xsl:call-template>
  </xsl:if>
  <xsl:if test="not($strlen > 9)">
     <xsl:value-of select="substring($string-subset,
$n + 1, string-length($string-subset))" />
  </xsl:if>
</xsl:template>
        
</xsl:stylesheet>

Regards,
Mukul


 --- allan(_dot_)mccluskey(_at_)centrelink(_dot_)gov(_dot_)au wrote: > Hi,

Is it possible to insert a space in a string (of
unknown length) after a
specified number of characters e.g. after every 10
characters insert a
space??

I have an XML element called <name> which can be
anywhere between 1 and 50
characters long. I need to either split it (by
inserting a <BR/> tag) or
inserting a space ( ) after every 10
characters.

Example1:
<name>Thisisareallyreallylongnamedontyouthink</name>

Would look like:

Thisisarea<BR/>llyreallyl<BR/>ongnamedon<BR/>tyouthink

OR /

Example2
<name>Thisisanotherexceptionallylongname</name>

Would loook like:
Thisisanot herexcepti onallylong name

Many, many thanks
Al








Important:  This e-mail is intended for the use of
the addressee and may contain information that is
confidential, commercially valuable or subject to
legal or parliamentary privilege.  If you are not
the intended recipient you are notified that any
review, re-transmission, disclosure, use or
dissemination of this communication is strictly
prohibited by several Commonwealth Acts of
Parliament.  If you have received this communication
in error please notify the sender immediately and
delete all copies of this transmission together with
any attachments.


 XSL-List info and archive: 
http://www.mulberrytech.com/xsl/xsl-list
 

________________________________________________________________________
Yahoo! India Mobile: Download the latest polyphonic ringtones.
Go to http://in.mobile.yahoo.com

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list