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

    Passaggi di parametri fra modelli

    Ciao a tutti
    cerco di spiegare con un esempio quello che voglio ottenere.
    diciamo che io ho un file xml di questa struttura:
    <Autori nome='....' codiceA='...'>
    <ListaLibri codiceL='...01'>
    <ListaLibri codiceL='...02'>
    <ListaLibri codiceL='...03'>
    <ListaLibri codiceL='...04'>
    </Autori>
    <Autori....
    ....
    </Autori>
    <Libri codiceL='....' costo='...' titolo='...' .../>
    <Libri codiceL='....' costo='...' titolo='...' .../>
    <Libri codiceL='....' costo='...' titolo='...' .../>
    .......
    <Libri codiceL='....' costo='...' titolo='...' .../>


    Bene. Voglio ottenere tramite elaborazione foglio xslt una stampa che produca per ogni autore i libri (titolo e costo) che ha scritto ricavandolo dalla lista dei libri sottonodi del nodo Autori tramite una comparazione degli attributi codiceL di ListaLibri e di Libri

    Qualcuno sa come si fa?

    Io Ho intrapreso questa strada:

    <xsl:for-each select="ListaLibri ">
    <xsl:variable name="codiceLibro" select="@codiceL"/>
    <xsl:call-template name="Autori-libri">
    <xsl:with-param name="identificativoLibro" select="$codiceLibro"/>
    </xsl:call-template>
    </xsl:for-each>


    il cui template è il seguente:

    <xsl:template name="Autori-libri">
    <xslaram name="identificativoLibro"/>

    codice del libro:{$identificativoLibro}
    <xsl:if test="//Libri /@codiceL=$identificativoLibro">
    Titolo <xsl:value-of select="//Libri /@titolo"/>


    ma non funziona granchè, entra un numero giusto di volte ma scrive sempre e solo il primo??

    dove sbaglio?

    grazie

  2. #2
    Ho utilizzato i filtri e sebbene l'esempio riportato era più semplice di quanto dovevo fare effettivamente, devo dire che sono soddisfatta del risultato ottenuto grazie a parametri, chiamate a template e soprattutto grazie a filtri di cui vi riporto un'esempio:

    <xsl:for-each select="//Libri [@codiceL=current()/@codiceL]">
    dove current() è la posizione del nodo che sto analizzando per esempio il 2° nodo Autori

    Or Ora ho un'altro probelema: dovrei gestire una variabile come se fosse una variabile booleana di cui assegno io il valore, non lo trova nel file xml! qualche dritta?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.