<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=XML%2FXSLT_stylesheet%2FSort</id>
		<title>XML/XSLT stylesheet/Sort - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=XML%2FXSLT_stylesheet%2FSort"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML/XSLT_stylesheet/Sort&amp;action=history"/>
		<updated>2026-04-04T22:42:22Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=XML/XSLT_stylesheet/Sort&amp;diff=10459&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML/XSLT_stylesheet/Sort&amp;diff=10459&amp;oldid=prev"/>
				<updated>2010-05-26T08:26:23Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 08:26, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=XML/XSLT_stylesheet/Sort&amp;diff=10458&amp;oldid=prev</id>
		<title> в 18:22, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML/XSLT_stylesheet/Sort&amp;diff=10458&amp;oldid=prev"/>
				<updated>2010-05-25T18:22:29Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==for each sort descending==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;results group=&amp;quot;A&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;match&amp;gt;&lt;br /&gt;
    &amp;lt;date&amp;gt;10-Jun-98&amp;lt;/date&amp;gt;&lt;br /&gt;
    &amp;lt;team score=&amp;quot;2&amp;quot;&amp;gt;Brazil&amp;lt;/team&amp;gt;&lt;br /&gt;
    &amp;lt;team score=&amp;quot;1&amp;quot;&amp;gt;Scotland&amp;lt;/team&amp;gt;&lt;br /&gt;
  &amp;lt;/match&amp;gt;&lt;br /&gt;
  &amp;lt;match&amp;gt;&lt;br /&gt;
    &amp;lt;date&amp;gt;10-Jun-98&amp;lt;/date&amp;gt;&lt;br /&gt;
    &amp;lt;team score=&amp;quot;2&amp;quot;&amp;gt;Morocco&amp;lt;/team&amp;gt;&lt;br /&gt;
    &amp;lt;team score=&amp;quot;2&amp;quot;&amp;gt;Norway&amp;lt;/team&amp;gt;&lt;br /&gt;
  &amp;lt;/match&amp;gt;&lt;br /&gt;
  &amp;lt;match&amp;gt;&lt;br /&gt;
    &amp;lt;date&amp;gt;16-Jun-98&amp;lt;/date&amp;gt;&lt;br /&gt;
    &amp;lt;team score=&amp;quot;1&amp;quot;&amp;gt;Scotland&amp;lt;/team&amp;gt;&lt;br /&gt;
    &amp;lt;team score=&amp;quot;1&amp;quot;&amp;gt;Norway&amp;lt;/team&amp;gt;&lt;br /&gt;
  &amp;lt;/match&amp;gt;&lt;br /&gt;
&amp;lt;/results&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:transform xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
  version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:comment&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;ancestor::*&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:sort select=&amp;quot;position()&amp;quot; order=&amp;quot;descending&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; within &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:comment&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:transform&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;lt;!--results--&amp;gt;&lt;br /&gt;
  &amp;lt;!--match within results--&amp;gt;&lt;br /&gt;
    &amp;lt;!--date within match within results--&amp;gt;10-Jun-98&lt;br /&gt;
    &amp;lt;!--team within match within results--&amp;gt;Brazil&lt;br /&gt;
    &amp;lt;!--team within match within results--&amp;gt;Scotland&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!--match within results--&amp;gt;&lt;br /&gt;
    &amp;lt;!--date within match within results--&amp;gt;10-Jun-98&lt;br /&gt;
    &amp;lt;!--team within match within results--&amp;gt;Morocco&lt;br /&gt;
    &amp;lt;!--team within match within results--&amp;gt;Norway&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!--match within results--&amp;gt;&lt;br /&gt;
    &amp;lt;!--date within match within results--&amp;gt;16-Jun-98&lt;br /&gt;
    &amp;lt;!--team within match within results--&amp;gt;Scotland&lt;br /&gt;
    &amp;lt;!--team within match within results--&amp;gt;Norway&lt;br /&gt;
  &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Set sort order as ascending==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;Transform.xslt&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;neighbours&amp;gt;&lt;br /&gt;
  &amp;lt;planet name=&amp;quot;Venus&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;&lt;br /&gt;
    description&lt;br /&gt;
    &amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;positionFromSun&amp;gt;2&amp;lt;/positionFromSun&amp;gt;&lt;br /&gt;
    &amp;lt;diameter&amp;gt; 12104 km (7505 miles)&amp;lt;/diameter&amp;gt;&lt;br /&gt;
    &amp;lt;moons&amp;gt; 0&amp;lt;/moons&amp;gt;&lt;br /&gt;
    &amp;lt;meanTemp&amp;gt; 482C (900F)&amp;lt;/meanTemp&amp;gt;&lt;br /&gt;
    &amp;lt;oneDay&amp;gt; 243.01 earth days&amp;lt;/oneDay&amp;gt;&lt;br /&gt;
    &amp;lt;oneYear&amp;gt; 224.7 earth days&amp;lt;/oneYear&amp;gt;&lt;br /&gt;
  &amp;lt;/planet&amp;gt;&lt;br /&gt;
