Il problema non è il nesting, che è corretto, il problema è la prima parte:
codice:
<topic link="#">this is a topic
<subTopic link="#">this is a sub topic</subTopic>
<subTopic link="#">this is a sub topic</subTopic>
<subTopic link="#">this is a sub topic</subTopic>
</topic>
è formalmente corretta, la seconda no:
codice:
<topic link="#">this is a topic</topic>
<subTopic link="#">this is a sub topic</subTopic>
<subTopic link="#">this is a sub topic</subTopic>
<subTopic link="#">this is a sub topic</subTopic>
<topic link="#">this is a topic</topic>
<subTopic link="#">this is a sub topic</subTopic>
<subTopic link="#">this is a sub topic</subTopic>
<subTopic link="#">this is a sub topic</subTopic>
<topic link="#">this is a topic</topic>
<subTopic link="#">this is a sub topic</subTopic>
<subTopic link="#">this is a sub topic</subTopic>
<subTopic link="#">this is a sub topic</subTopic>
<topic link="#">
<subTopic link="#">this is a sub topic</subTopic>
<subTopic link="#">this is a sub topic</subTopic>
<subTopic link="#">this is a sub topic</subTopic>
</topic>
<topic link="#">this is a topic</topic>
<subTopic link="#">this is a sub topic</subTopic>
<subTopic link="#">this is a sub topic</subTopic>
<subTopic link="#">this is a sub topic</subTopic>
Il problema è che non capisco cosa fai di questo xml, per questo ti chiedevo di postare del codice, anche minimo.
Provo a farti un esempio usando html, supponi che ho una pagina con una lista:
codice:
<ul id='miaLista'>[*]Elemento n.1 [*]Elemento n.2 [*]Elemento n.3 [*]Elemento n.4 [*]Elemento n.5 [*]Elemento n.6 [*]Elemento n.7 [*]Elemento n.8 [/list]
Cosa farei nel document ready?
Innanzitutto aggiungerei una classe al primo elemento (per identificarlo in qualche modo visto che non abbiamo nulla, almeno nel tuo esempio:
codice:
$('#miaLista li').eq(9).addClass('selezionato');
A questo punto aggiungerei (diciamo prima del ul) i bottoni opportuni:
A questo punto sui bottoni creati metto l'evento click:
[/code]
$('.bNext').click(function() {
$('.selezionato').removeClass('selezionato').next( ).addClass('selezionato');
return false;
});
$('.bPrev').click(function() {
$('.selezionato').removeClass('selezionato').prev( ).addClass('selezionato');
return false;
});
[code]
In pratica prendo l'elemento con classe selezionato, gliela tolgo, passo al successivo (o precedente) a cui aggiungo la classe selezionato).
Chiaramente a queto devi aggiungere qualche controllo se esistono o meno (se sei al primo e fai precedente o se sei all'ultimo e fai successivo). Ma l'idea è questa.