[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Function within an expression


Subject: RE: [xsl] 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: [xsl] 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/


Current Thread