xsl-list
[Top] [All Lists]

[xsl] Re: position last and attributes

2012-09-26 06:19:25
On Thu, Sep 20, 2012 at 7:13 AM, Ihe Onwuka 
<ihe(_dot_)onwuka(_at_)googlemail(_dot_)com> 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.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--