Subject: Re: last attribute ? From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 26 Sep 2000 13:05:39 GMT |
> I tried e.g: (idea: if you are last attribute of current node don't do this > if) > > <xsl:if test="@*[position() != last()]"> > <xsl:text>,</xsl:text> > </xsl:if> I suspect (but you didn't say) that you tried that in the template you are using for attributes, in which case the @* is testing the attributes of the attribute. You want <xsl:if test="position() != last()"> <xsl:text>,</xsl:text> </xsl:if> in your template (or for-each) for attributes. > but position function can't count attributes ?? it counts nodes of any sort. so something like (untested) <xsl:template match="test"> <xsl:attribute name="attributes"> <xsl:for-each select="@*"> <xsl:sort select="name()"/> <!-- optional --> <xsl:value-of select="name()"> <xsl:text>="</xsl:text> <xsl:value-of select="."/> <xsl:text>"</xsl:text> <xsl:if test="position() != last()"> <xsl:text>, </xsl:text> </xsl:if> </xsl:attribute> </xsl:template> David XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: last attribute ?, Jarno Elovirta | Thread | RE: last attribute ?, Kay Michael |
RE: last attribute ?, Jarno Elovirta | Date | Problems with XSL code, Marcos Coelho |
Month |