Sicuramente di questi tempi io sono rinco^2... (non ringo) ma se ho ben capito tu vuoi costruire un link... se la montagna non va a maometto, maometto va alla montagna...

inverti le posizioni nel file xml in questo modo:

codice:
<?xml version="1.0"  ?>
    <recordset>
    <menu name="newsletter">
    <link>
    <url>#</url>
    <nome>Link newsletter1</nome>
    </link>
    <link>
    <url>#</url>
    <nome>Link newsletter2</nome>
    </link>
    <link>
    <url>#</url>
    <nome>Link newsletter3</nome>
    </link>
    </menu>
....
....
....
    </recordset>
Poi nella funzione:
codice:
function OnData($parser, $data){

switch ($_SESSION['menu']['currentTag']){

case "url":
echo "<td><a href=\"$data\">";
break;

case "nome":
echo "$data</a></td>";
break;

}
}
ripeto che il caldo e la guinness fanno primati (nel senso delle scimmie) ma mi pare che possa risolvere il tuo problema.