Subject: RE: Function within an expression
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 5 Jan 2005 18:55:11 -0000
|
> Yes, I see now, so I should do:
>
> substring(current(), 1, 3)
>
> in order to make these two methods result the same?
>
> --Jim
>
Yes - MK
>
> -----Original Message-----
> From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
> Sent: Wednesday, January 05, 2005 1:50 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: Function within an expression
>
> >
> > It should be possible to do like your example (I think :) but it's
> > definitively possible to create a "local" variable related
> to current
> > node:
> >
> > <xsl:for-each select="$lines">
> > <xsl:variable name="type" select="substring(., 1, 3)"/>
> > <record>
> > <xsl:apply-templates select="$field_definitions/*[@type
> > = $type]"/>
> > ...
> > </record/>
> > </xsl:for-each>
> >
>
> Yes, you can do this, and you can also do
>
> <xsl:for-each select="$lines">
> > <record>
> > <xsl:apply-templates select="$field_definitions/*[@type =
> substring(., 1, 3)]"/>
> > ...
> > </record/>
> > </xsl:for-each>
>
> but they aren't the same thing, because the meaning of "." within a
> predicate is different from its meaning outside the predicate.
>
> Michael Kay
> http://www.saxonica.com/
|