---- 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