Gerne übersehen wird die Möglichkeit eines 2. Parameters in allen Cumulative Functoiden (Standardwert = 0
). Dieser gibt an, von welcher Ebene aus die zu kumulierenden Elemente “angeschaut” werden.
Folgendes XML-Dokuement angenommen.
|
|
Will man alle <value>
-Werte zusammenzählen, so reicht hier der erste Parameter mit <value>
als Eingang für ein Cumulative Sum - Functoid. Zusammengezählt wird anhand der Abfrage /s0:root/nodes/sub/value
.
Ist dageben eine Zahl > 0 angegeben, so wird entsprechend viele Ebenen in der Hierarchie von der aktuellen Node nach oben gesprungen und diese Node als neuer “Ursprung” für die Abfrage verwendet. In diesem Fall reicht also eine 1 aus. Die Abfrage wäre hiermit value, wobei die aktuelle Node <sub>
ist.
Alle Möglichkeiten sind in folgender Tabelle aufgelistet:
2. Parameter | Aktuelle Node | Abfrage |
---|---|---|
0 | /so:root/nodes/sub/value | |
1 | root/nodes/sub | value |
2 | root/nodes | sub/value |
3 | root | nodes/sub/value |
> 3 | /so:root/nodes/sub/value |
Zahlen, die größer oder gleich der Anzahl der Ebenen sind, sind damit wieder gleichbedeutend mit 0 bzw. keiner Angabe.
Fazit
Aus Performancegründen - und damit man auch wirklich immer das bekommt, was man will (es soll ja auch außerhalb der Testdateien funktionieren) - sollte man immer die kleinstmögliche Zahl angeben, die das gewünschte leistet.