Comment grouper et additionner des valeurs dans XSLT
Pour chaque "agence" nœud j'ai besoin de trouver la "stmt" les éléments qui ont le même key1, key2, clé3 des valeurs et de la sortie d'un "stmt" nœud avec la "comm" et "prem" valeurs additionnées. Pour tout "stmt" éléments à l'intérieur de cette "agence" qui ne correspondent à aucune autre "stmt" des éléments basés sur key1, key2 et key3 j'ai besoin de générer leur est. Ainsi, après la transformation de la première "agence" nœud de n'avoir que deux "stmt" nœuds (un résumé) et la seconde "l'agence" nœud serait passée comme est parce que les touches ne correspondent pas. XSLT 1.0 ou 2.0 solutions sont ok...si ma feuille de style est actuellement 1.0. Notez que l'agence pouvait avoir n'importe quel nombre de "stmt" les éléments qui ont des clés qui doivent être regroupés et synthétisés et tout nombre qui n'en ont pas.
<statement>
<agency>
<stmt>
<key1>1234</key1>
<key2>ABC</key2>
<key3>15.000</key3>
<comm>75.00</comm>
<prem>100.00</prem>
</stmt>
<stmt>
<key1>1234</key1>
<key2>ABC</key2>
<key3>15.000</key3>
<comm>25.00</comm>
<prem>200.00</prem>
</stmt>
<stmt>
<key1>1234</key1>
<key2>ABC</key2>
<key3>17.50</key3>
<comm>25.00</comm>
<prem>100.00</prem>
</stmt>
</agency>
<agency>
<stmt>
<key1>5678</key1>
<key2>DEF</key2>
<key3>15.000</key3>
<comm>10.00</comm>
<prem>20.00</prem>
</stmt>
<stmt>
<key1>5678</key1>
<key2>DEF</key2>
<key3>17.000</key3>
<comm>15.00</comm>
<prem>12.00</prem>
</stmt>
</agency>
source d'informationauteur johkar
Vous devez vous connecter pour publier un commentaire.
Et d'une transformation XSLT 2.0 solution:
En XSLT 1.0 utilisez le Muenchian méthode de groupement (avec un composé de la clé).
Cette transformation:
lorsqu'il est appliqué sur le document XML fourni par le, produit le résultat voulu: