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.