This week's book giveaway is in the Agile and other Processes forum. We're giving away four copies of The Mikado Method and have Ola Ellnestam and Daniel Brolund on-line! See this thread for details.
You should have read in every tutorial discussing sorting in xslt 1.0 that xsl:sort can appear in two kinds of structure. This is what they want to say.
Thanks for your response. I tried the way you gave <xsl:sort select="@PNO" order="ascending" data-type="text" /> but little bit modified as <xsl:sort select="if(contains(@PNO,',')) then replace(@PNO,',','') else @PNO" order="ascending" data-type="text" /> it worked for the scenario which i showed in my post with H2/@PNO values (10,888a, 10,888, 10,887a, 10,887, 1000) and when I added another H2 with @PNO="2000" it didnt work.