Přejít na obsah
Skip to main content

Agregace opakovatelných uzlů (aggregation)

Je-li výskyt některého uzlu s hodnotou možné opakovat, automaticky tak vzniká potřeba v některých případech tyto hodnoty např. sčítat či provádět jiné agregace. Nástroj aggregation umožňuje tyto funkce:

aggregation: sum | count | avg | min | max | list;
  • sum - součet číselných hodnot;

  • count - určení počtu uzlů;

  • avg - sestavení průměrné hodnoty z čísel;

  • min - určení nejnižší číselné hodnoty ze všech opakování;

  • max - určení nejvyšší číselné hodnoty ze všech opakování;

  • list - sestavení seznamu s možným oddělovačem ze všech opakování;

Agregace je prováděna ze všech položek vstupního uzlu, pokud není zadána podmínka pomocí input/output-on. Pokud dána je, pak se agregace provede jen z položek, které podmínce odpovídají. Spolu s možností vytvářet více mapovacích instrukcí pro jeden uzel a s možností nastavit jejich vzájemný vztah (viz. relation-of-maps), získáváme možnost skládat výsledné hodnoty do téměř libovolných skupin či částí.

Vlastní provedení agregace je realizováno pomocí základních funkcí dostupných v jazyku XPath, které jsou využívány v XSLT v 1.0. Tím je také dán jejich omezený výčet. Jedinou výjimkou je sestavování řetězcového seznamu agregační metodou list, kde je využíváno speciálně k tomu účelu generované šablony.

Specifické možnosti agregace list viz. separator-aggregation.