This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Array XSL PROb
- To: P Vikram <vikram_good_boy at yahoo dot com>
- Subject: Re: [xsl] Array XSL PROb
- From: Jeni Tennison <jeni at jenitennison dot com>
- Date: Tue, 18 Sep 2001 10:46:04 +0100
- CC: xsl-list at lists dot mulberrytech dot com
- Organization: Jeni Tennison Consulting Ltd
- References: <20010915005029.81196.qmail@web20706.mail.yahoo.com>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi Vikram,
> <xsl:template match="testnode">
> myarray = [
> <xsl:apply-templates select="//top"/>
> ]
> </xsl:template>
>
> <xsl:template match="top">
> "<xsl:value-of select="NAME"/>",
> </xsl:template>
>
> Now in the array myarray two rows are getting
> populated.one myname and second undefined.
That's probably because the code that you generate looks like
(ignoring whitespace):
myarray = ["myname",]
I think you only want to add the comma if the top element that you're
looking at isn't the last top element that you're selecting. So I
think you want:
<xsl:template match="top">
"<xsl:value-of select="NAME" />"
<xsl:if test="position() != last()">,</xsl:if>
</xsl:template>
> Using xsl:if gives an error: "testnode" attribute is not allowed on
> the xsl:if element!
The xsl:if element must have a 'test' attribute, not a 'testnode'
attribute.
I hope that helps,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list