[xsl] First Element in Sorted List

Subject: [xsl] First Element in Sorted List
From: John <john-xsl-list@xxxxxxxx>
Date: Wed, 01 Jun 2005 06:38:59 -0700
I am hoping to to confirm something before going in the wrong direction.

My process needs to take action on the first element in a list of elements where the logic to determine first is the lowest numeric value of the sortorder attribute. I don't believe there is a one-line way to do this - I believe the entire list must be sorted, and then the position of each element after sort compared to determine if it is first.

Is there a shorter/less expensive way to code the following

<xsl:for-each select="item">
  <xsl:sort select="@sortorder" data-type="number" />
  <xsl:if test="position() = 1">
    <!-- this is the first element in the sorted list -->
  </xsl:if>
</xsl:for-each>

I searched and found examples using this technique, but nothing really saying that this was the best or only approach.

Thanks in advance,

-John

Current Thread