Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    XSL problema di attributi

    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

  2. #2
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    il sistema che usi è un pò fuori luogo :rollo:

    comunque è normale, avendo già formattato tutti i nodi il secondo template non lo osserva
    direi che portresti fare cosi, sostituendo il primo template in

    <xsl:template match="//*[@stato!='']">
    <span style="color:#f00;" title="{@stato}"><xsl:apply-templates select="//*[name()='local-name()']"/>
    </span>
    </xsl:template>




    che fà la stessa cosa di prima

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.