&amp;lt;/neighbours&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:import href=&amp;quot;planetsToXHTML.xsl&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; version=&amp;quot;4.0&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;neighbours&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Sorted planets&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;My sorted list of planets&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:sort select=&amp;quot;substring-before(meanTemp/text(), &amp;quot;C&amp;quot;)&amp;quot; order=&amp;quot;ascending&amp;quot; data-type=&amp;quot;number&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
   &amp;lt;head&amp;gt;&lt;br /&gt;
      &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=UTF-8&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;Sorted planets&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
   &amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;h1&amp;gt;My sorted list of planets&amp;lt;/h1&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      description&lt;br /&gt;
      &lt;br /&gt;
      2&lt;br /&gt;
       12104 km (7505 miles)&lt;br /&gt;
       0&lt;br /&gt;
       482C (900F)&lt;br /&gt;
       243.01 earth days&lt;br /&gt;
       224.7 earth days&lt;br /&gt;
      &lt;br /&gt;
   &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==sort by attribute==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;Transform.xslt&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;neighbours&amp;gt;&lt;br /&gt;
  &amp;lt;planet name=&amp;quot;Venus&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;&lt;br /&gt;
    description&lt;br /&gt;
    &amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;positionFromSun&amp;gt;2&amp;lt;/positionFromSun&amp;gt;&lt;br /&gt;
    &amp;lt;diameter&amp;gt; 12104 km (7505 miles)&amp;lt;/diameter&amp;gt;&lt;br /&gt;
    &amp;lt;moons&amp;gt; 0&amp;lt;/moons&amp;gt;&lt;br /&gt;
    &amp;lt;meanTemp&amp;gt; 482C (900F)&amp;lt;/meanTemp&amp;gt;&lt;br /&gt;
    &amp;lt;oneDay&amp;gt; 243.01 earth days&amp;lt;/oneDay&amp;gt;&lt;br /&gt;
    &amp;lt;oneYear&amp;gt; 224.7 earth days&amp;lt;/oneYear&amp;gt;&lt;br /&gt;
  &amp;lt;/planet&amp;gt;&lt;br /&gt;
&amp;lt;/neighbours&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; version=&amp;quot;4.0&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;neighbours&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Sorted planets&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;My sorted list of planets&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:sort select=&amp;quot;@name&amp;quot; order=&amp;quot;descending&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
   &amp;lt;head&amp;gt;&lt;br /&gt;
      &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=UTF-8&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;Sorted planets&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
   &amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;h1&amp;gt;My sorted list of planets&amp;lt;/h1&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      description&lt;br /&gt;
      &lt;br /&gt;
      2&lt;br /&gt;
       12104 km (7505 miles)&lt;br /&gt;
       0&lt;br /&gt;
       482C (900F)&lt;br /&gt;
       243.01 earth days&lt;br /&gt;
       224.7 earth days&lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
   &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sort by attribute value==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;employees&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;04/23/1999&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;A&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;B&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;100000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;09/01/1998&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;C&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;D&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;95000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;08/20/2000&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;E&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;F&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;89000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
