Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    21

    [XSL]Problema con i tag HTML

    Ho creato un file XSL che mi legge i dati da un XML strutturato così:

    codice:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="membri.xsl"?>
    
    <membri_gruppo>
    	<classe nome="A">
    		<pg>nome1</pg>
    		<pg>nome2</pg>
    		<pg>nome3</pg>
    	</classe>
    	<classe nome="B">
    		<pg>nome1</pg>
    		<pg>nome2</pg>
    		<pg>nome3</pg>
    	</classe>
    	<classe nome="C">
    		<pg>nome1</pg>
    		<pg>nome2</pg>
    		<pg>nome3</pg>
    	</classe>
    </membri_gruppo>
    nel file XSL utilizzo questo codice per creare l'HTML che deve venire stampato:
    codice:
       <xsl:template match="pg">
    		<![CDATA[<![CDATA[.png" width="180" height="50" /> ]]>
       </xsl:template>
    Però quando vado a vedere la pagina (ad esempio per la classe A) sullo schermo invece delle immagini mi stampa le righe di codice così:
    codice:
      
    Guardando il codice HTML generato scopro che la righe in realtà sono stampate così:
    codice:
    &lt;img src="http://misiosito.it/img_nome1.png" width="180" height="50" /&gt;
    Come faccio a fargli stampare delle normali < oppure > ?!?

  2. #2
    provato così (non l'ho testato)?

    codice:
    <xsl:template match="pg">
              <xsl:element name="img">
               <xsl:attribute name="width">180</xsl:attribute>
               <xsl:attribute name="height">50</xsl:attribute>
               <xsl:attribute name="src"><xsl:value-of select='concat("http://misiosito.it/img_",text())'/></xsl:attribute>
              </xsl:element>
     </xsl:template>
    saluti

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    21
    Grazie, cmq avevi dimenticato l'estensione finale del file

    Gli ho fatto una piccola modifica e ora funziona

    codice:
    <xsl:template match="pg">
              <xsl:element name="img">
               <xsl:attribute name="width">180</xsl:attribute>
               <xsl:attribute name="height">50</xsl:attribute>
               <xsl:attribute name="src"><xsl:value-of select='concat("http://misiosito.it/img_",text(),".png")'/></xsl:attribute>
              </xsl:element>
     </xsl:template>

    P.S.: Se volessi fare che va a capo ogni 2 immagini come dovrei fare?


    EDIT: Meglio se apro una nuova discussione forse...

  4. #4
    prova con una roba del genere:

    codice:
    <xsl:if test="position() mod 2">
    </xsl:if>
    saluti

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    21
    Ehm... :master:

    Dove dovrei inserirlo questo pezzo di codice?

    Ho cominciato solo ieri a "studiare" l'xml, non si nota è?

  6. #6
    Originariamente inviato da exabyte
    Ehm... :master:

    Dove dovrei inserirlo questo pezzo di codice?

    Ho cominciato solo ieri a "studiare" l'xml, non si nota è? :D
    no, te la cavi bene. :)
    prova a metterlo dopo </xsl:element>.

    saluti

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    21
    Originariamente inviato da moaiamorfo
    no, te la cavi bene.
    prova a metterlo dopo </xsl:element>.

    saluti
    Con quel codice lascia 1 immagine e poi va a capo ogni 2 :\
    Cmq ho trovato come sistemarlo in modo che ne lasci 2 anche all'inizio^^

    Se magari serve a qualcuno eccolo qua
    codice:
    <xsl:if test="position() mod 2 = 0">
    </xsl:if>
    Grazie moaiamorfo per i tuoi consigli

  8. #8
    yep, sono un po' arrugginito, ma contento di esserti stato utile. :)

    saluti

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.