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

    [xsl] variabili per menu xml

    Buongiorno,
    Mi sto avvicinando adesso al web2 visto che fino a poco fa ho semprre usato le tabelle...
    Adesso mi sto anche avvicinando in modo massiccio all'xhtml.
    Mi scontro subito con l'impossibilità di modificare le variabili xsl...
    Vi supplico, trovatemi il modo per bypassare questo problema.
    ecco l'inizio dell'xml con il primo oggetto:
    codice:
    <?xml version="1.0" encoding="iso-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="../xsl/menu.xsl"?>
    <dataroot xmlns:od="urn:schemas-microsoft-com:officedata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation="Table1.xsd" generated="2006-01-09T14:01:41">
    <prodotti>
    	<obj>
    		<tipo>digitale</tipo>
    		<descrizione>fotocamere compatte digitali</descrizione>
    		<link>http://www.fotoboni.com</link>
    		<alt>macchine fotografiche digitali compatte</alt>
    	</obj>
    ed ecco l'xsl:
    codice:
    <xsl:stylesheet version="1.0" 	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" indent="yes" encoding="UTF-8"/>
    <xsl:template match="/">
    <html>
    <head><title>prova</title></head>
    <body>
    <hr />
    <xsl:variable name="Tipo">0</xsl:variable>
    			
    	<xsl:for-each select="dataroot/prodotti/obj" >
    		<xsl:variable name="tipo"><xsl:value-of select="tipo"/></xsl:variable>
    		<xsl:if test="$Tipo!=$tipo">
    			<xsl:value-of select="tipo"/>
    
    			$Tipo=<xsl:value-of select="tipo"/>
    			<hr />
    		</xsl:if>
    		<xsl:value-of select="descrizione"/>
    
    	</xsl:for-each>
    
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>
    xsl è scritto come vorrei farlo, cioè, siccome si tratta di un menù diviso in categorie dovrebbe venir fuori come
    DIGITALE
    fotocamere....
    accessori...
    schede di memoria....
    OTTICA
    telescopi..
    binocoli....

    Cioè il tipo messo solo una volta per tutti quelli che ce l'hanno uguale.
    Poi vorrei riuscire a mettere come link sulla descrizione cioè che c'è nel campo link....


    Grazie anticipatamente

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    io non ho capito una mazza, e quello che stai facendo ad occhio non ha senso :master:

    spiega meglio, posta anche l'xml

  4. #4

    ok

    dunque: il mio obiettivo è fare un menù che prende il suo contenuto da xml

    non posto tutto l'xml perchè è veramente troppo lungo

    abbiamo:
    <obj>
    <tipo>digitale</tipo> // definizione del tipo

    <descrizione>fotocamere compatte digitali</descrizione>
    <link>http://www.fotoboni.com</link>
    <alt>macchine fotografiche digitali compatte</alt>
    </obj>

    tutti gli obj che hanno il tipo uguale dovranno essere messi uno sotto l'altro ma il tipo deve essere scritto una volta sola
    es:
    TIPO 1
    obj1_tipo1
    obj2_tipo1
    obj3_tipo1
    TIPO 2
    obj1_tipo2
    obj2_tipo2
    obj3_tipo2
    TIPO 3
    ....

    Il passo successivo è far sì che cliccando sui vari obj ci sia il link corrispondente.

    Spero questa volta di esere stato un po' più chiaro...

    Grazie ancora

  5. #5
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    secondo me hai un xml strutturato male e cosi diventa difficile trasformarlo

    il tuo dovrebbe essere cosi

    <obj>
    <tipo>digitale</tipo>
    etc.............
    </obj>
    <obj>
    <tipo>digitale</tipo>
    etc.............
    </obj>
    <obj>
    <tipo>reflex</tipo>
    etc.............
    </obj>


    mentre io avrei fatto cosi

    <objs tipo="digitale">
    <obj>
    etc...............
    </obj>
    <obj>
    etc...............
    </obj>
    </objs>
    <objs tipo="reflex">
    <obj>
    etc...............
    </obj>
    <obj>
    etc...............
    </obj>
    </objs>


    e cosi via.....................
    risparmiando acnhe sui tag allegerendo l'xml ed ipaginandolo come vuoi

    prova a fare un ciclo ragruppandoli per tipo

  6. #6

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.