Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

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