&amp;lt;/employees&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
  version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;text&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;employees&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:apply-templates&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:sort select=&amp;quot;@hireDate&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;employee&amp;quot;&amp;gt;&lt;br /&gt;
    Last:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;last&amp;quot; /&amp;gt;&lt;br /&gt;
    First:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;first&amp;quot; /&amp;gt;&lt;br /&gt;
    Salary:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;salary&amp;quot; /&amp;gt;&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;@hireDate&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
    Last:&lt;br /&gt;
    A&lt;br /&gt;
    First:&lt;br /&gt;
    B&lt;br /&gt;
    Salary:&lt;br /&gt;
    100000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    04/23/1999&lt;br /&gt;
    Last:&lt;br /&gt;
    E&lt;br /&gt;
    First:&lt;br /&gt;
    F&lt;br /&gt;
    Salary:&lt;br /&gt;
    89000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    08/20/2000&lt;br /&gt;
    Last:&lt;br /&gt;
    C&lt;br /&gt;
    First:&lt;br /&gt;
    D&lt;br /&gt;
    Salary:&lt;br /&gt;
    95000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    09/01/1998&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==sort by different level of node==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;winelist&amp;gt;&lt;br /&gt;
  &amp;lt;wine grape=&amp;quot;Chardonnay&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;winery&amp;gt;shop 1&amp;lt;/winery&amp;gt;&lt;br /&gt;
    &amp;lt;product&amp;gt;product 1&amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;year&amp;gt;1998&amp;lt;/year&amp;gt;&lt;br /&gt;
    &amp;lt;prices&amp;gt;&lt;br /&gt;
      &amp;lt;list&amp;gt;6.99&amp;lt;/list&amp;gt;&lt;br /&gt;
      &amp;lt;discounted&amp;gt;5.99&amp;lt;/discounted&amp;gt;&lt;br /&gt;
      &amp;lt;case&amp;gt;71.50&amp;lt;/case&amp;gt;&lt;br /&gt;
    &amp;lt;/prices&amp;gt;&lt;br /&gt;
  &amp;lt;/wine&amp;gt;&lt;br /&gt;
  &amp;lt;wine grape=&amp;quot;Chardonnay&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;winery&amp;gt;shop 2&amp;lt;/winery&amp;gt;&lt;br /&gt;
    &amp;lt;product&amp;gt;product 2&amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;year&amp;gt;1997&amp;lt;/year&amp;gt;&lt;br /&gt;
    &amp;lt;prices&amp;gt;&lt;br /&gt;
      &amp;lt;list&amp;gt;10.99&amp;lt;/list&amp;gt;&lt;br /&gt;
      &amp;lt;discounted&amp;gt;9.50&amp;lt;/discounted&amp;gt;&lt;br /&gt;
      &amp;lt;case&amp;gt;114.00&amp;lt;/case&amp;gt;&lt;br /&gt;
    &amp;lt;/prices&amp;gt;&lt;br /&gt;
  &amp;lt;/wine&amp;gt;&lt;br /&gt;
  &amp;lt;wine grape=&amp;quot;Cabernet&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;winery&amp;gt;shop 1&amp;lt;/winery&amp;gt;&lt;br /&gt;
    &amp;lt;product&amp;gt;product 1&amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;year&amp;gt;1996&amp;lt;/year&amp;gt;&lt;br /&gt;
    &amp;lt;prices&amp;gt;&lt;br /&gt;
      &amp;lt;list&amp;gt;13.99&amp;lt;/list&amp;gt;&lt;br /&gt;
      &amp;lt;discounted&amp;gt;11.99&amp;lt;/discounted&amp;gt;&lt;br /&gt;
      &amp;lt;case&amp;gt;143.50&amp;lt;/case&amp;gt;&lt;br /&gt;
    &amp;lt;/prices&amp;gt;&lt;br /&gt;
  &amp;lt;/wine&amp;gt;&lt;br /&gt;
&amp;lt;/winelist&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
  version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;winelist&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:copy&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:sort data-type=&amp;quot;number&amp;quot; select=&amp;quot;prices/discounted&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:copy&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:copy&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:copy&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;lt;winelist&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
