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

    Un paio di errori (XML/XSLT)

    Ragazzi voi che siete bravi in questa materia potete dirmi se ho fatto qualche errore o è semplicemte il browser che sbaglia (gli ciedo di scivermi solo i nome e lui invece mi scrive tutti dei figli contatto):

    File xml:
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE contatti SYSTEM "doc.dtd">
    <?xml-stylesheet type="text/xsl" href="style.xsl"?>
    <contatti xmlns="http://www.behindschool.too.it">
    	<contatto id="PP01">
    		<nome>Paolo</nome>
    		<cognome>Pialorsi</cognome>
    		<indirizzo>
    			<email>paolo@devleap.it</email>
    		</indirizzo>
    	</contatto>
    	<contatto id="SC01">
    		<nome>Silvano</nome>
    		<cognome>Coriani</cognome>
    		<indirizzo>
    			<civico>S. Felice, Segrate</civico>
    		</indirizzo>
    	</contatto>
    	<contatto id="MR01">
    		<nome>Marco</nome>
    		<cognome>Russo</cognome>
    		<indirizzo>
    			<email>marco@devleap.it</email>
    		</indirizzo>
    	</contatto>
    </contatti>
    file dtd:
    codice:
    <!ELEMENT contatti (contatto+)>
    <!ELEMENT contatto (nome,cognome,indirizzo)>
    <!ELEMENT indirizzo (email|civico)>
    <!ELEMENT nome (#PCDATA)>
    <!ELEMENT cognome (#PCDATA)>
    <!ELEMENT email (#PCDATA)>
    <!ELEMENT civico (#PCDATA)>
    ora il punto critico... file xsl
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    
    <xsl:template match="/contatti">
    
    	<html>
    		<head>
    			<title>Pagina xml/xslt</title>
    		</head>
    		<body>
    			<xsl:for-each select="/contatti/contatto">
    				<xsl:value-of select="nome" />
    			</xsl:for-each>
    
    
    
    			
    		</body>
    	</html>
    
    </xsl:template>
    
    
    
    </xsl:stylesheet>
    Grazie a tutti!

  2. #2
    prova mettendo <xsl:for-each select="contatto"> al posto di <xsl:for-each select="/contatti/contatto">.

    ciao

  3. #3

    Grazie...ho risolto....

    Grazie mille var....ma ho risolto...posto il codice nuovo senza errore se a qualcuno può essere d'aiuto....

    [code]
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:io="http://www.behindschool.too.it" exclude-result-prefixes="io">

    <xslutput method="html" version="1.0" encoding="utf-8" standalone="no" omit-xml-declaration="no" doctype-public="-//W3c//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />

    <xsl:template match="/">

    <html>
    <head>
    <title>Pagina xml/xslt</title>
    </head>
    <body>
    <xsl:for-each select="/io:contatti/io:contatto">
    <xsl:value-of select="io:nome" />
    </xsl:for-each>
    <ul>
    <xsl:apply-templates select="/io:contatti/io:contatto" />
    [/list]

    </body>
    </html>

    </xsl:template>


    <xsl:template match="io:contatto">
    [*]<xsl:value-of select="io:nome" />
    </xsl:template>



    </xsl:stylesheet>
    [/code>

    il problema era il namespace....
    Ciao, ciao e ancora grazie

  4. #4
    meglio! ;)

    buon lavoro e alla prossima.

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.