Page 1 sur 1

XSLT retire fin de balise ?

Posté : 25 oct. 2009, 13:08
par Wells83
Voici mon code:
	<?
	$xml_mess='<?xml version="1.0" encoding="iso-8859-1" ?>
	<index>
	</index>';
	//echo $xml_mess;
	
	// Nouvelle instance
	$xslt = new XSLTProcessor();
	// Chargement du fichier XML
	$xml = new domDocument();
	$xml->loadXML($xml_mess);
	// Chargement du fichier XSL
	$xsl = new domDocument();
	$xsl -> load('XSL/index.xsl');
	// Import de la feuille XSL
	$xslt -> importStylesheet($xsl);
	echo $xslt->transformToXml($xml);
	?>
le index.xsl:

Code : Tout sélectionner

<?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output indent="yes" method="html" omit-xml-declaration="no" encoding="iso-8859-1" /> <xsl:template match="/"> <img src="IMAGES/SITE/portrait.png" alt="Bienvenue !" id="portrait" /> </xsl:template> </xsl:stylesheet>

Au final sa me donne :

<img src="IMAGES/SITE/portrait.png" alt="Bienvenue !" id="portrait">

Du coup tout mon code n'est plus valide W3C... QQ'un peut il m'expliquer pk le xsl fait sauter la fermeture de mes balises (ca le fait sur d'autres balises que image)

Re: XSLT retire fin de balise ?

Posté : 25 oct. 2009, 15:48
par Victor BRITO
Avant toute chose, ignorerais-tu la manière de saluer les gens ? ;)

Essaie en mettant "xml" comme valeur de l'attribut method de l'élément xsl:output.

Re: XSLT retire fin de balise ?

Posté : 25 oct. 2009, 17:51
par Wells83
J'ai oublier le bonjour dans mon énervement ^^

Autant pour moi sa m'arrive rarement ;)

Le problème de mettre xml en méthode c que sa renvoie un xml, hors le but est renvoyer une page web :)

Re: XSLT retire fin de balise ?

Posté : 25 oct. 2009, 18:36
par Victor BRITO
Le problème de mettre xml en méthode c que sa renvoie un xml, hors le but est renvoyer une page web :)
Justement, il faut mettre "xml" comme valeur de l'attribut method (même si le code généré est du XHTML). De plus, vu qu'il y a déjà un prologue XML sur ton fichier PHP (soit dit en passant, afin que tout script PHP soit plus portable, il est fortement recommandé d'ouvrir les portions de code PHP par la balise d'ouverture complète : <?php, et non pas <? ;) ), je te conseille d'attribuer la valeur "yes" à l'attribut omit-xml-declaration.