私は2つのXMLファイルをwinmergeと比較するためにソートしようとしていますが、ノードをソートすると問題が発生しますが、同じ名前。ここでxsltを使用してXMLで複数ソート
は私のxmlです:
<node>
<location>A</location>
<title>folder in A</title>
<acl group="group_4" permissions="111111111"/>
<acl group="group_2" permissions="110000000"/>
<acl group="group_3" permissions="110000000"/>
<acl group="group_1" permissions="110000000"/>
</node>
<node>
<location>A</location>
<title>Another folder in A</title>
<acl group="group_1" permissions="110000000"/>
<acl group="group_3" permissions="111111111"/>
<acl group="group_2" permissions="110000000"/>
</node>
このように私のXSLの外観:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="UTF-8" />
<xsl:template match="/">
<xsl:for-each select="import/node">
<xsl:sort select="location" data-type="text" order="ascending"/>
<xsl:sort select="title[not(@clear)]" data-type="text" order="ascending"/>
<xsl:sort select="@group" data-type="text" order="ascending"/>
<node>
<xsl:copy-of select="location"/>
<xsl:copy-of select="title[not(@clear)]"/>
<xsl:copy-of select="acl[not(@basegroup) and not(@baseowner) and not(@standard)]"/>
</node>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
と私はこの結果を持っている:代わりにこの1の
<node>
<location>A</location>
<title>Another folder in A</title>
<acl group="group_1" permissions="110000000"/>
<acl group="group_3" permissions="111111111"/>
<acl group="group_2" permissions="110000000"/>
</node>
<node>
<location>A</location>
<title>folder in A</title>
<acl group="group_4" permissions="111111111"/>
<acl group="group_2" permissions="110000000"/>
<acl group="group_3" permissions="110000000"/>
<acl group="group_1" permissions="110000000"/>
</node>
:
を<node>
<location>A</location>
<title>Another folder in A</title>
<acl group="group_1" permissions="110000000"/>
<acl group="group_2" permissions="110000000"/>
<acl group="group_3" permissions="111111111"/>
</node>
<node>
<location>A</location>
<title>folder in A</title>
<acl group="group_1" permissions="110000000"/>
<acl group="group_2" permissions="110000000"/>
<acl group="group_3" permissions="110000000"/>
<acl group="group_4" permissions="111111111"/>
</node>
私はすでに同様の投稿をチェックしていますが、何も動作しません。前もって感謝します。宜しくお願いします。
。 'node'要素を' location'と 'title'でソートし、次に**各ノード**内で' act'要素を 'group'属性でソートしたいと思うようです。あなたが実際にやっていることは、 'node'要素を持たない' group'属性で 'node'要素をソートしようとしていることです。 –
こんにちはマイケル、あなたは正しい、私はノードの要素を場所とタイトルで並べ替えようとし、次に各ノードでacl属性を並べ替えることを試みる。そうするために一時的なグループを作成する必要がありますか? –