xsl-list
[Top] [All Lists]

RE: creating a string after counting charatercs

2003-01-07 06:39:52
---- Stuart Brown <sbrown(_at_)extenza(_dot_)com> wrote:


I´ve got the following problem: I want to check an attribute 
value for its
length (e.g. 17 chars) and then create a string with 17 identical
characters, like
"_________________". The string-length check on my attribute 
works pretty
well, but how do I get the string?


Try creating a global variable of the repeated characters to the 
maximum conceivable required length. You can then use your obtained 
string-length to substring this:

It is not necessary to know the maximum length of the string to
produce.

Using FXSL template "iter" one simply writes the following:

<xsl:stylesheet version="1.0" 
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
 xmlns:myAppendChar="f:myAppendChar" 
 exclude-result-prefixes="xsl myAppendChar">

 <xsl:import href="iter.xsl"/>
 
 <xsl:output omit-xml-declaration="yes"/>
  
  <myAppendChar:myAppendChar/>
  
  <xsl:template match="/">
  
   <xsl:variable name="vAppendChar" 
        select="document('')/*/myAppendChar:*[1]"/>
   
    <xsl:call-template name="iter">
      <xsl:with-param name="pTimes" select="1000"/>
      <xsl:with-param name="pFun" select="$vAppendChar"/>
      <xsl:with-param name="pX" select="''"/>
    </xsl:call-template>
  </xsl:template>
  
  <xsl:template match="myAppendChar:*">
    <xsl:param name="arg1"/>
    
    <xsl:value-of select="concat($arg1, '_')"/>
  </xsl:template>
    
</xsl:stylesheet>

As expected, in this case the result is a string of 1000 characters
"_'.


Hope that this really helped.





=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

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