Visualizzazione dei risultati da 1 a 3 su 3

Discussione: xsl:if con parametri

  1. #1

    xsl:if con parametri

    Ho un bel problema:
    vorrei fare in modo di parametrizzare in questo modo l'if:
    <xsl:if test="$param"> dove $param è una istruzione condizionale.
    Non capisco per quale motivo se scrivo cosi funziona:
    <xsl:variable name="param" select="condizione"/>
    <xsl:if test="$param">

    e invece cosi non c'è verso di farlo funzionare:
    <xsl:variable name="param">condizione</xsl:variable>
    <xsl:if test="$param">

    Ho provato in tutti i modi, cambiando la logica, usanto call-template con parametri ma niente.
    Il problema è che la condizione non è statica, ma viene composta con una serie di cicli condizionali. Quindi non posso in nessun modo racchiuderla in select="condizione" neppure se prima la assegno a un altro parametro (select="$condizione").

    Aiuto!

  2. #2
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    da me funzionano le variabili nelle condizioni, credo che il nome dato alla variabile param non si possa usare, prova con parametro

  3. #3
    Originariamente inviato da Polley
    da me funzionano le variabili nelle condizioni, credo che il nome dato alla variabile param non si possa usare, prova con parametro
    A parte "param" che potrebbe non funzionare (ma l'ho inventato) ho capito qual è il problema e l'ho risolto:
    la differenza è che se scrivo
    <xsl:variable name="p">10 = 10</xsl:variable> $p vale esattamente 10 = 10
    invece se scrivo
    <xsl:variable name="p" select="10 = 10"</xsl:variable> $p vale true.
    Quindi sono riuscito a risolvere la cosa e ora ho un piccolo motore di ricerca tutto in XSL!
    PS. Esiste anche la funzione boolean() ma mi sembra che faccia la stessa cosa...

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.