Bonjour,
Comme dit dans le titre je n'arrive pas à avoir un rendu xHTML avec la class XSLTProcessor.
J'arrive par contre a avoir un rendu "HTML 4.01 Strict" valide.

Je ne comprend pas très bien d'ou viens mon erreur.

XSL :
<?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"
  indent="yes" />

<xsl:template match="front">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
	<title>hoy</title>
</head>
<body>
	<h1>Test XSL</h1>
	<img src="http://url" alt="img fake"/>
	<xsl:call-template name="init" />
</body>
</html>
</xsl:template>

<xsl:template name="init">
	<p>inti !</p>
</xsl:template>
</xsl:stylesheet>


le code XML c'est juste une balise <front> avec un <empty /> dedans
et j'obtient ca comme rendu
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>hoy</title>
</head>
<body>
<h1>Test XSL</h1>
<img src="http://url" alt="img fake">
<p>inti !</p>
</body>
</html>

ce code n'est pas valide
<meta .. > et pas <meta .. />
de meme pour la balise <img> Smiley decu



Je ne sais plus vraiment quoi faire et j'arrive a me demander si XSLTProcessor et capable de produire du XHTML.
Modifié par Citron.mecanik (05 Aug 2008 - 22:16)
Et bien merci d'avoir déplacé mon sujet.
Comme XSLTprocessor est un classe php je pensait que j'était mieux sur la section langage serveur et en fait ...
En regardant un autre poste de ce forum je me suis rendu compte de mon erreur !

<xsl:output 
  method="xml"
  encoding="utf-8"
  doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
  doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
  indent="yes" />


method="xml" et pas "html" !

Encore merci et désolé de ne pas avoir assez lu avant de poster ... Smiley ravi
Modifié par Citron.mecanik (05 Aug 2008 - 21:44)
Modérateur
Salut,

Dans ton xsl:output, il manque l'attribut omit-xml-declaration="yes" pour supprimer la déclaration xml afin de ne pas passer en mode quirk sous IE. Smiley cligne
XSLTprocessor est aussi une classe java et c++, le XSL en général à sa place dans ce sous forum, je suppose que c'est pour cela qu'il a été déplacer.