Bonjour, voila je fais mes premiers pas sur xml, je maitrise assez bien le Html et php et alors là je me retrouve bloqué dés le début du Xml. J'ai acheter un livre pour me former, et impossible d'afficher une simple balise en html, en gros impossible de faire un lien entre mon XML et XSL, à chaque fois j'ai la page blanche...

Voici mon code XML :

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="style.xsl" ?>


<anciennes_merveilles>

<merveille>

<nom> Colosse de Rhodes </nom>

</merveille>

<merveille>

<nom> Pyramides </nom>

</merveille>



</anciennes_merveilles>


et mon XSL

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" verson="1.0">


<xsl:template match="/">

<html>
<head>
</head>
<body>

Quelques merveilles :
<xsl:value-of select="anciennes_merveilles/merveille/nom"/>


</body>
</html>




</xsl:template>
</xsl:stylesheet>



Donc je sais si chez vous ce code marche, pour moi il n'y a rien à faire, même en copiant collant des codes tout fait sur des tutos sur internet j'ai rien que du blanc...

Je suis sous Chrome, mais même sous IE 9 ca foire... Je code sous Notepad ++
Voila donc si quelqu'un aurait une solution je suis preneur car la j'ai passé toute la soirée dessus et rien à faire...

Merci à tous... bonne soirée
Modifié par capolino (26 Jan 2011 - 00:07)
Salut,
J'ai tjs eu du mal avec xsl mais essaye de rajouter qqch comme ça après <xml:stylesheet...> :


<xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="no" indent="no" media-type="text/html"/>
Salut capolino

Ce n'est pas un problème de navigateur, ils acceptent tous sans exception XML et XSL (y compris IE9).
1. Smiley fache vérifies d'abord ta grammaire (version s'écrit version et pas verson......) cela explique le silence de ton test !
2. si tu veux afficher chaque élément <nom> fils de <merveille> tu dois itérer sur l'ensemble des éléments <merveille>

deux solutions

la première Smiley smile
La plus classique.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="/">
<html>
<head>
</head>
<body>
<strong> <xsl:text>Quelques merveilles : </xsl:text></strong><br />
<xsl:for-each select="anciennes_merveilles/merveille">
<xsl:value-of select="nom"/><br />
</xsl:for-each>
</body>
</html>
</xsl:template>

</xsl:stylesheet>



la deuxième : Smiley biggrin
Plus compacte mais plus riche car une fois que tu auras pigé comment ça marche tu pourras en exploiter toute la richesse, par exemple matcher chaque élément et affecter des styles différents (Un recours à une feuille de style en cascade css est très utile et complètera très bien la méthode .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="/">
<html>
<head>
</head>
<body>
<strong> <xsl:text>Quelques merveilles : </xsl:text></strong><br />
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="nom">
<xsl:value-of select="."/><br />
</xsl:template>
</xsl:stylesheet>


A ta disposition pour plus de détails.
Rimousky
Modifié par rimousky (07 Feb 2011 - 01:13)