Ho bisogno di un'aiuto per capire come risolvere questa piccola rognetta visto che sono un pippa mostruosa con XML
sto cercando di creare un menu tipo questo però dinamico grazie ad XML e template premesso che non voglio usare XSL e tantomeno voglio rinunciare alla comodità del template ho pensato di leggere il file XML così

<?php
error_reporting(E_ALL);

#definisce il file XML
$file = "../data.xml";

$currentTag = "";
$attributes = "";
$countmenu = "";
$_PAGE['menu'] = "";

#Debug
$menu = Array('titolo'=>'','link'=>'',);
$page = "";


function StartElement($parser, $tagname, $attributes){
$_SESSION['menu']['currentTag'] = $tagname;
$_SESSION['menu']['currentAttribs'] = $attributes;

switch($tagname){
case "recordset":
break;

case "link":
break;

case "menu":
while(list($key,$value) = each($attributes)){
## Visualizza il nome del menu
echo "<tr><td>$key:$value</td>\n";
}

break;
}
}

function EndElement($parser, $tagname){

$_SESSION['menu']['currentTag'] = $tagname;

switch($tagname){

case "recordeset":
break;

}
}

function OnData($parser, $data){
switch ($_SESSION['menu']['currentTag']){

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

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

}
}

$xml_parser = xml_parser_create(); #Inizializzazione nuovo parser XML
xml_parser_set_option($xml_parser,XML_OPTION_CASE_ FOLDING,false);
# callback function
xml_set_element_handler($xml_parser, "StartElement", "EndElement");
xml_set_character_data_handler($xml_parser, "OnData");

# open XML file
if (!($fp = fopen($file,"r"))) die("Impossibile aprire il tracciato XML del file $file ");

#Lettura file XML
while ($data = fread($fp,4096)){
if (!xml_parse($xml_parser,$data, feof($fp)));
}

xml_parser_free($xml_parser);
?>

l'XML è

<?xml version="1.0" ?>
<recordset>
<menu name="newsletter">
<link>
<nome>Link newsletter1</nome>
<url>#</url>
</link>
<link>
<nome>Link newsletter2</nome>
<url>#</url>
</link>
<link>
<nome>Link newsletter3</nome>
<url>#</url>
</link>
</menu>
<menu name="news">
<link>
<nome>Link news1</nome>
<url>#</url>
</link>
<link>
<nome>Link news2</nome>
<url>#</url>
</link>
</menu>
</recordset>
il risultato dello script con le echo è questo

name:newsletter Link newsletter1 # Link newsletter2 # Link newsletter3 #
ok..fin qui tutto bene

1° Quesito
solo che io vorrei in elaborazione dello script unire i nodi <nome> e <link> ed avere un output del tipo

ho provato in tutte le maniere con sessioni, variabili globali a farlo solo che non riesco a aggirare il problema

avete quelche coniglio ??