私は、次の入力している:値によって要素を並べ替えや削除、重複
<?xml version="1.0" encoding="utf-8"?>
<NewTerms>
<newTerm>XPath</newTerm>
<newTerm>AutoValue</newTerm>
<newTerm>XPath</newTerm>
<newTerm>context</newTerm>
<newTerm>AutoValue</newTerm>
<newTerm>language files</newTerm>
<newTerm>AutoValue</newTerm>
<newTerm>.NET</newTerm>
<newTerm>XPath</newTerm>
</NewTerms>
私はそれをソートしたい、それは次のように完全に機能:私は
<xsl:output method="xml" indent="yes" omit-xml-declaration="no"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()">
<xsl:sort select="."/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
問題があるを取得しています(明らかに)繰り返しで同じ値を持つ要素(例えばXPath、AutoValue)を持つソートされた出力リスト。私は繰り返し値なしで並べ替えられたリストを持っていたい。つまり、ソートされたXML出力に各値を1回だけ入れたいです。
お願いします。
+1 - 良い答え。私は、セット内の最初のノードをテストする 'count(。key( 'keyName'、。)[1])= 1'メソッドは、IDを比較するよりもずっと面白いと思う)。 –
@lwburk:私はSet Theoryのためにこれも好きです。しかし、それは、両方のオペランドがシングルトンであることを絶対に確信しているときにのみ機能します(誰も空ではありません)。 –
+1すばらしい、私は皆さんからたくさんのことを学んでいます。私の答えが受け入れられたのは残念です。それを再考する方法はありますか(このような解決策を探している他のすべての人にとって、この解決策を指摘することです)? – rekaszeru