Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232

    Trasformazione XML/XSL in HTML con tag ripetuti

    Salve ho un problema...ho questo contenuto in un file xml...
    *******
    <Element>
    <LabelName>Version</LabelName>
    <Type>Select</Type>
    <RenderingType>select</RenderingType>
    <ReferenceParam>version</ReferenceParam>
    <DefValue>1.0</DefValue>
    <DefValue>2.0</DefValue>
    </Element>
    *******
    Voglio trasformare il tutto in un html che non è altro che un modulo select con due valori di option...il codice sarebbe questo:
    codice:
    <td>VERSION</td>
    <td>
    	<select name="version">
    		<option value="1.0">1.0</option>
    		<option value="2.0">2.0</option>
    	</select>
    </td>
    Il problema è che non riesco a comporre il tutto nell'XSL...io faccio così
    *********
    <td><xsl:value-of select="LabelName"/></td>
    <td>
    <select name="{ReferenceParam}">
    <option value="{DefValue}"><xsl:value-of select="DefValue"/>
    </option>
    </select>
    </td>
    ********
    ma così (correttamente) viene preso solo il primo valore del tag <DefValue>...provando però con un
    ******
    <xsl:for-each select="DefValue">
    ******
    non và lo stesso...come fare??? Spero sia chiaro il problema

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232
    Up! Aiuto!

  3. #3
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    ci vuole il ciclo for-each

    <xsl:for-each select="DefValue">
    <option value="{DefValue}"><xsl:value-of select="DefValue"/></option>
    </xsl:for-each>

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232
    già provato (l'avevo pure specificato nel post)...in pratica...vengono visti i valori multipli per DefValue...infatti la select contiene due option...ma nulli sia come valore che etichetta...ho usato lo stesso codice postato da Polley...ma non và...è come se, dopo il <xsl:for-each select="DefValue">, non si riescono più a leggere i valori...perchè???

  5. #5
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    ma il ciclo ti crea le due <option> ??

    il for-each và messo dentro il template che formatta Element

    prova cosi:


    <xsl:template match="Element">
    <td><xsl:value-of select="LabelName"/></td>
    <td>
    <select name="{ReferenceParam}">

    <xsl:for-each select="DefValue">
    <option value="{.}"><xsl:value-of select="."/></option>
    </xsl:for-each>

    </select>
    </td>
    </xsl:template>


    ricordati che è case sensitive se sbagli una lettera maiuscola non cicla e non formatta niente

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232
    Perfetto! Và...c'ero quasi ma mi serviva il tuo aiuto. Grazie ancora!

  7. #7
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    Originariamente inviato da fraper
    Grazie ancora!


  8. #8
    Azz.. forse ho postato un post dove avevo lo stesso problema alla radice: creare il file html.

    Non posso provare il codice perchè non ho che pochi secondi per restare connesso ma, in sostanza, oltre a creare l'html crei proprio il file HTML?

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.