xsl-list
[Top] [All Lists]

RE: Re: different first element in a list

2003-02-24 11:12:17
[Lorenzo De Tomasi ]
how can I obtain an ordered list like this
...
Rendering

list:   1
        2
        3
        4
        5

Your example document has the values in sorted order already, so there is no 
need to sort them again in the XSLT. This stylesheet will do what you ask:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  <xsl:output method="html" indent="yes" encoding="UTF-8" />
  <xsl:strip-space elements="*" />

  <xsl:template match="/">
    <table>
      <xsl:apply-templates select="xml/element" />
    </table>
  </xsl:template>

  <xsl:template match="xml/element">
    <xsl:choose>
      <xsl:when test="position() = 1">
        <tr><td>list:</td><td><xsl:value-of select="." /></td></tr>
      </xsl:when>
      <xsl:otherwise>
        <tr><td> </td><td><xsl:value-of select="." /></td></tr>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>
</xsl:stylesheet>

If the document does not contain the elements in sorted order, you could change 
this:

<xsl:apply-templates select="xml/element" />

to this:

<xsl:apply-templates select="xml/element">
  <xsl:sort select="." data-type="number" />
</xsl:apply-templates>

-- 
Charles Knell
cknell(_at_)onebox(_dot_)com - email


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>