Salve gente, mi sto incaponendo (lentamente) con xml + xsl e anche se per adesso più che altro mi fa perdere tempo anzichè risparmiarlo sono convinto sia una strada da percorrere.

allora ho un problemino e qualche domanda (in fondo alla pagina)

################################################## #####
- problemino:

ho un xml con dei record che devo restituire in xhtml. al file xml collego un file xsl fatto apposta per html e un css.

scrivo un esempio per semplificare:

(file xml)
....
<top>
<link href="link.php">testo</link>
<link href="link.php">testo</link>
</top>
....

i tag <link> sono un pò in tutto il documento XML, non solo nel nodo <top> d'esempio.
dovendo ordinare i link di <top> in una lista ho pensato di fare così:

(file xsl)
....
<ul>
<xsl:for-each select="giraz_xml/top">[*]
<xsl:apply-templates select="top_logos"/>

</xsl:for-each>[/list]
....


il template che si attiva è qualcosa tipo:

<xsl:template match="link">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="@href"/>
</xsl:attribute>
</xsl:element>
</xsl:template>

prevedendo che nel link possa avere ad esempio un immagine richiamo gli altri template.

il problema è questo:
mi aspetto di avere in uscita un codice del tipo

<ul>[*]link[*]link[/list]

ma con quel ciclo for-each.. invece mi sputa fuori qualcosa come

<ul>[*]
link
link
[/list]

e cioè senza la ripetizione tag[*].
non vorrei inserire i tag[*] nel template perchè mi sembra più giusto che sia indipendente dai tag di uscita.
mm.. che mi dite?



################################################## #####
- domande (ricchi premi per chi risponderà per primo

1-
i motori di ricerca con il sistema xml+xsl (presupponendo che la trasformazione sia fatta dal browser) vanno a cercare i meta tags nell'head del xsl?
o meglio, in generale tutti i tags che mettevo nell'head dell'html li metto tranquillamente nel head del xsl o no??

2-
ho un db mysql e php. l'utente visita il sito
lo mando alla pagina index.php ..giusto? (si/no)
che mi produrrà un codice xml ..giusto? (si/no)
quindi a ogni utente gli spedisco in pratica un testo formattato e dichiarato xml?
(non voglio fare il parsing da php)
poi farò uno o più come vari template del sito? o ne basta uno che prende in considerazione tutte le eventualità? o cosa?

..in pratica, cosa non ho capito?
insomma qual è la procedura migliore per gestirsi fra db,xml,xsl e css?!?!?!?!?!?!?

3-
con xsl ho problemi a visualizzare nei diversi browser i caratteri come la C del copyright ed altri caratteri che solitamente mi bastava scivere come &agrave; o &copy; in html.
ho letto che una soluzione è quella di dichiare delle ENTITY nel DOCTYPE e usare il formato ASCII del tipo &#260 ma non funziona del tutto.
voi come fate?!



scusatemi per il post lungo, spero possiate aiutarmi e che sia utile anche ad altri spaesati come me.

grazie
Riccardo