Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Aiuto con xsl

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786

    Aiuto con xsl

    Salve,

    ho questo xml:

    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="Viaggi_Query.xsl"?>
    <Catalogo>
    	<Categorie>
    	<Dati>Personal_Computer</Dati>
    		<Categoria>Personal Computer</Categoria>
    	        <Categoria>Notebook</Categoria>
    		<Categoria>Palmari</Categoria>
    		<Categoria>Server</Categoria>
    		<Categoria>Workstation</Categoria>
    	</Categorie>
    	
    	<Categorie>
    	<Dati>Hardware</Dati>
    		<Categoria>Acquisizione Immagini</Categoria>
    	        <Categoria>Musica</Categoria>
    		<Categoria>Monitor/videoproiettori</Categoria>
    		<Categoria>Schede pcmcia</Categoria>
    		<Categoria>Reti</Categoria>
    		<Categoria>Stampanti</Categoria>
    		<Categoria>Mouse</Categoria>
    		<Categoria>Tastiere</Categoria>
    		<Categoria>Joystick</Categoria>
    	</Categorie>
    	
    	<Categorie>
    	<Dati>Software</Dati>
    		<Categoria>Giochi</Categoria>
    	        <Categoria>Educativi</Categoria>
    		<Categoria>Software per console</Categoria>
    		<Categoria>Sistemi operativi</Categoria>
    		<Categoria>Gestionali</Categoria>
    		<Categoria>Cad/Cam</Categoria>
    		<Categoria>Antivirus</Categoria>
    	</Categorie>
    	
    	<Categorie>
    	<Dati>Accessori</Dati>
    		<Categoria>Tappetini</Categoria>
    	        <Categoria>Cavi/adattatori</Categoria>
    		<Categoria>Deviatori</Categoria>
    		<Categoria>Gruppi di continuità</Categoria>
    	</Categorie>
    
    </Catalogo>
    è questo xsl:

    codice:
    <?xml version='1.0'?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
    <xsl:template match="/">
      <xsl:apply-templates />
    </xsl:template>
    
    <xsl:template match="Catalogo">
      <xsl:apply-templates />
    </xsl:template>
    
    <xsl:template match="Categorie[Dati='Personal_Computer']">
    <table width="200"  border="1" cellpadding="3" cellspacing="0" bordercolor="#CCCCCC" bgcolor="#EFEFEF">
      <tr>
        <td>
    	<table width="200" border="0" cellspacing="0" cellpadding="0">
    
      <tr>
       <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><xsl:value-of select="Categoria"/></font></td>
      </tr>
    
        </table>
    	</td>
      </tr>
    </table>
    </xsl:template>
    
    </xsl:stylesheet>
    il problema sta che io voglio tutti i nodi Categoria formattati non solo il primo,

    che modifiche servono al file xsl ?

    Grazie !
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786
    mi spiego meglio, ad esempio io ho scelto solo i Personal Computer:

    così:

    codice:
    <xsl:template match="Categorie[Dati='Personal_Computer']"
    e voglio visualizzare tutto il contenuto di questo nodo, che comprende 5 risultati cioè:

    codice:
    		<Categoria>Personal Computer</Categoria>
    	        <Categoria>Notebook</Categoria>
    		<Categoria>Palmari</Categoria>
    		<Categoria>Server</Categoria>
    		<Categoria>Workstation</Categoria>
    ma se io voglio selezionare ad esempio Hardware i risultati da visualizzare sono in questo caso 9, e così via.

    il problema sta che mi serve una funzione xsl che legge tutto il nodo selezionato e mi visualizza tutti i risultati del tag "Categoria"

    in breve mi serve una funzione tipo questa, che è di Asp:

    codice:
    Do Until Rs.EOF
    Response.Write "
    
    "
    Response.Write "ID: " & Rs("ID") & " - "
    Response.Write "NOME: " & Rs("Nome") & " - "
    Response.Write "EMAIL: " & Rs("Email")
    Response.Write "</p>"
    
    ' ci spostiamo al prossimo record
    Rs.MoveNext
    
    ' ripetiamo il ciclo
    Loop
    End If
    mi potete per favore passare un piccolo esempio, che fa al caso mio, ma che allo stesso tempo sia facile da personalizzare ?

    Grazie !
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    106
    Devi usare la funzione xsl:for-each in modo da ciclare tutti i nodi sotto il tag <Categorie> che ti interessa.

    Cezar

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786
    mi puoi per favore spiegare meglio cosa fare, o magari passarmi un piccolo codice di esempio ?

    Grazie
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    106
    Prima di usare for-each o modificare il tuo codice dimmi se il tutto gira lato server o è solamente una prova lato client. Se lato server, cosa usi?

    Cezar

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786
    vorrei farlo interagire con Asp:

    così
    codice:
    <%
     
     Dim objXML
     Dim objXSL
     
    
     set objXML = Server.CreateObject("Microsoft.XMLDOM")
     objXML.async = false 
     set objXSL = Server.CreateObject("Microsoft.XMLDOM")
     objXSL.async = false
     
     
     objXML.load (Server.MapPath("nomepaginaxml.xml"))
     
    // Append nav.xml to the XML document
       //  set navRoot = navXml.documentElement
        // set docRoot = objXml.documentElement
    
    //     navElement = navRoot.childNodes.item(0)
      //   docRoot.appendChild(navRoot)
     
     objXSL.load(Server.MapPath("nomepaginaxsl.xsl")) 
     Response.Write(objXML.transformNode(objXSL)
       %>
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    106
    Allora dovresti riuscire a passare un parametro al fil xslt e al posto
    [Dati='Personal_Computer']
    dovresti avere [Dati=$parametro]

    ma per passare un parametro ad un file xslt con ASP non sò prorpio come aiutarti!

    Cezar

  8. #8

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786
    pultroppo non funziona l'esempio, mi da errore sul file Asp

    vorreri quindi provare qualcosa lato client, mi puoi postare un codice esempio delle modifiche che servono x selezionare di tutti i nodi ?

    Grazie !
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786
    up
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

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.