|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
[XML + XSLT] Per favore schiaritemi le idee
Devo trasformare un file xml in una pagina xhtml. Vorrei scrivere tutto a parole ma non ci si capirebbe nulla, così metto direttamente l'esempio, che cmq è corto. Questo è il codice XML:
Codice:
<?xml version="1.0" encoding="UTF-8" ?> <?xml-stylesheet type="text/xsl" href="style.xsl"?> <documento> <header> Lasagna allo scoglio </header> </documento> Codice:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> <xsl:template match="/"> <html> <head> <title>Pagina di prova</title> <meta name="description" content="Pagina XHTML per la prova parziale di SID" /> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="./style.css" type="text/css" /> </head> <body style="background-color: #eee;"> <div id="content"> <xsl:apply-templates select="document/header" /> </div> </body> </html> </xsl:template> <xsl:template match="header"> <div id="header" style="font-size: 32px;"> <xsl:value-of select="current()" /> </div> </xsl:template> </xsl:stylesheet> Ultima modifica di VegetaSSJ5 : 24-06-2005 alle 13:52. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
allora // significa in qualsiai livello perciò te la prende
quella current() che dovrebbe fare?
__________________
Il portale delle infomazioni di Latina e Provincia Giralatina.it e’ nato con il preciso intento di promuovere varie attività che si svolgono nella provincia di Latina http://www.giralatina.it Il Blog dei Pendolari http://www.giralatina.it/blog/mybloggie/index.php |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
se devi farti stampare
Lasagna allo scoglio <xsl:template match="document"> ...... <xsl:apply-templates select="header" /> .... </xsl:template> <xsl:template match="header"> <div id="header" style="font-size: 32px;"> <xsl:value-of select="." /> </div></xsl:template> prova così oppure correggi in questo modo <xsl:template match="document/header"> <div id="header" style="font-size: 32px;"> <xsl:value-of select="." /> </div> </xsl:template> fammi sapere
__________________
Il portale delle infomazioni di Latina e Provincia Giralatina.it e’ nato con il preciso intento di promuovere varie attività che si svolgono nella provincia di Latina http://www.giralatina.it Il Blog dei Pendolari http://www.giralatina.it/blog/mybloggie/index.php |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
grazie texerasmo per essere intervenuto. dunque il problema è che document è il tag root del documento xml. nel documento xsl comincio con un <xsl:template match="/"> quindi l'elemento document è figlio di /. in pratica io vorrei fare direttamente
<xsl:apply-templates select="/document/header" /> senza ricorrere ad un <xsl:template match="document"> ...... <xsl:apply-templates select="header" /> .... </xsl:template> perchè in document ci sono solo altri figli e non mi serve di manipolarlo direttamente in una propria template. però quell'apply-templates select="/document/header" non funziona! eppure mi sembra che sia scritto correttamente... boh! P.S. current() in xpath indica il nodo corrente, però visto che tu mi hai indicato il "." d'ora in poi userò quello, è più maneggevole... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:30.



















