Hi Eliza,
[color=blue]
> For example, say I have a named template where test-param is the value
> of a certain node.
>
> <xsl:template name="test_temp">
> <xsl:param name="test_param"/>[/color]
^^^^^ the context here will be whatever the context node was at the point of
the <xsl:call-template>. Parameters have no effect on the context.[color=blue]
> ..
> ..
> <xsl:for-each select="[some other node]">
>
> <!--here, I assume the context is that of [some other node], and not the
> node represented by test_param?-->[/color]
^^^^^ yes, the context node will be the [some other node][color=blue]
>
> <xsl:if test="[yet another node]">
>
> <!--What about the context here, is it that of [yet another node]?-->
>
> </xsl:if>
> </xsl:for-each>
>
> <!--And here, am I back to the original context, the one defined by the
> test_param?-->[/color]
^^^^^ No, because the context was never the node(s) in the $test_param - the
context will revert to the context node at the point of the
<xsl:call-template>[color=blue]
>
> </xsl:template>[/color]
Hope this helps
Marrow
http://www.marrowsoft.com - home of Xselerator (XSLT IDE and debugger)
http://www.topxml.com/Xselerator
"Eliza Zadura" <eliza.zadura@sync.se> wrote in message
news:3f5ef1f6$0$62080$75868355@news.frii.net...[color=blue]
> The following question is about XPath and context, as I am not sure I'm
> grasping the concept entirely and this is causing me some problems while
> working on my XSL transformation.
>
> I have checked the XPath specification and am somewhat familiar with the
> different addressing mechanisms. What confuses me is the context when
> using templates and various (nested) <xsl:for-each>, <xsl:if> and
> <xsl:when> expressions.
>
> For example, say I have a named template where test-param is the value
> of a certain node.
>
> <xsl:template name="test_temp">
> <xsl:param name="test_param"/>
> ..
> ..
> <xsl:for-each select="[some other node]">
>
> <!--here, I assume the context is that of [some other node], and not the
> node represented by test_param?-->
>
> <xsl:if test="[yet another node]">
>
> <!--What about the context here, is it that of [yet another node]?-->
>
> </xsl:if>
> </xsl:for-each>
>
> <!--And here, am I back to the original context, the one defined by the
> test_param?-->
>
> </xsl:template>
>
> And so on, and so forth...
> To put it briefly: Does every expression that evaluates a set of nodes
> change the context to that particular set, thus enabling me to use ./
> while referring to attributes or other subnodes of that node?
>
> -----------------
> Eliza Zadura
> Trainee-Developer
>
> *** Sent via Developersdex
http://www.developersdex.com ***
> Don't just participate in USENET...get rewarded for it![/color]