par
h2o » 06 août 2005, 15:41
je ne suis pas persuadé que c'est la meilleure solution...

Sans parler de la difficulté à maintenir le code, du poids des pages,...
Ce n'est peut-être pas la meilleure solution, mais je maîtrise bien xml-xsl.
Mes pages ressemblent beaucoup à ceci :
session_start();
$user = $_SESSION['id'];
$id = ($_GET['id']);
$xsl = new DomDocument();
$xsl->load('le_document_xsl.xsl');
$inputdom = new DomDocument();
$inputdom->load('le_document—xml.xml');
$proc = new XsltProcessor();
$xsl = $proc->importStylesheet($xsl);
$proc->setParameter(null, "id", $id);
$proc->setParameter(null, "user", $user);
$newdom = $proc->transformToXml($inputdom);
$newdom = eval("?".chr(62).$newdom.chr(60)."?");
Peu de code.
Le document xhtml est entièrement généré par la transformation xsl.
Mais il vrai que l'xml est assez "verbeux".
Mais les pages ne sont pas trop "pesante", et la transformation n'est pas trop lente.
Il y a très certainement plus performant, mais il y a chez moi essentiellement une consultation de données. Avec une gestion de privilège par "session".
[quote="albat"]je ne suis pas persuadé que c'est la meilleure solution... :lol:
Sans parler de la difficulté à maintenir le code, du poids des pages,...[/quote]
Ce n'est peut-être pas la meilleure solution, mais je maîtrise bien xml-xsl.
Mes pages ressemblent beaucoup à ceci :
[php]
session_start();
$user = $_SESSION['id'];
$id = ($_GET['id']);
$xsl = new DomDocument();
$xsl->load('le_document_xsl.xsl');
$inputdom = new DomDocument();
$inputdom->load('le_document—xml.xml');
$proc = new XsltProcessor();
$xsl = $proc->importStylesheet($xsl);
$proc->setParameter(null, "id", $id);
$proc->setParameter(null, "user", $user);
$newdom = $proc->transformToXml($inputdom);
$newdom = eval("?".chr(62).$newdom.chr(60)."?");
[/php]
Peu de code.
Le document xhtml est entièrement généré par la transformation xsl.
Mais il vrai que l'xml est assez "verbeux".
Mais les pages ne sont pas trop "pesante", et la transformation n'est pas trop lente.
Il y a très certainement plus performant, mais il y a chez moi essentiellement une consultation de données. Avec une gestion de privilège par "session".