&amp;lt;wine&amp;gt;&lt;br /&gt;
    &amp;lt;winery&amp;gt;shop 1&amp;lt;/winery&amp;gt;&lt;br /&gt;
    &amp;lt;product&amp;gt;product 1&amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;year&amp;gt;1998&amp;lt;/year&amp;gt;&lt;br /&gt;
    &amp;lt;prices&amp;gt;&lt;br /&gt;
      &amp;lt;list&amp;gt;6.99&amp;lt;/list&amp;gt;&lt;br /&gt;
      &amp;lt;discounted&amp;gt;5.99&amp;lt;/discounted&amp;gt;&lt;br /&gt;
      &amp;lt;case&amp;gt;71.50&amp;lt;/case&amp;gt;&lt;br /&gt;
    &amp;lt;/prices&amp;gt;&lt;br /&gt;
  &amp;lt;/wine&amp;gt;&amp;lt;wine&amp;gt;&lt;br /&gt;
    &amp;lt;winery&amp;gt;shop 2&amp;lt;/winery&amp;gt;&lt;br /&gt;
    &amp;lt;product&amp;gt;product 2&amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;year&amp;gt;1997&amp;lt;/year&amp;gt;&lt;br /&gt;
    &amp;lt;prices&amp;gt;&lt;br /&gt;
      &amp;lt;list&amp;gt;10.99&amp;lt;/list&amp;gt;&lt;br /&gt;
      &amp;lt;discounted&amp;gt;9.50&amp;lt;/discounted&amp;gt;&lt;br /&gt;
      &amp;lt;case&amp;gt;114.00&amp;lt;/case&amp;gt;&lt;br /&gt;
    &amp;lt;/prices&amp;gt;&lt;br /&gt;
  &amp;lt;/wine&amp;gt;&amp;lt;wine&amp;gt;&lt;br /&gt;
    &amp;lt;winery&amp;gt;shop 1&amp;lt;/winery&amp;gt;&lt;br /&gt;
    &amp;lt;product&amp;gt;product 1&amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;year&amp;gt;1996&amp;lt;/year&amp;gt;&lt;br /&gt;
    &amp;lt;prices&amp;gt;&lt;br /&gt;
      &amp;lt;list&amp;gt;13.99&amp;lt;/list&amp;gt;&lt;br /&gt;
      &amp;lt;discounted&amp;gt;11.99&amp;lt;/discounted&amp;gt;&lt;br /&gt;
      &amp;lt;case&amp;gt;143.50&amp;lt;/case&amp;gt;&lt;br /&gt;
    &amp;lt;/prices&amp;gt;&lt;br /&gt;
  &amp;lt;/wine&amp;gt;&amp;lt;/winelist&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sort by element text==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;Transform.xslt&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;neighbours&amp;gt;&lt;br /&gt;
  &amp;lt;planet name=&amp;quot;Venus&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;&lt;br /&gt;
    description&lt;br /&gt;
    &amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;positionFromSun&amp;gt;2&amp;lt;/positionFromSun&amp;gt;&lt;br /&gt;
    &amp;lt;diameter&amp;gt; 12104 km (7505 miles)&amp;lt;/diameter&amp;gt;&lt;br /&gt;
    &amp;lt;moons&amp;gt; 0&amp;lt;/moons&amp;gt;&lt;br /&gt;
    &amp;lt;meanTemp&amp;gt; 482C (900F)&amp;lt;/meanTemp&amp;gt;&lt;br /&gt;
    &amp;lt;oneDay&amp;gt; 243.01 earth days&amp;lt;/oneDay&amp;gt;&lt;br /&gt;
    &amp;lt;oneYear&amp;gt; 224.7 earth days&amp;lt;/oneYear&amp;gt;&lt;br /&gt;
  &amp;lt;/planet&amp;gt;&lt;br /&gt;
&amp;lt;/neighbours&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; version=&amp;quot;4.0&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;neighbours&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Sorted planets&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;My sorted list of planets&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:sort select=&amp;quot;positionFromSun/text()&amp;quot; order=&amp;quot;ascending&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
   &amp;lt;head&amp;gt;&lt;br /&gt;
      &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=UTF-8&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;Sorted planets&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
   &amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;h1&amp;gt;My sorted list of planets&amp;lt;/h1&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      description&lt;br /&gt;
      &lt;br /&gt;
      2&lt;br /&gt;
       12104 km (7505 miles)&lt;br /&gt;
       0&lt;br /&gt;
       482C (900F)&lt;br /&gt;
       243.01 earth days&lt;br /&gt;
       224.7 earth days&lt;br /&gt;
      &lt;br /&gt;
   &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sort by substring==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;employees&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;04/23/1999&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;A&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;B&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;100000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;09/01/1998&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;C&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;D&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;95000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;08/20/2000&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;E&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;F&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;89000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
