Hi Steffen,
Your variable $newsarticles will contain an RTF (result tree fragment) - in
XSLT 1.0 RTFs cannot be used as a node-set therefore this line...
[color=blue]
> <xsl:for-each select="$newsarticles">[/color]
should raise a transformation error. Having said that, some transformation
engines do allow RTFs to be used as node-sets without conversion.
Your transformation may support an extension function that enables you to
convert RTFs to node-sets (e.g. xxx:Node-set() - where 'xxx' will be an
appropriate extension prefix). Or your transformation engine may support
EXSLT (
www.exslt.org) in which case you should be able to use
exsl:node-set().
HTH
Marrow
http://www.marrowsoft.com - home of Xselerator (XSLT IDE and debugger)
http://www.topxml.com/Xselerator
"Steffen Beyer" <sbeyer@reactor.de> wrote in message
news:20041027120145.66aeb2c5.sbeyer@reactor.de...[color=blue]
> Hi,
>
> following situation:
>
> <xsl:variable name="newsarticles">
> <xsl:call-template name="find_current_newsarticles"/>
> </xsl:variable>
>
> <!--
> $newsarticles now contains something like
>
> <news:article> ... </news:article>
> <news:article> ... </news:article>
> -->
>
> <xsl:if test="$newsarticles">
> <p>News</p>
>
> <xsl:for-each select="$newsarticles">
> <p>Article</p>
>
> <xsl:apply-templates select="."/>
> </xsl:for-each>
> </xsl:if>
>
> The body of the if-clause gets executed but the for-each doesn't loop at
> all. I'm really stuck - what XPath expression do I need to use here?
>
> BTW, this is of course not for-each specific. <apply-templates
> select="$newsarticles"/> does not work either.
>
> Regards,
> --
> Steffen Beyer <sbeyer@reactor.de>
>
> GnuPG key fingerprint: CA00 1611 242B 89D4 E643 E235 05F3 7689 DD3E EB26
> Public key available upon request or at
http://wwwkeys.de.pgp.net[/color]