Showing posts with label XSLT. Show all posts
Showing posts with label XSLT. Show all posts

Wednesday, January 9, 2013

Sort date in Xml using XSLT

Here is how we can sort in given XML using XSLT



<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     version="1.0">
  <xsl:output method="text"/>
  <xsl:template match="Records">
    <xsl:apply-templates>
         <!-- year part -->
         <xsl:sort select="substring-after(substring-after(@OrderDate,'/'),'/')"    />
         <!-- month part -->
         <xsl:sort select="substring-before(substring-after(@OrderDate,'/'),'/')"  />
         <!-- day part -->
         <xsl:sort select="substring-before(@OrderDate,'/')"       />
          </xsl:apply-templates>
  </xsl:template>
  <xsl:template match="Order">
     <xsl:if test="position() = 1">
   <xsl:value-of select="@OrderDate"/> <br/>
   </xsl:if>
    </xsl:template>
</xsl:stylesheet>


To test the functionality use the following Sample XML. Use the below Url to test http://www.w3schools.com/Xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog

<root>
    <Records>
         <Order OrderDate="14/01/2011"> </Order>  
          <Order OrderDate="05/01/2011"> </Order> 
          <Order OrderDate="08/01/2011"> </Order>  
          <Order OrderDate="10/01/2011"> </Order>  
   </Records>
</root>