Re: [xsl] A parameter current context or context passed

Subject: Re: [xsl] A parameter current context or context passed
From: Karl Stubsjoen <kstubs@xxxxxxxxx>
Date: Fri, 13 May 2005 13:13:42 -0700
Hmm.  So if I excpicitly pass in my context through my param
"current", doesn't the "/" resolve the same as the "." for the
variable passed in?  As well, if I do not pass in current context with
param "current" (don't pass it at all), the right hand side of |
"pipe" will then rule, and I will grab current().

Interesting though, looking at your example Michael, you simply of
select=".".  Does this effectively select the context passed in (if
supplied) or grabs the current() context (if not supplied)?

JBryant: the only issue I see with your example is that your parameter
is outside of a template rule (which maybe makes no difference).

On 5/13/05, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> > This should be an easy one...
> >
> > I have the following paramter:
> > <xsl:param name="current" select="/ | current()"/>
> >
> > As the name implies it should be the current context unless otherwise
> > specified.  Have I written this correct?
>
> I think you just want
>
> <xsl:param name="current" select="."/>
>
> current() means the same as "." unless it appears in a predicate.
>
> / | .
>
> is the union of the context node and the root node of the tree containing
> the context node. I can't see any reason why you should want that union as
> the default value of a parameter.
>
> Michael Kay
> http://www.saxonica.com/

Current Thread