Re: [xsl] Re: position last and attributes

Subject: Re: [xsl] Re: position last and attributes
From: Wolfgang Laun <wolfgang.laun@xxxxxxxxx>
Date: Wed, 26 Sep 2012 13:26:32 +0200
string-join() ?
-W

On 26/09/2012, Ihe Onwuka <ihe.onwuka@xxxxxxxxxxxxxx> wrote:
> On Thu, Sep 20, 2012 at 7:13 AM, Ihe Onwuka <ihe.onwuka@xxxxxxxxxxxxxx>
> wrote:
>> It would seem (somewhat paradoxically) that given the definition of
>> position() and last() they could be applied to @* which is
>> intrinsically unordered.
>
> So seeking to output all the attributes of an element comma separated
> (by all means correct me if I miss the obvious).
>
> If I have done apply-templates select="@*" and have
>
> <xsl:template match="@*">
>      < code to output the attribute>
>      <!-- do I put a comma or not -->
>      <xsl:if test=". is ../@*[last()]>,</xsl:if>
>
> the specification doesn't guarantee that ../@* is in the same order of
> the node-set returned by @* when the apply-templates was done.
>
> So either I have to put the @* in a variable and do my if test on that
> to ensure I am dealing with the same node-set  or I match on the
> parent element instead of @* and for-each through  @* and decide where
> to put my commas that way.
>
> Or have I got that wrong.

Current Thread