sort by name() : Sort « XSLT stylesheet « XML Tutorial

XML Tutorial
1. Introduction
2. Namespace
3. XML Schema
4. XPath
5. XSLT stylesheet
Java
XML
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
XML Tutorial » XSLT stylesheet » Sort 
5. 18. 6. sort by name()
File: Data.xml
<list>
 <freezer>
  <element>peas</element>
  <element>green beans</element>
  <element>pot pie</element>
  <element>ice cream</element>
 </freezer>
 <bakery>
  <element>rolls</element>
  <element>jelly doughnuts</element>
  <element>bread</element>
 </bakery>
 <produce>
  <element>bananas</element>
  <element>kumquats</element>
  <element>apples</element>
 </produce>
</list>


File: Transform.xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text" />

  <xsl:template match="list">
    <xsl:apply-templates select="*">
      <xsl:sort select="name()" />
    </xsl:apply-templates>
  </xsl:template>

  <xsl:template match="*">
    <xsl:text>Section: </xsl:text>
    <xsl:value-of select="name()" />
    <xsl:text>&#10;</xsl:text>
    <xsl:apply-templates select="element">
      <xsl:sort />
    </xsl:apply-templates>
  </xsl:template>

  <xsl:template match="element">
    <xsl:text> * </xsl:text>
    <xsl:apply-templates />
    <xsl:text>&#10;</xsl:text>
  </xsl:template>

</xsl:stylesheet>

Output:
Section: bakery
 * bread
 * jelly doughnuts
 * rolls
Section: freezer
 * green beans
 * ice cream
 * peas
 * pot pie
Section: produce
 * apples
 * bananas
 * kumquats
5. 18. Sort
5. 18. 1. The Element is used to specify sort order for node-sets
5. 18. 2. sort order="descending" select="."
5. 18. 3. sort elements
5. 18. 4. sort order="descending"
5. 18. 5. sort data-type="number" order="descending"
5. 18. 6. sort by name()
5. 18. 7. sort by attribute: sort select="@joined" data-type="number" order="descending"
5. 18. 8. Sort by different data types and order
5. 18. 9. Sort in a for-each loop
5. 18. 10. Sort by last name than first name
5. 18. 11. sort select="." data-type="number"
5. 18. 12. sort select="xs:integer(.)"
5. 18. 13. sort select="."
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.