2

入力 XML があります。

<?xml version="1.0" encoding="UTF-8"?>
<root>
   <FT>Paket</FT>
   <FT>Parti</FT>
   <FT>Paket</FT>
   <FT>Styche</FT>
   <FT>Styche</FT>
</root>

そして、出力を次のように表示したい-

Paket   2
Parti   1
Styche  2

その要素の値といいえをグループ化しています。繰り返される値の合計数を示しています。Paket のように値を示しており、XML で 2 回繰り返されています。

ロジックはどのように機能しますか?

4

1 に答える 1

2

XSLT 1.0 で Muenchian グループ化を使用すると、次のようになります。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text" indent="yes"/>
  <xsl:key name="k" match="FT" use="."/>

  <xsl:template match="/*">
    <xsl:apply-templates select="FT[generate-id() = generate-id(key('k', .))]"/>
  </xsl:template>

  <xsl:template match="FT">
    <xsl:value-of select="concat(., ' ', count(key('k', .)))"/>
    <xsl:text>&#xa;</xsl:text>
  </xsl:template>

</xsl:stylesheet>

出力:

Paket 2
Parti 1
Styche 2
于 2013-11-07T05:17:37.827 に答える