Källkoden för /anders.enges/xml/xml23.asp
<!--#include file="../inc/navstuff.asp" -->
<h4>xsl:for-each</h4>
<p>Syntax:</p>
<div class="res">
   <p><xsl:for-each select="<i>pattern</i>" order-by="<i>sorteringskriteria</i>"><br>
           ...<br>
     </xsl:for-each></p>
   </div>
  
<p>Sorteringen är inte obligatorisk, men select måste anges.</p>
<p>För <b>select</b> gäller de normala reglerna för patterns, se
   kapitlet om detta.</p>
<p>För order-by används ett eller flera nodnamn. Använder man flera
   så skall de separeras med semikolon (;) mellan. Normalt sorteras datat
   i stigande ordning. Vill man sortera i fallande ordning så sätter
   man ett - före nodens namn. Man kan äen sätta ett plus (+), men
   det är inte nödvändigt. Nedan några exempel på detta:</p>
<div class="code"><xsl:for-each select="persons/person" order-by="lastname;
   firstname"><br>
   <xsl:for-each select="persons/person" order-by="lastname;
   -firstname"> </div>
<p>Nedan sorteras förare efter namn</p>
<p>
   <%  show "xml23_1.xsl" %>
   <%  show "xml23_1.xml" %>
</p>
<p>I exemplet nedan så försöker vi sortera förarna efter
   rating (betyg) men det lyckas inte riktigt bra:</p>
<p>
   <%  show "xml23_2.xsl" %>
   <%  showLink "xml23_2.xml" %>
</p>
<p>Vi har samma problem som när vi t.ex. görsöker sortera filer
   vilkas filnamn innehåller siffror. Vi tror att vi sorterar numeriskt,
   men vi gör en ASCII sortering. Vi måste säga åt XSL tolken
   att sorteringens skall ske numeriskt. Nedanstående exempel gör detta.
   Den sorterar även efter namn i fallande ordning (även om det inte
   har så stor betydelse med vårt testdata):</p>
<p>
   <%  show "xml23_3.xsl" %>
   <%  showLink "xml23_3.xml" %>
</p>
<p> </p>
<!--#include file="../inc/footer.asp" -->