IPB     Il futuro di Tevac dipende da te!  

Benvenuto Visitatore ( Log In | Registrati )

Il TevacPhoto Contest di Luglio: TERRA!! (scad. 26 luglio)

  · · · · · · · · · · · ·
Reply to this topicStart new topic
> PHP/XML/XSLT: strana trasformazione
Gianni Valenti
messaggio 7 Feb 2006, 00:25
Messaggio #1


Level 3/11
***

Gruppo: Forum User +
Messaggi: 246
Iscritto il: 29-June 04
Da: Pisa
Utente Nr.: 2.070



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 icon_smile.gif

Gianni


--------------------
Hey! Ho un blog!
Go to the top of the page
 
+Quote Post
azael
messaggio 7 Feb 2006, 13:00
Messaggio #2


Level 8/11
********

Gruppo: Forum User
Messaggi: 3.123
Iscritto il: 2-February 04
Da: Bergamo
Utente Nr.: 1.423



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


--------------------
Azael's New: ho aperto il mio blog ... visitatelo!!!
Supporta Tevac
Go to the top of the page
 
+Quote Post
Fed3rico
messaggio 7 Feb 2006, 14:12
Messaggio #3


FED3RICO
******

Gruppo: Supporter
Messaggi: 1.692
Iscritto il: 3-July 04
Da: Tamara
Utente Nr.: 2.082



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 icon_biggrin.gif Questa è una cosa diversa icon_smile.gif

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.
Go to the top of the page
 
+Quote Post
Gianni Valenti
messaggio 7 Feb 2006, 17:35
Messaggio #4


Level 3/11
***

Gruppo: Forum User +
Messaggi: 246
Iscritto il: 29-June 04
Da: Pisa
Utente Nr.: 2.070



Fichissimo! icon_biggrin.gif

Funziona.


--------------------
Hey! Ho un blog!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

 

Collapse

> 

    Titolo discussione Risposte Autore discussione Visite Ultima azione
No New Posts 3 Pappagani 85 21 July 2008 - 13:54
Ultimo messaggio di: Pappagani
No New Posts   2 prinzart 87 9 July 2008 - 12:14
Ultimo messaggio di: Lord_Lele
No New Posts   0 pesciolinorex 48 3 July 2008 - 12:26
Ultimo messaggio di: pesciolinorex
No New Posts   0 Roberto Rota 103 25 June 2008 - 23:57
Ultimo messaggio di: Roberto Rota
No new   15 MacIavelli 162 21 June 2008 - 14:24
Ultimo messaggio di: ubaldoponzio
No new   11 nickXXX 167 21 June 2008 - 00:05
Ultimo messaggio di: poweruser
No New Posts   2 sorcina77 107 20 June 2008 - 19:40
Ultimo messaggio di: sorcina77
No new   18 jago 188 13 June 2008 - 16:03
Ultimo messaggio di: fede86
No new   174 azael 15.458 10 June 2008 - 02:02
Ultimo messaggio di: poweruser
No new   14 ubaldoponzio 230 9 June 2008 - 12:14
Ultimo messaggio di: fede_dev
No New Posts   7 Roberto Rota 139 25 May 2008 - 13:10
Ultimo messaggio di: Roberto Rota
No new   9 Noris 157 19 May 2008 - 15:07
Ultimo messaggio di: fede_dev

Modalità di visualizzazione: Normale · Passa a: Lineare · Passa a: Outline


RSS Versione Lo-Fi Oggi è il: 25 July 2008 - 11:34
IP.Board Skin Developed By Creative Networks