Bonjour,
Je viens de parcourir une partie du Forum et même en me servant de la fonction Recherche je n'ai pas trouvé de réponse à ma question, je me permet donc de poster.
Je créé des sites en php depuis un moment et j'avais envie de me mettre à XML/XSLT pour séparer complètement le code php du html. J'ai donc fait un petit test avec les morceau de code suivant:
l'index :
ma classe news:
et enfin mon code fichier text.xsl :
Le résultat html est bien : Salut, je m'appel Michel. Mon problème est que le code de la page html générée n'est pas indenté ce qui m'embète assez et qu'ensuite les balises <meta> générées ne sont pas fermées (exemple: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">) ce qui empêche la validation xhtml.
Etant novice en la matière, j'ai probablement dut sauter une étape ou faire quelque chose de travers. Merci d'avance à tous ceux qui éclaireront ma lanterne.
Modifié par lanfisis (18 Jun 2006 - 19:27)
Je viens de parcourir une partie du Forum et même en me servant de la fonction Recherche je n'ai pas trouvé de réponse à ma question, je me permet donc de poster.
Je créé des sites en php depuis un moment et j'avais envie de me mettre à XML/XSLT pour séparer complètement le code php du html. J'ai donc fait un petit test avec les morceau de code suivant:
l'index :
require_once('inc/config/infos.php5');
require_once(DIR_CLASS .'db.php5');
require_once(DIR_CLASS .'news.php5');
$test = new news();
$processeur = new XSLTprocessor();
$style = new domDocument();
$style->load('style/test.xsl');
$processeur->importStyleSheet($style);
print $processeur->transformToXML($test)
ma classe news:
<?
class news extends domdocument
{
function __construct()
{
parent::__construct();
$news = new domelement('news');
$this->appendChild($news);
$news->setAttribute('Date', '3 Mars 1985');
$text = new domText();
$text->appendData('Michel');
$news->appendChild($text);
return $news;
}
}
?>
et enfin mon code fichier text.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" 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>
<title>- Le Chat A Six Pattes -</title>
</head>
<body>
Salut, je m'appel <xsl:apply-templates select="news"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Le résultat html est bien : Salut, je m'appel Michel. Mon problème est que le code de la page html générée n'est pas indenté ce qui m'embète assez et qu'ensuite les balises <meta> générées ne sont pas fermées (exemple: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">) ce qui empêche la validation xhtml.
Etant novice en la matière, j'ai probablement dut sauter une étape ou faire quelque chose de travers. Merci d'avance à tous ceux qui éclaireront ma lanterne.
Modifié par lanfisis (18 Jun 2006 - 19:27)