0
내가 id 필드에 정렬하려면 다음과 같은 XML이 필요
<top>
<repeat1>
<repeat2>
<contents>
<contentitem>
<id>9</id>
<moretags1/>
<moretags2/>
</contentitem>
</contents>
</repeat2>
</repeat1>
<repeat1>
<repeat2>
<contents>
<contentitem>
<id>6</id>
<moretags1/>
<moretags2/>
</contentitem>
</contents>
</repeat2>
</repeat1>
<repeat1>
<repeat2>
<contents>
<contentitem>
<id>3</id>
<moretags1/>
<moretags2/>
</contentitem>
</contents>
</repeat2>
</repeat1>
</top>
그래서 다음과 같이 분류 할 : 즉
<top>
<repeat1>
<repeat2>
<contents>
<contentitem>
<id>3</id>
<moretags1/>
<moretags2/>
</contentitem>
</contents>
</repeat2>
</repeat1>
<repeat1>
<repeat2>
<contents>
<contentitem>
<id>6</id>
<moretags1/>
<moretags2/>
</contentitem>
</contents>
</repeat2>
</repeat1>
<repeat1>
<repeat2>
<contents>
<contentitem>
<id>9</id>
<moretags1/>
<moretags2/>
</contentitem>
</contents>
</repeat2>
</repeat1>
</top>
, 나는의 ContentItem을 원하는 그룹화를 그대로 유지하지만 결과 XML에 ID 순으로 나열합니다. 나는 다음 xsl을 사용하려고하지만 어떤 행운을 갖지 않으려 고 노력하고있다. 오히려 여기에 contents
요소보다는 repeat1
요소를 정렬해야처럼
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes" method="xml"/>
<!-- -->
<xsl:strip-space elements="*"/>
<!-- -->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<!-- -->
<xsl:template match="contents">
<xsl:copy>
<xsl:apply-templates select="contentitem">
<xsl:sort select="id" data-type="number" order="ascending"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>