Nic Miloslav     Example 3    KEYWORDS      EXAMPLES      AUTHORS     

Nodes selected with xsl:for-each (Stylesheet 1 and Stylesheet 2) or xsl:apply-templates (Stylesheet 3) can be sorted. Order of sorting determines order attribute. Stylesheet 1 sorts in ascending and Stylesheet 2 in descending mode.


     XML     HOME     XSL 1     XSL 2     XSL 3      
<xslTutorial >
<name>John</name>
<name>Josua</name>
<name>Charles</name>
<name>Alice</name>
<name>Martha</name>
<name>George</name>
</xslTutorial>

     XSL 1     HOME     XML     HTML 1     OUTPUT 1     
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >
<xsl:template match="/">
<TABLE>
<xsl:for-each select="//name">
<xsl:sort order="ascending" select="."/>
<TR><TH><xsl:value-of select="."/></TH></TR>
</xsl:for-each>
</TABLE>
</xsl:template>
</xsl:stylesheet>

     HTML 1     HOME     XML     XSL 1     OUTPUT 1     
<HTML>
<HEAD> </HEAD>
<BODY>
<TABLE>
<TR>
<TH>Alice</TH></TR>
<TR>
<TH>George</TH></TR>
<TR>
<TH>Charles</TH></TR>
<TR>
<TH>John</TH></TR>
<TR>
<TH>Josua</TH></TR>
<TR>
<TH>Martha</TH></TR></TABLE> </BODY> </HTML>

     OUTPUT 1     HOME     XML     XSL 1     HTML 1     
Alice
George
Charles
John
Josua
Martha

     XSL 2     HOME     XML     HTML 2     OUTPUT 2     
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >
<xsl:template match="/">
<TABLE>
<xsl:for-each select="//name">
<xsl:sort order="descending" select="."/>
<TR><TH><xsl:value-of select="."/></TH></TR>
</xsl:for-each>
</TABLE>
</xsl:template>
</xsl:stylesheet>

     HTML 2     HOME     XML     XSL 2     OUTPUT 2     
<HTML>
<HEAD> </HEAD>
<BODY>
<TABLE>
<TR>
<TH>Martha</TH></TR>
<TR>
<TH>Josua</TH></TR>
<TR>
<TH>John</TH></TR>
<TR>
<TH>Charles</TH></TR>
<TR>
<TH>George</TH></TR>
<TR>
<TH>Alice</TH></TR></TABLE> </BODY> </HTML>

     OUTPUT 2     HOME     XML     XSL 2     HTML 2     
Martha
Josua
John
Charles
George
Alice

     XSL 3     HOME     XML     HTML 3     OUTPUT 3     
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >
<xsl:template match="/">
<TABLE>
<xsl:apply-templates select="//name">
<xsl:sort order="descending" select="."/>
</xsl:apply-templates>
</TABLE>
</xsl:template>
<xsl:template match="name">
<TR><TH><xsl:value-of select="."/></TH></TR>
</xsl:template>
</xsl:stylesheet>

     HTML 3     HOME     XML     XSL 3     OUTPUT 3     
<HTML>
<HEAD> </HEAD>
<BODY>
<TABLE>
<TR>
<TH>Martha</TH></TR>
<TR>
<TH>Josua</TH></TR>
<TR>
<TH>John</TH></TR>
<TR>
<TH>Charles</TH></TR>
<TR>
<TH>George</TH></TR>
<TR>
<TH>Alice</TH></TR></TABLE> </BODY> </HTML>

     OUTPUT 3     HOME     XML     XSL 3     HTML 3     
Martha
Josua
John
Charles
George
Alice