1
以下のMWEでは、並べ替える一連の属性があり、次にXMLと属性の両方が出力されます。 I出力は見た目全体のXMLは、ソートされたとき:これはどのようにXSLソートを実行しても属性に作用しませんか?
attrZ attrA
attrZ attrA
:私は、属性の横に印刷する場合
<data attr="attrA">testA</data><data attr="attrZ">testZ</data>
<data attr="attrZ">testZ</data><data attr="attrA">testA</data>
しかし、私はソートされた出力を(昇順==が降順)得ることはありません可能?どうすれば入手できますか:
attrA attrZ
attrZ attrA
??
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:variable name="dataUnsorted" as="element()*">
<data attr="attrZ">testZ</data>
<data attr="attrA">testA</data>
</xsl:variable>
<xsl:variable name="dataAscending" as="element()*">
<xsl:perform-sort select="$dataUnsorted">
<xsl:sort select="@attr" order="ascending"/>
</xsl:perform-sort>
</xsl:variable>
<xsl:variable name="dataDescending" as="element()*">
<xsl:perform-sort select="$dataUnsorted">
<xsl:sort select="@attr" order="descending"/>
</xsl:perform-sort>
</xsl:variable>
<xsl:template match="/">
<xsl:message>
<xsl:copy-of select="$dataAscending"/>
</xsl:message>
<xsl:message>
<xsl:copy-of select="$dataDescending"/>
</xsl:message>
<xsl:message>
<xsl:value-of select="$dataAscending/@attr"/>
</xsl:message>
<xsl:message>
<xsl:value-of select="$dataDescending/@attr"/>
</xsl:message>
</xsl:template>
</xsl:stylesheet>