| Subject: Re: [xsl] To pass parameters to function From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Thu, 15 Feb 2001 12:57:20 +0000 | 
Hi Nicola,
>         <xsl:variable name="sVal" select='XXXXX'/>
>         <xsl:value-of select="xsl:alignLeft($sVal,10)"/>
Here, you're setting the value of the variable $sVal to the node set
holding all the XXXXX children of the current node.  I think you
wanted to pass the string 'XXXXX', in which case you need a couple of
extra quotes in there:
   <xsl:variable name="sVal" select="'XXXXX'" />
A couple of things, though: you shouldn't really be using the XSLT
namespace for your own functions - make up one of your own - and you
can probably achieve what you want to achieve with foo:alignLeft() in
plain XSLT, e.g.:
   <xsl:variable name="sVal" select="'XXXXX'" />
   <xsl:value-of select="substring(
                            concat($sVal,
                                   substring('          ',
                                             string-length($sVal) + 1)),
                                   1, 10)" />
Or, if you prefer, define a template that does the same thing:
<xsl:variable name="large-node-set" select="document('')//node()" />
<xsl:template name="alignLeft">
   <xsl:param name="string" />
   <xsl:param name="pad" />
   <xsl:variable name="padding">
      <!-- using the Piez Method for repeating a number of times -->
      <xsl:for-each select="$large-node-set[position() <= $pad]">
         <xsl:text> </xsl:text>
      </xsl:for-each>
   </xsl:variable>
   <xsl:value-of select="substring(
                           concat($string,
                                  substring($padding,
                                            string-length($string) + 1)),
                                 1, $pad)" />
</xsl:template>
and then call it with:
  <xsl:call-template name="alignLeft">
     <xsl:with-param name="string" select="$sVal" />
     <xsl:with-param name="pad" select="10" />
  </xsl:call-template>
Of course this is all based on my guess about what alignLeft does.
                                          
I hope that helps anyway,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
| Current Thread | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| Re: [xsl] To pass parameters to fun, David Carlisle | Thread | RE: [xsl] To pass parameters to fun, Michael Kay | 
| RE: [xsl] Converting &, >, <, ", an, Michael Kay | Date | Re: [xsl] XSLT 1.1 comments -Exampl, David Carlisle | 
| Month |