가능합니다.
여러 xsl : sort 요소를 사용하여 여러 기준으로 선택 항목을 정렬 할 수 있습니다.
다음 1.0 XSLT 변환 :
<?xml version="1.0" encoding="utf-8"?>
<root>
<list>
<object>
<date>
2011-10-05
</date>
</object>
</list>
<list>
<object>
<date>
2011-10-04
</date>
</object>
</list>
<list>
<object>
<date>
2011-10-08
</date>
</object>
</list>
</root>
는 다음과 같은 결과를 생성합니다 :
나는 당신의 병이 형성 입력을 기반으로 함께했다 .xml 파일에 적용
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<root>
<xsl:for-each select="root/list">
<xsl:sort data-type="number" order="ascending" select="substring(normalize-space(object/date), 1, 4)"/>
<xsl:sort data-type="number" order="ascending" select="substring(normalize-space(object/date), 6, 2)"/>
<xsl:sort data-type="number" order="ascending" select="substring(normalize-space(object/date),9, 2)"/>
<xsl:copy-of select="."/>
</xsl:for-each>
</root>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<root>
<list>
<object>
<date>
2011-10-04
</date>
</object>
</list>
<list>
<object>
<date>
2011-10-05
</date>
</object>
</list>
<list>
<object>
<date>
2011-10-08
</date>
</object>
</list>
</root>
나는 1 년 후 1 개월 및 마지막 날을 기준으로 먼저 정렬합니다. 물론 당신의 필요에 맞게 정렬 순서를 바꿀 수 있습니다.
나는 귀하의 문제를 해결할 수 있기를 바랍니다 :)