Subject: RE: Problem passing node-set to params (RTF)
From: "Evan Lenz" <evan@xxxxxxxxxxxx>
Date: Tue, 16 Nov 2004 15:21:42 -0800
|
Hi Charlie,
It shouldn't matter whether you use a variable reference or expression,
provided that the variable was declared using the "select" attribute. The
only time RTFs are created is when you use <xsl:variable>, etc. with
*content* rather than the "select" attribute.
What XSLT processor are you using? And what is the undesired behavior? An
error message?
Evan
> I'm having trouble passing a node-set as a parameter.
> I'm trying to reduce the size of my XSL so its more
> managable and easier to modify. So I've taken a
> section of code that was repeated over my XSL and
> turned it into a template with parameters. I'm trying
> to use call-template to pass in the parameters, but my
> srcNode and destNode parameters are turning into
> Result Tree Fragments. After reading the FAQ it said
> that assigning existing variables to parameters turns
> them into RTF. But, when I tried replacing them with
> expressions rather than $var it still ended up a RTF.
> What do I have to do to use node-sets?
>
> Here is a quick example of what I'm doing. I've also
> tried replacing $local with the XPATH expression, but
> I still get a RTF.
>
> <xsl:variable name="local"
> select="../member[@component=$localComponent]"/>
> <xsl:call-template name="insertAccessRule">
> <xsl:with-param name="guid" select="current()/access/@guid0"/>
> <xsl:with-param name="agent"
> select="current()/@agent-ip"/>
> <xsl:with-param name="src" select="current()"/>
> <xsl:with-param name="dest" select="$local"/> </xsl:call-template>
>
> <xsl:template name="insertAccessRule">
> <xsl:param name="guid"/>
> <xsl:param name="agent"/>
> <xsl:param name="srcNode"/>
> <xsl:param name="destNode"/>
> ....
> </xsl:template>
>
> Thanks
> Charlie
|