J'essaie d'implémenter un fichier xsl dans un document XML. Cependant, quand je le fais, il ne montre rien. si je supprime la référence du xsl du fichier xml, les données au moins sont affichées.en utilisant xsl n'affiche rien
c'est le code xsl:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<div>
<div style="background:red;"><xsl:value-of select="title"/></div>
<div style="background:green;"><p><xsl:value-of select="introduction"/></p></div>
<div style="background:blue;"><xsl:for-each select="verse">
<div><xsl:value-of select="p"/></div> <br />
<div><xsl:value-of select="trla"/></div> <br />
<div><xsl:value-of select="trli"/></div> <br />
</xsl:for-each>
</div>
</div>
</xsl:template>
</xsl:stylesheet>
xml:
<root>
<title></title>
<introduction></introduction>
<verse>
<p></p>
<trla></trla>
<trli></trli>
</verse>
</root>
et le code html où le xml est appelé par php:
<div id="display">
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
$xmldoc = new DOMDocument();
if(!file_exists('test.xml')){
echo "Sorry this file does not exists!";
exit();
} else {
$xmldoc->load('test.xml', LIBXML_NOBLANKS);
$activities = $xmldoc->firstChild->firstChild;
if($activities != null){
while($activities != null){
?>
<div id="xml">
<span>
<?php echo $activities->textContent ?> </li></ul></span> <br />
</div>
<?php
$activities = $activities->nextSibling;
}
}
}
?>
</div>
a répondu à votre suggestion. d'une façon ou d'une autre, cela ne fonctionnait pas même quand j'ai explicitement appelé l'élément avec le nom 'root'. les nœuds ne sont pas vides. – input
@ fuz3d - J'ai testé votre XML (avec des données) et mon xsl ici: http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog – Oded
merci, cela a fonctionné. J'ai dû manquer quelque chose. – input