PDA

View Full Version : [XML] - novizio cerca aiuto


ECS-software
07-07-2008, 19:12
CIao a tutti.
Mi sto avvicinando all'XML e trovo delle difficolta.
Innanzi tutto non è cosi semplice come si sostiene: per fare una pagina internet ci vogliono 4 linguaggi insieme, lasciamoperdere per fare un documento di interfaccia fra applicazioni....
Ma restiamo nel semplice e parliamo di internet... XML + XSL
Come browser uso Firefox 3.0 e per la compitazione ho usato
dreamweaver mx 2004

Ho redatto un semplicissimo file XML e un altrettanto semplice file XSL che qui unisco per analisi:

---------------------------------------------------------------------------
file xsl
---------------------------------------------------------------------------

<!-- stile.xsl -->
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="studenti">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="studente">
<xsl:value-of select="matricola"/>
<xsl:value-of select="nome"/>
<xsl:value-of select="cognome"/>
<xsl:value-of select="data_nascita"/>
<xsl:value-of select="citta"/>
<xsl:value-of select="cap"/>
<xsl:value-of select="provincia"/>
<br/>
</xsl:template>
</xsl:stylesheet>

---------------------------------------------------------------------------
file xml
---------------------------------------------------------------------------

<!--pagina1.xml -->
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="stile.xsl"?>
<studenti>
<studente>
<matricola>123456</matricola>
<nome>Carlo</nome>
<cognome>Pagliarini</cognome>
<data_nascita>23/05/1965</data_nascita>
<citta>Torino</citta>
<cap>10100</cap>
<provincia>TO</provincia>
</studente>
<studente>
<matricola>654321</matricola>
<nome>Giovanni</nome>
<cognome>Bianchi</cognome>
<data_nascita>12/07/1970</data_nascita>
<citta>Chivasso</citta>
<cap>10100</cap>
<provincia>TO</provincia>
</studente>
<studente>
<matricola>342516</matricola>
<nome>Antonio</nome>
<cognome>Verdemarino</cognome>
<data_nascita>15/03/1968</data_nascita>
<citta>Milano</citta>
<cap>20100</cap>
<provincia>MI</provincia>
</studente>
</studenti>


---------------------------------------------------------------------------
Errore provocato dal browser
---------------------------------------------------------------------------

Errore nel caricamento del foglio di stile: L'analisi del foglio di stile XSLT è fallita

semplicemente ...aiuto!

ECS-software
07-07-2008, 19:23
ho provato a togliere il collegamento al file xsl ed adesso l'errore che ottengo è il seguente....

Errore interpretazione XML: la dichiarazione XML o testuale non è all'inizio di un'entità
Indirizzo: file:///C:/Documents%20and%20Settings/Emanuele/Documenti/provaSitoXML/paginaprova.xml

Linea numero 2, colonna 1:

<?xml version="1.0"?>

Leo_SR
07-07-2008, 22:16
Prova a mettere i commenti DOPO la dichiarazione dell'xml
Così:
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- stile.xsl -->
e non:
<!-- stile.xsl -->
<?xml version="1.0" encoding="iso-8859-1"?>

Stessa cosa nel file XML :)

ECS-software
07-07-2008, 22:39
Prova a mettere i commenti DOPO la dichiarazione dell'xml
Così:
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- stile.xsl -->
e non:
<!-- stile.xsl -->
<?xml version="1.0" encoding="iso-8859-1"?>

Stessa cosa nel file XML :)

ho provato, difatti il primo errore me lo ha eliminato, ma mi persiste il secondo....
sembra che l'interprete non riesc a leggere il file XSLT.....

pertanto "lanalisi del foglio di stile è fallita" si ripresenta puntualmente e non riesco a capire perchè....nell'articolo che ho usato come spunto (i file sono esattamente uguali), la stesura del codice è la stessa....
IO odio i browser che non segnalano errori in modo esaustivo!!!!!

Leo_SR
08-07-2008, 00:07
C'è il namespace di XSL errato, dovrebbe essere così:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

ECS-software
08-07-2008, 06:40
grazie Leo,
pare proprio che fosse quello dato che adesso non mi segnala l'errore, ma visualizza il contenuto.
Per capire la differenza fra quello chemi dice l'esercizio e quello che mi hai postato tu?
W3C o hai altre fonti ?

grazie dell'aiuto
(anche se penso che ne avro bisogno, e tanto)

Leo_SR
08-07-2008, 13:42
Da questa pagina del W3C (http://www.w3.org/TR/xslt#xslt-namespace) si legge:
The XSLT namespace has the URI http://www.w3.org/1999/XSL/Transform.

NOTE:The 1999 in the URI indicates the year in which the URI was allocated by the W3C. It does not indicate the version of XSLT being used

Il namespace deve necessariamente essere quello quindi :)

ECS-software
08-07-2008, 16:53
Da questa pagina del W3C (http://www.w3.org/TR/xslt#xslt-namespace) si legge:


Il namespace deve necessariamente essere quello quindi :)
quindi mistico svarione di chi ha riportato l'esercizio, o testo troppo vecchio per far fede come verità (la rivista risale al 2001)

grazie comunque