This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Newbie: using translate
- From: "Hugo Ferreira" <hmf at inescporto dot pt>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Mon, 18 Mar 2002 11:50:16 -0000
- Subject: Re: [xsl] Newbie: using translate
- References: <E392EEA75EC5F54AB75229B693B1B6A70E25BE@esebe018.NOE.Nokia.com>
- Reply-to: xsl-list at lists dot mulberrytech dot com
Jarno,
Thanks again for the information.
I understand now.
Hugo Ferreira.
----- Original Message -----
From: <Jarno.Elovirta@nokia.com>
To: <xsl-list@lists.mulberrytech.com>
Sent: Monday, March 18, 2002 11:16 AM
Subject: RE: [xsl] Newbie: using translate
> Hi,
>
> > Thanks a million for the answer. This solved my problem.
> > I am still confused though. You say that I cannot "alter
> > alter the value of $field."
>
> Yup, you can't change the value of a variable in XSLT once it's been
bound.
>
> > This line changes (read translates) the content of "$field" node
> >
> > <xsl:value-of select="translate($field, ',', '.')" />
>
> It doesn't change the value, it creates a new text node with the
translated value. if you do
>
> <xsl:value-of select="translate($field, ',', '.')" />
> <xsl:value-of select="$field" />
>
> the latter value-of will evaluate to the original value.
>
> > If however I want ot change the value of $field variable,
> > how would I do that?
>
> You don't in XSLT.
>
> > Why the stupid question? I thought
> > that if
> > $field = "A,text,string"
> >
> > then
> > translate($field, ',', '.')
> >
> > would be equivalent to
> > translate("A,text,string", ',', '.')
>
> They are equivalent, but the value of $field doesn't change. The
xsl:value-of evaluates the string value of the new text node created by the
translate function.
>
> Santtu
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list