与えられたxmlコード
<z>
<f hit="1">
<g>hola1</g>
</f>
<f hit="2">
<g>hola2</g>
</f>
<f hit="3">
<g>hola1</g>
</f>
</z>
xml出力が欲しい
<z>
hola1
hola2
</z>
xslt1 を使用します。次に、簡単な解決策は、ミューンチャンのグループ化です
<xsl:key name="thisone" match="/z/f/g" use="." />
<z>
<xsl:for-each select="/z/f[generate-id(g)=generate-id(key('thisone',g)[1])]">
<xsl:value-of select="g" />
</xsl:for-each>
</z>
ただし、これを大規模なデータセットに適用すると、システム (firefox) は永遠に考え続けます。これは、非常に大きなデータセットが原因であると思います。ただし、「g」の異なる値の数は非常に少ないです。
私の質問は: Muenchian グループ化のノードの for-each ループを実行する方法はありますか? 何かのようなもの
<xsl:for-each select="nodes_of_key('thisone')">
それは永遠にかかるすべての「g」ノードのすべての値を比較することを避けるでしょうか?
ありがとう