This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: calling template with parameters
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] calling template with parameters
- From: Kay Michael <Michael dot Kay at icl dot com>
- Date: Tue, 9 Jan 2001 13:27:11 -0000
- Reply-To: xsl-list at lists dot mulberrytech dot com
> I have a problem passing a parameter.
>
> Why is the parameter in template "newslist" empty??
Because built-in templates do not pass their parameters through unchanged.
Your shownews template rule calls the newslist template rule via the
built-in rule for the root node. Change it to
"document('news/news.xml')/newlist" and all will be well.
Mike Kay
>
>
> <xsl:template match="shownews">
> <xsl:variable name="count" select="@count"/>
> Here it works: <xsl:value-of select="$count"/>
> <xsl:apply-templates select="document('news/news.xml')">
> <xsl:with-param name="newscount"
> select="$count"/>
> </xsl:apply-templates>
> </xsl:template>
> <xsl:template match="newslist">
> <xsl:param name="newscount"/>
> now newscount is empty: <xsl:value-of
> select="$newscount"/>
> <!-- At this point, I want to process
> $newscount elements of
> type <news>, but the parameter newscount is empty.-->
> </xsl:template>
>
>
> ### news/news.xml ###
> <newslist>
> <news id="123">
> <title>important news</title>
> <created>18.12.2000</created>
> <expires/>
> <content>foo</content>
> <created_by>rh</created_by>
> </news>
> </newslist>
> #####################
>
>
> Thanks,
> Roman
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list