Bonjour à tous ^^
Cela fait un bail que je ne suis pas venu sur le forum :p Alors un petit coucou à tout ceux que je connais ;)
Sinon, je suis là pour un petit problème qui me turlupine ... depuis 3 jours
J'ai fait un script qui me génère une page via les technologies XML (pour les données) et XSLT (pour l'affichage) le tout dans un jolie mixage de POO.
Mon soucis est lors de l'ouverture d'un fichier XML (dynamiquement crée) via la fonction document('http://....php') de XSL
Code XML :
<xsl:template match="author">
<xsl:variable name="file">http://localhost/XHP/xml.php?page=users&action=view&id=<xsl:value-of select="text()" /></xsl:variable>
<xsl:variable name="datas" select="document($file)" />
<a href="?page=users&action=show&id={$datas//@id}">["<xsl:value-of select="$datas//." />"]<xsl:value-of select="$datas//username" /></a>
</xsl:template>
Sinon, la méthode XPage::invoke() :
Code PHP :
<?php
$f = new ReflectionClass('PAGE_' . $this -> sLoad); // On demande la classe PAGE_{$LOAD} extends of XPage
$class = $f -> newInstanceArgs(array($this -> sLoad, $this -> sAction)); // On l'invoque ... en précisant 2 paramètres (exemple, "Articles" et "getAll")
$method = $f -> getMethod($this -> sAction); // Ici, on demande la methode "getAll()"
$aArgs = array('...');
$method -> invokeArgs($this -> oClass['class'], $aArgs); // Pour enfin l'invoquer !
$this -> oClass = $class; // On sauvegarde la class, pour extraire les données
et la méthode XPage::createXML()
Code PHP :
<?php
if( $this -> bCache AND $this -> isCached() ) // AND
return $this -> isCached();
//
// Ici, quand le script passe par le cache ... ca marche !
//
$dom = new XmlDomConstruct('1.0', 'utf-8');
$dom -> fromMixed(array(
'xml' => array_merge(
array('head' => array('title' => '..')),
(array) $this -> oClass -> getArrayDatas(), // On extraie toutes les informations !
)
));
if( $this -> bCache )
file_put_contents($this -> getFileName(), $dom -> saveXML());
return $dom -> saveXML();
Ah oui, et cela marche ... quand il y demande le cache du fichier XML ... Et le fichier XML est impeccable -____-
Pour avoir les belles erreurs ...
Code :
Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: http://localhost/XHP/xml.php?page=users&action=view&id=1:1: parser error : Start tag expected, '<' not found in C:\wamp2\www\XHP\lib\xpage.class.php on line 166
Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: in C:\wamp2\www\XHP\lib\xpage.class.php on line 166
Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: ^ in C:\wamp2\www\XHP\lib\xpage.class.php on line 166
Quelqu'un aurait une idée ??? Car la, franchement, je suis désespéré ... Sinon, je pense que cela vient de la partie Reflection ... transformToXml aurait-il un problème avec la génération dynamique (et l'appel de classe ?)
Jojo ^^