XMLファイルの特定のタグ内で重複行を削除する方法

XMLファイルの特定のタグ内で重複行を削除する方法

次のようなファイルがあるとしましょう。

...
<tag2>
    a
    b
    c
    a
</tag2>
...
<tag2>
    x
    y
    y
    z
    x    
</tag2>

<tag2>次の例に示すように、各行から重複行を削除するにはどうすればよいですか?

...
<tag2>
    a
    b
    c
</tag2>
...
<tag2>
    x
    y   
    z
</tag2>

ディレクトリとサブディレクトリのすべてのファイルを検索し、これらの重複エントリを削除したいと思います。

ベストアンサー1

XSLT 2.0ソリューション:

<xsl:template match="tag2">
  <tag2>
    <xsl:value-of select="distinct-values(tokenize(., '&#xa;'))"/>
  </tag2>
</xsl:template>

おすすめ記事