 Källkoden för /anders.enges/xml/xml23.asp
 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" -->