Subject: RE: [xsl] param vs context for passing arguments From: Piotr Dobrogost <pd@xxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 17 Dec 2009 23:42:47 +0100 |
Date: Wed, 16 Dec 2009 23:08:50 -0000 From: "Michael Kay" <mike@xxxxxxxxxxxx> Subject: RE: [xsl] param vs context for passing arguments Message-ID: <3D36050C5F484433B4E46968E6F23627@Sealion>
Your code will be most versatile (reusable) if you write it as a function to operate on any string.
> <xsl:function name="f:ReplaceHyphenWithUnderscore" as="xs:string"><xsl:param name="input" as="xs:string"/>> <xsl:analyze-string select="$input" regex="-"> > <xsl:matching-substring> > <xsl:text>_</xsl:text> > </xsl:matching-substring> > <xsl:non-matching-substring> > <xsl:value-of select="."/> > </xsl:non-matching-substring> > </xsl:analyze-string> > </xsl:template>
Having said that, this particular operation can be achieved by a single call of translate():
> <xsl:function name="f:ReplaceHyphenWithUnderscore" as="xs:string"><xsl:param name="input" as="xs:string"/> <xsl:sequence select="translate($in, '-', '_')"/>> </xsl:template>
This works ok. Thanks for help.
Regards Piotr Dobrogost
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] param vs context for pass, Piotr Dobrogost | Thread | [xsl] special characters in XSL, Anil Kumar Veeramall |
Re: [xsl] param vs context for pass, Piotr Dobrogost | Date | [xsl] calling template with name pa, Piotr Dobrogost |
Month |