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

    Visualizzazione file .xml

    Avendo 500 libri in libreria e volendone visualizzare ad esempio una ventina per pagina ordinati per nome, come si potrebbe modificare il codice che posto di seguito come esempio (naturalmente come esempio ho messo solo due libri)?
    file libreria.xml
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <?xml-stylesheet type="text/xsl" href="XSLBook.xsl"?>
     
    <libreria>
     
    <libro>
    <titolo>La verità del Ghiaccio</titolo>
    <scrittore>Dan Brown</scrittore>
    <prezzo>15.90</prezzo>
    </libro>
     
    <libro>
    <titolo>La cavia</titolo>
    <scrittore>Robin Cook</scrittore>
    <prezzo>7.90</prezzo>
    </libro>
     
    </libreria>
    file XSLBook.xsl
    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/>
     
     <xsl:template match="/">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    </head>
     <body>
     <h1>I miei Libri</h1>
     <table border="1" cellspacing="5" cellpadding="5" >
     <tr bgcolor="#9acd32">
     <th align="center">Titolo del libro</th>
     <th align="center">Autore</th>
     <th align="center">Prezzo</th>
     </tr>
     <xsl:for-each select="libreria/libro">
     <tr>
     <td><xsl:value-of select="titolo"/></td>
     <td><xsl:value-of select="scrittore"/></td>
     <td align="right"><xsl:value-of select="prezzo"/></td>
     </tr>
     </xsl:for-each>
     </table>
     </body>
     </html>
     
     </xsl:template>
    </xsl:stylesheet>
    Grazie
    Ciao a tutti

  2. #2
    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
    
    	<xsl:template match="/">
    		<html xmlns="http://www.w3.org/1999/xhtml">
    			<head>
    				<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    				<title>Documento senza titolo</title>
    			</head>
    			<body>
    				<h1>I miei Libri</h1>
    				<table border="1" cellspacing="5" cellpadding="5">
    					<tr bgcolor="#9acd32">
    						<th align="center">Titolo del libro</th>
    						<th align="center">Autore</th>
    						<th align="center">Prezzo</th>
    					</tr>
    					<xsl:for-each select="libreria/libro[position() &lt; 21]">
    						<xsl:sort select="titolo"/>
    						<tr>
    							<td>
    								<xsl:value-of select="titolo"/>
    							</td>
    							<td>
    								<xsl:value-of select="scrittore"/>
    							</td>
    							<td align="right">
    								<xsl:value-of select="prezzo"/>
    							</td>
    						</tr>
    					</xsl:for-each>
    				</table>
    			</body>
    		</html>
    
    	</xsl:template>
    </xsl:stylesheet>

  3. #3
    Originariamente inviato da Mattia Vio
    Grazie infinite del codice che funziona perfettamente.

    Considerato che tutti i 500 libri sono in un unico .xml e il tuo codice si ferma al ventesimo come da me richiesto, come faccio a visualizzare le altre schermate, dal 21 al 40, dal 41 al 80, ecc.?

    Non c'è altra soluzione che fare un xml. ogni 20 libri o esiste un'altro modo?

    Grazie ancora

  4. #4
    puoi fare un template ricorsivo che richiama se stesso ogni 20 libri
    dipende da cosa devi farci ! attento con la ricorsione

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.