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 |