Me le ricordo ancora un pò le trasformazioni xsl... 
prova così (apri il file xml con firefox)
XML
codice:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="elenco.xsl" ?>
<rubrica>
<persona>
<nome>Mario</nome>
<cognome>Rossi</cognome>
<indirizzo>
<via>via bianchi 1</via>
<cap>00000</cap>
<citta>Roma</citta>
</indirizzo>
<telefono>
<telefono_fisso>123456</telefono_fisso>
<telefono_cellulare>987656412</telefono_cellulare>
</telefono>
</persona>
<persona>
<nome>Antonio</nome>
<cognome>Visentin</cognome>
<indirizzo>
<via>via Sile 1</via>
<cap>31022</cap>
<citta>Preganziol</citta>
</indirizzo>
<telefono>
<telefono_fisso>3465354</telefono_fisso>
<telefono_cellulare>34626534563</telefono_cellulare>
</telefono>
</persona>
</rubrica>
XSL:
codice:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head>
<title>Rubrica in versione HTML</title>
</head>
<body>
<h1>Rubrica</h1>
<xsl:for-each select="rubrica/persona">
<h2> <xsl:value-of select="cognome"/>  <xsl:value-of select="nome"/> </h2>
<ul>[*]Via: <xsl:value-of select="indirizzo/via"/>[*]CAP: <xsl:value-of select="indirizzo/cap"/>[*]Citta': <xsl:value-of select="indirizzo/citta"/>[*]Telefono (fisso): <xsl:value-of select="telefono/telefono_fisso"/>[*]Telefono (cellulare): <xsl:value-of select="telefono/telefono_cellulare"/>[/list]
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Ciao
-Fab-