questo è il mio problema:
devo fare un match su tutti i nodi (usando <xsl... match="//*name()='*'">)
e controllare se esiste un'attributo;
se questo attributo esiste, il template si comporta in un modo, altrimenti "butta" il contenuto del nodo nella pagina (usando <xsl:apply-templates /> ) e aspetta di trovare un altro template che "matcha" lo stesso nodo ma lo formatta in maniera diversa.
esempio:
....
....
<xsl:template match="//*[name()='*']">
<xsl:choose>
<xsl:when test="@stato!=''">
<span style="color:#f00;" title="{@stato}"><xsl:apply-templates select="//*[name()='local-name()']"/>
</span>
</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template match="//*[name()='descrizione']">
<xsl:apply-templates />
</p>
</xsl:template>
....
mettiamo che l'xsl arriva ad analizzare il nodo descrizione; se esiste l'attributo stato allora io voglio che faccia quello che deve fare secondo il choose e poi vada a cercare il template per descrizione e lo applichi; e, secondo me, dovrebbe funzionare, invece ignora il secondo template (quello che fa il match su descrizione)
spero di non essere stato troppo confusionario
ringrazio già chiunque mi dia una mano
Grazie
SpinaCaper![]()

Rispondi quotando
