XSLT retire fin de balise ?

Eléphant du PHP | 113 Messages

25 oct. 2009, 13:08

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)

Mammouth du PHP | 2937 Messages

25 oct. 2009, 15:48

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.

Eléphant du PHP | 113 Messages

25 oct. 2009, 17:51

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 :)

Mammouth du PHP | 2937 Messages

25 oct. 2009, 18:36

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.