tutto il codice è corretto:

tranne qui:

maxn = link.length-1;

siccome link è presente in channel quindi nel nodo 3
maxn si ferma al nodo 3 ti conviente sostituire <link> presente in <item> con <alink>

prova così