&amp;lt;/employees&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
  version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;text&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;employees&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:apply-templates&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:sort select=&amp;quot;substring(@hireDate,7,4)&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;!-- year  --&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:sort select=&amp;quot;substring(@hireDate,1,2)&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;!-- month --&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:sort select=&amp;quot;substring(@hireDate,3,2)&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;!-- day   --&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;employee&amp;quot;&amp;gt;&lt;br /&gt;
    Last:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;last&amp;quot; /&amp;gt;&lt;br /&gt;
    First:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;first&amp;quot; /&amp;gt;&lt;br /&gt;
    Salary:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;salary&amp;quot; /&amp;gt;&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;@hireDate&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
    Last:&lt;br /&gt;
    C&lt;br /&gt;
    First:&lt;br /&gt;
    D&lt;br /&gt;
    Salary:&lt;br /&gt;
    95000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    09/01/1998&lt;br /&gt;
    Last:&lt;br /&gt;
    A&lt;br /&gt;
    First:&lt;br /&gt;
    B&lt;br /&gt;
    Salary:&lt;br /&gt;
    100000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    04/23/1999&lt;br /&gt;
    Last:&lt;br /&gt;
    E&lt;br /&gt;
    First:&lt;br /&gt;
    F&lt;br /&gt;
    Salary:&lt;br /&gt;
    89000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    08/20/2000&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sort by two columns==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;employees&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;04/23/1999&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;A&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;B&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;100000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;09/01/1998&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;C&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;D&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;95000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;08/20/2000&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;E&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;F&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;89000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
&amp;lt;/employees&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
  version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;text&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;employees&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:apply-templates&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:sort select=&amp;quot;last&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:sort select=&amp;quot;first&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;employee&amp;quot;&amp;gt;&lt;br /&gt;
    Last:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;last&amp;quot; /&amp;gt;&lt;br /&gt;
    First:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;first&amp;quot; /&amp;gt;&lt;br /&gt;
    Salary:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;salary&amp;quot; /&amp;gt;&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;@hireDate&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
    Last:&lt;br /&gt;
    A&lt;br /&gt;
    First:&lt;br /&gt;
    B&lt;br /&gt;
    Salary:&lt;br /&gt;
    100000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    04/23/1999&lt;br /&gt;
    Last:&lt;br /&gt;
    C&lt;br /&gt;
    First:&lt;br /&gt;
    D&lt;br /&gt;
    Salary:&lt;br /&gt;
    95000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    09/01/1998&lt;br /&gt;
    Last:&lt;br /&gt;
    E&lt;br /&gt;
    First:&lt;br /&gt;
    F&lt;br /&gt;
    Salary:&lt;br /&gt;
    89000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    08/20/2000&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==sort element by data type==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;employees&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;04/23/1999&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;A&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;B&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;100000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;09/01/1998&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;C&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;D&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;95000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;08/20/2000&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;E&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;F&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;89000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
&amp;lt;/employees&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
  version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; omit-xml-declaration=&amp;quot;yes&amp;quot; indent=&amp;quot;no&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;employees&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;employee&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:sort select=&amp;quot;salary&amp;quot; data-type=&amp;quot;number&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:if test=&amp;quot;position() = 1&amp;quot;&amp;gt;&lt;br /&gt;
        Lowest salary:&lt;br /&gt;
        &amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:if test=&amp;quot;position() = last()&amp;quot;&amp;gt;&lt;br /&gt;
        Highest salary:&lt;br /&gt;
        &amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
        Lowest salary:&lt;br /&gt;
        &lt;br /&gt;
    E&lt;br /&gt;
    F&lt;br /&gt;
    89000&lt;br /&gt;
  &lt;br /&gt;
        Highest salary:&lt;br /&gt;
        &lt;br /&gt;
    A&lt;br /&gt;
    B&lt;br /&gt;
    100000&lt;br /&gt;
  &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==sort select=&amp;quot;salary&amp;quot; data-type=&amp;quot;number&amp;quot; order=&amp;quot;descending&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;employees&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;04/23/1999&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;A&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;B&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;100000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;09/01/1998&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;C&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;D&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;95000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;08/20/2000&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;E&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;F&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;89000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
