Zunächst wird eine Map (Parameter KapitelSeitenMap) mit allen Seiten eines Kapitels aufgebaut (Keys=Kapitel, Values=Seiten).
Ziel des Lösungsschrittes:
Kapitel-Seiten-Map | |
---|---|
Key | Value |
1 | <<SeiteA>>, <<SeiteC>>, <<SeiteF>> |
2 | <<SeiteB>>,<<SeiteE>> |
3 | <<SeiteD>> |
$KapitelSeitenMap=mroot.rmos('ECAD.ChapterElement').intoInject(seite,map|
if not map.containsKey(seite.$Kapitel)
then map.add(Pair{seite.$Kapitel,List{ seite }})
else map.add(Pair{seite.$Kapitel,map.value(seite.$Kapitel).append(seite)}) endif,Map{})