Pages

Thursday, September 5, 2013

Sorting by Date time in XML using XSLT


 XSLT:

 <xsl:for-each select="news">

      <xsl:sort select="substring-before(substring-before(Date,'T'),'-')" data-type="number" order="ascending"></xsl:sort>                        <!--by year-->

 
      <xsl:sort select="substring-before(substring-after(substring-before(Date,'T'),'-'),'-')" data-type="number" order="
ascending"></xsl:sort>   <!--by month-->

 
      <xsl:sort select="substring-after(substring-after(substring-before(Date,'T'),'-'),'-')" data-type="number" order="
ascending"></xsl:sort>    <!--by Day-->

 
      <xsl:sort select="substring-before(substring-after(Date,'T'),':')" data-type="number" order="
ascending"></xsl:sort>                         <!-- by hour-->

 
      <xsl:sort select="substring-before(substring-after(substring-after(Date,'T'),':'),':')" data-type="number" order="
ascending"></xsl:sort>     <!--by min-->

 
      <xsl:sort select="substring-after(substring-after(substring-after(Date,'T'),':'),':')" data-type="number" order="
ascending"></xsl:sort>      <!-- by sec-->

    <a> Date:  </a> <xsl:value-of select="Date"/>--     
<!-- Show Sorted Date-->       

    </xsl:for-each>





XML: 

<?xml version="1.0" encoding="utf-8" ?>
<root>
  <news>
    <Date>2010-09-06T05:10:46.857</Date>
    <description></description>
  </news>
  <news>
    <Date>2011-07-07T12:11:46.857</Date>

<description></description>    
</news>
  <news>
    <Date>2010-09-06T10:10:46.857</Date>
    <description></description>
  </news>
</root>





 

No comments:

Post a Comment