&amp;lt;/employees&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
  version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;text&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;employees&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:apply-templates&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:sort select=&amp;quot;salary&amp;quot; data-type=&amp;quot;number&amp;quot; order=&amp;quot;descending&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;employee&amp;quot;&amp;gt;&lt;br /&gt;
    Last:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;last&amp;quot; /&amp;gt;&lt;br /&gt;
    First:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;first&amp;quot; /&amp;gt;&lt;br /&gt;
    Salary:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;salary&amp;quot; /&amp;gt;&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;@hireDate&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
    Last:&lt;br /&gt;
    A&lt;br /&gt;
    First:&lt;br /&gt;
    B&lt;br /&gt;
    Salary:&lt;br /&gt;
    100000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    04/23/1999&lt;br /&gt;
        &lt;br /&gt;
    Last:&lt;br /&gt;
    C&lt;br /&gt;
    First:&lt;br /&gt;
    D&lt;br /&gt;
    Salary:&lt;br /&gt;
    95000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    09/01/1998&lt;br /&gt;
        &lt;br /&gt;
    Last:&lt;br /&gt;
    E&lt;br /&gt;
    First:&lt;br /&gt;
    F&lt;br /&gt;
    Salary:&lt;br /&gt;
    89000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    08/20/2000&lt;br /&gt;
        &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==sorts in numeric mode.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;data&amp;gt;&lt;br /&gt;
  &amp;lt;car id=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;car id=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;car id=&amp;quot;105&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;car id=&amp;quot;28&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;car id=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/data&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet&lt;br /&gt;
      version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
      xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;TABLE&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;//car&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:sort data-type=&amp;quot;number&amp;quot; select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;TR&amp;gt;&lt;br /&gt;
            &amp;lt;TH&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Car-&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/TH&amp;gt;&lt;br /&gt;
          &amp;lt;/TR&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/TABLE&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;lt;TABLE&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Car-6&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Car-9&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Car-11&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Car-28&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Car-105&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==sorts in text==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;data&amp;gt;    &lt;br /&gt;
    &amp;lt;car id=&amp;quot;11&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;car id=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;car id=&amp;quot;105&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;car id=&amp;quot;28&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;car id=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/data&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet&lt;br /&gt;
      version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
      xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;TABLE&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;//car&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:sort data-type=&amp;quot;text&amp;quot; select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;TR&amp;gt;&lt;br /&gt;
            &amp;lt;TH&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Car-&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/TH&amp;gt;&lt;br /&gt;
          &amp;lt;/TR&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/TABLE&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;lt;TABLE&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Car-105&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Car-11&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Car-28&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Car-6&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Car-9&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==sorts lowercase letters first==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;data&amp;gt;    &lt;br /&gt;
    &amp;lt;word id=&amp;quot;czech&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;word id=&amp;quot;Czech&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;word id=&amp;quot;cook&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;word id=&amp;quot;TooK&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;word id=&amp;quot;took&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;word id=&amp;quot;Took&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/data&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet&lt;br /&gt;
      version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
      xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;TABLE&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;//word&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:sort case-order=&amp;quot;lower-first&amp;quot; select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;TR&amp;gt;&lt;br /&gt;
            &amp;lt;TH&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/TH&amp;gt;&lt;br /&gt;
          &amp;lt;/TR&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/TABLE&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;lt;TABLE&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;cook&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;czech&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Czech&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;took&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Took&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;TooK&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==sorts upercase letters first==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;data&amp;gt;&lt;br /&gt;
  &amp;lt;word id=&amp;quot;czech&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;word id=&amp;quot;Czech&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;word id=&amp;quot;cook&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;word id=&amp;quot;TooK&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;word id=&amp;quot;took&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;word id=&amp;quot;Took&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/data&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet&lt;br /&gt;
      version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
      xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;TABLE&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;//word&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:sort case-order=&amp;quot;upper-first&amp;quot; select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;TR&amp;gt;&lt;br /&gt;
            &amp;lt;TH&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/TH&amp;gt;&lt;br /&gt;
          &amp;lt;/TR&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/TABLE&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;lt;TABLE&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;cook&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Czech&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;czech&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;TooK&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;Took&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;took&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sort value first then output==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;employees&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;04/23/1999&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;A&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;B&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;100000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;09/01/1998&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;C&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;D&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;95000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
  &amp;lt;employee hireDate=&amp;quot;08/20/2000&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;last&amp;gt;E&amp;lt;/last&amp;gt;&lt;br /&gt;
    &amp;lt;first&amp;gt;F&amp;lt;/first&amp;gt;&lt;br /&gt;
    &amp;lt;salary&amp;gt;89000&amp;lt;/salary&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
