This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Array XSL PROb


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]