我想在變量聲明中使用xsl:perform-sort
,但它似乎沒有效果。可以在變量聲明中執行-order嗎?
輸入XML:
<root>
<section>
<seq>2</seq>
</section>
<section>
<seq>1</seq>
</section>
</root>
變換:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/*">
<xsl:comment>using perform-sort</xsl:comment>
<xsl:variable name="vSections" as="element() *">
<xsl:perform-sort select="section">
<xsl:sort data-type="number" select="seq" />
</xsl:perform-sort>
</xsl:variable>
<xsl:sequence select="$vSections/seq" />
<xsl:comment>using for-each</xsl:comment>
<xsl:for-each select="section">
<xsl:sort data-type="number" select="seq" />
<xsl:sequence select="seq" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
輸出:
<!--using perform-sort--><seq>2</seq><seq>1</seq><!--using for-each--><seq>1</seq><seq>2</seq>
我期待xsl:perform-sort
的vSections
變量內包含的section
元素進行排序。
我想弄清楚我在做什麼錯誤xsl:perform-sort
。
有趣。注意如果你執行' '會發生什麼。 –