&amp;lt;/employees&amp;gt;&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
  version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;text&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;employees&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:apply-templates&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:sort select=&amp;quot;salary&amp;quot; data-type=&amp;quot;number&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;employee&amp;quot;&amp;gt;&lt;br /&gt;
    Last:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;last&amp;quot; /&amp;gt;&lt;br /&gt;
    First:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;first&amp;quot; /&amp;gt;&lt;br /&gt;
    Salary:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;salary&amp;quot; /&amp;gt;&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    &amp;lt;xsl:apply-templates select=&amp;quot;@hireDate&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
    Last:&lt;br /&gt;
    E&lt;br /&gt;
    First:&lt;br /&gt;
    F&lt;br /&gt;
    Salary:&lt;br /&gt;
    89000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    08/20/2000&lt;br /&gt;
    Last:&lt;br /&gt;
    C&lt;br /&gt;
    First:&lt;br /&gt;
    D&lt;br /&gt;
    Salary:&lt;br /&gt;
    95000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    09/01/1998&lt;br /&gt;
    Last:&lt;br /&gt;
    A&lt;br /&gt;
    First:&lt;br /&gt;
    B&lt;br /&gt;
    Salary:&lt;br /&gt;
    100000&lt;br /&gt;
    Hire Date:&lt;br /&gt;
    04/23/1999&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==sort with current-grouping-key() function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;employees&amp;gt;&lt;br /&gt;
  &amp;lt;employee&amp;gt;&lt;br /&gt;
    &amp;lt;FirstName&amp;gt;A&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
    &amp;lt;LastName&amp;gt;B&amp;lt;/LastName&amp;gt;&lt;br /&gt;
    &amp;lt;Country&amp;gt;USA&amp;lt;/Country&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
  &amp;lt;employee&amp;gt;&lt;br /&gt;
    &amp;lt;FirstName&amp;gt;C&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
    &amp;lt;LastName&amp;gt;D&amp;lt;/LastName&amp;gt;&lt;br /&gt;
    &amp;lt;Country&amp;gt;UK&amp;lt;/Country&amp;gt;&lt;br /&gt;
  &amp;lt;/employee&amp;gt;&lt;br /&gt;
&amp;lt;/employees&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Transform.xslt&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
  xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h3&amp;gt;header 3&amp;lt;/h3&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each-group select=&amp;quot;employees/employee&amp;quot;&lt;br /&gt;
          group-by=&amp;quot;Country&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:sort select=&amp;quot;current-grouping-key()&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;paragraph&amp;gt;&lt;br /&gt;
            :&lt;br /&gt;
            &amp;lt;b&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of&lt;br /&gt;
                select=&amp;quot;current-grouping-key()&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/b&amp;gt;&lt;br /&gt;
            &amp;lt;ul&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:apply-templates&lt;br /&gt;
                select=&amp;quot;current-group()&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:sort select=&amp;quot;LastName&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
            &amp;lt;/ul&amp;gt;&lt;br /&gt;
          &amp;lt;/paragraph&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each-group&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;employee&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;LastName&amp;quot; /&amp;gt;&lt;br /&gt;
      ,&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;FirstName&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
   &amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;h3&amp;gt;header 3&amp;lt;/h3&amp;gt;&lt;br /&gt;
      &amp;lt;paragraph&amp;gt;&lt;br /&gt;
                     :&lt;br /&gt;
                     &amp;lt;b&amp;gt;UK&amp;lt;/b&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;D&lt;br /&gt;
                     ,&lt;br /&gt;
                     C&lt;br /&gt;
            &amp;lt;/li&amp;gt;&lt;br /&gt;
         &amp;lt;/ul&amp;gt;&lt;br /&gt;
      &amp;lt;/paragraph&amp;gt;&lt;br /&gt;
      &amp;lt;paragraph&amp;gt;&lt;br /&gt;
                     :&lt;br /&gt;
                     &amp;lt;b&amp;gt;USA&amp;lt;/b&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;B&lt;br /&gt;
                     ,&lt;br /&gt;
                     A&lt;br /&gt;
            &amp;lt;/li&amp;gt;&lt;br /&gt;
         &amp;lt;/ul&amp;gt;&lt;br /&gt;
      &amp;lt;/paragraph&amp;gt;&lt;br /&gt;
   &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>