Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Sort data-type=number order=descending

File: Data.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="Transform.xslt" type="text/xsl"?> <member>  <state joined="1995">Austria</state>  <state joined="1950">Belgium</state>  <state joined="1973">Denmark</state>  <state joined="1986">Portugal</state>  <state joined="1986">Spain</state>  <state joined="1995">Sweden</state>  <state joined="1973">United Kingdom</state> </member> 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="member">     <xsl:text>Number of EU Member States: </xsl:text>     <xsl:value-of select="count(state)" />     <xsl:text>&#10;</xsl:text>     <xsl:apply-templates select="state/@joined">       <xsl:sort data-type="number" order="descending" />     </xsl:apply-templates>     <xsl:text>&#10;</xsl:text>   </xsl:template>   <xsl:template match="state/@joined">     <xsl:text> - </xsl:text>     <xsl:apply-templates select=".." />     <xsl:text> (</xsl:text>     <xsl:value-of select="." />     <xsl:text>)&#10;</xsl:text>   </xsl:template> </xsl:stylesheet> Output: Number of EU Member States: 7  - Austria (1995)  - Sweden (1995)  - Portugal (1986)  - Spain (1986)  - Denmark (1973)  - United Kingdom (1973)  - Belgium (1950)