Benvenuto Visitatore ( Log In | Registrati )
![]() ![]() |
7 Feb 2006, 00:25
Messaggio
#1
|
|
|
Ciao a tutti,
mi sto cimentando per la prima volta con pagine php che caricano un sorgente xml e lo trasformano attraverso un foglio di stile xsl e devo dire che la cosa mi diverte abbastanza. Mi succede però una cosa strana: il php nella trasformazione mi inserisce un attributo xmlns="" dentro i tag <ul> e non capisco perché. Potete darci un'occhiata? File xml: CODICE <?xml version="1.0" encoding="UTF-8"?>
<pagina> <titolo>Titolo della pagina</titolo> <menu> <item link="#">Elemento 1</item> <item link="#">Elemento 2</item> <item link="#">Elemento 3</item> </menu> </pagina> File 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" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/> <xsl:template match="/"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title><xsl:value-of select="/pagina/titolo" /></title> </head> <body> <xsl:apply-templates select="/pagina/menu" /> </body> </html> </xsl:template> <xsl:template match="menu"> <ul> <xsl:apply-templates /> </ul> </xsl:template> <xsl:template match="item"> <li><a href="{@link}"><xsl:value-of select="text()" /></a></li> </xsl:template> </xsl:stylesheet> File php: CODICE <?php
$xsl = new XSLTProcessor(); $xsl->importStyleSheet(DOMDocument::load("style.xsl")); echo $xsl->transformToXML(DOMDocument::load("source.xml")); ?> Output del file php: CODICE <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Titolo della pagina</title></head><body><ul xmlns=""> <li><a href="#">Elemento 1</a></li> <li><a href="#">Elemento 2</a></li> <li><a href="#">Elemento 3</a></li> </ul></body></html> Non capisco il perché di quel <ul xmlns="">... Voi mi sapete dire perché? Grazie Gianni -------------------- Hey! Ho un blog!
|
|
|
|
|
|
|
|
7 Feb 2006, 13:00
Messaggio
#2
|
|
|
Nel caso particolare nonso risponderti, ma so (per esperienza) che PHP alle volte fa cose del genere: per esempio se si usano le sessioni e il client non accetta i cookies inserisce nei form un elemento input hidden che riporta il SID della sessione... ovviamente non inserendolo nel posto giusto si incrocchia tutto nella validazione delle pagine W3C...
In questo caso non so cosa dirti: e' probabile che ci sia sotto qualcosa del genere. Nel mio caso avevo trovato un'opzione da inserire all'inizio dello script che inibiva l'inserimento di questi hidden... non so se esiste qualcosa di equivalente nel tuo caso. BTW penso che il pirmo passo sia quello di capire perche' aggiunge quel pezzo... c'e' un qualche problema di standard? Informazioni necessarie che hai omesso? Ciao, Roberto -------------------- |
|
|
|
|
7 Feb 2006, 14:12
Messaggio
#3
|
|
|
CITAZIONE(azael) Nel caso particolare nonso risponderti, ma so (per esperienza) che PHP alle volte fa cose del genere: per esempio se si usano le sessioni e il client non accetta i cookies inserisce nei form un elemento input hidden che riporta il SID della sessione...
No vabè dai, povero PHP Qui in realtà è normale che appaia l'attributo xmlns vuoto perché manca un namespace predefinito nel foglio di stile. Bisogna cambiare l'elemento xsl:stylesheet così: CODICE <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" >
o in alternativa bisogna aggiungere l'attributo xmlns anche in UL e poi in LI. -------------------- iPhone è un troll.
|
|
|
|
|
7 Feb 2006, 17:35
Messaggio
#4
|
|
|
Fichissimo!
Funziona. -------------------- Hey! Ho un blog!
|
|
|
|
|
![]() ![]() |
| Titolo discussione | Risposte | Autore discussione | Visite | Ultima azione | |||
|---|---|---|---|---|---|---|---|
![]() |
11 | nickXXX | 209 | 21 June 2008 - 00:05 Ultimo messaggio di: poweruser |
|||
![]() |
18 | jago | 225 | 13 June 2008 - 16:03 Ultimo messaggio di: fede86 |
|||
![]() |
3 | Spirito libero | 225 | 9 May 2008 - 20:52 Ultimo messaggio di: Alp_Vampire |
|||
![]() |
7 | bacco | 295 | 19 April 2008 - 01:18 Ultimo messaggio di: RobiRat |
|||
![]() |
9 | thierry | 400 | 18 April 2008 - 13:19 Ultimo messaggio di: Foenispro |
|||
![]() |
7 | danx 2.0 | 498 | 9 January 2008 - 21:17 Ultimo messaggio di: Biba |
|||
![]() |
6 | gianky53 | 340 | 2 November 2007 - 02:04 Ultimo messaggio di: poweruser |
|||
![]() |
7 | orsadelkispio | 323 | 27 September 2007 - 12:41 Ultimo messaggio di: angelosimeone |
|||
![]() |
3 | KaoZ | 298 | 8 May 2007 - 09:07 Ultimo messaggio di: Federico_82 |
|||
![]() |
4 | kernelman | 377 | 13 March 2007 - 18:51 Ultimo messaggio di: kernelman |
|||
![]() |
6 | alcina | 311 | 5 December 2006 - 22:40 Ultimo messaggio di: poweruser |
|||
![]() |
2 | basti | 313 | 7 October 2006 - 17:45 Ultimo messaggio di: basti |
|||
|
Versione Lo-Fi | Oggi è il: 2 December 2008 - 01:10 |
| IP.Board Skin Developed By Creative Networks | ||