Bonjour,
Donc tout est dit dans le titre: j'ai créé une balise <msg></msg> qui affiche du texte grace au XSL, dans mon code XML j'ai mis deux balises de ce type mais le texte d'une seule balises ne marche .
Voici mes codes:
je crois savoir d'où ça vient mais puisque tu débutes, autant te le dire tout de suite, tu t'engages sur la mauvaise voie
En Xslt, on utilise rarement l'instruction for-each (seulement dans des cas spécifiques). En fait, l'esprit de Xslt, c'est de laisser faire la récursion
Bon c'est compliqué à comprendre, donc voici ton exemple réécrit :
<xsl:template match="msg"> <p> <xsl:value-of select="."/> </p> <!-- j'ai rajouté un paragraphe entourant chaque valeur de msg --> </xsl:template>
</xsl:stylesheet>
Le premier template "match" la racine. Jusqu'ici pas de problème, le processeur Xslt copie chaque balise non-Xslt (qui n'est pas préfixée par xsl et qui n'appartient donc pas au namespace de xslt). Jusqu'ici, pas de problème.
Ensuite, le processeur Xslt recontre le apply-template. Il sélectionne alors les noeuds "msg" et applique les template donc le "pattern" correspond. Et donc le second patern, qui "match" tous les éléments msg.
Au passage, sache que l'URI de ton namespace n'est pas bon (le bon est http://www.w3.org/1999/XSL/Transform) et que le type-MIME non plus n'est pas bon : c'est application/xml ou application/xslt+xml mais certainement pas text/xsl, qui a été totalement inventé par Internet Explorer.
Donc voilà j'ai pas testé mon code mais ça devrait fonctionner.
Merci beaucoup, j'ai modifier deux ou trois trucs et ça marche
Mais application/xml ne marche pas, j'ai laisser text/xsl...
Donc voici le code que j'ai mis:
tu dois certainement utiliser Internet Explorer. Sache tout de même qu'il vaut mieux que tu migres vers Firefox parceque le support de Xslt par IE est (comme tout le reste d'ailleurs) incomplet, en plus de ne pas connaître le bon type mime du langage.
J'ai firefox mais j'ai tester sous IE et sache que sous firefox mon code ne marche pas!
Les balises s'affichent mais pas comme si elles était entre <p></p> ou <h1></h1>(j'ai fais un test)
J'ai firefox mais j'ai tester sous IE et sache que sous firefox mon code ne marche pas!
Les balises s'affichent mais pas comme si elles était entre <p></p> ou <h1></h1>(j'ai fais un test)
IE possède un parser XSLT sinon faut utiliser un parser comme celui de PHP.
pour le site super, je crains qu'il n'en existe pas en français... Sinon tu as le livre XSLT fondamental de Philippe Drix, vraiment excellent si tu as les notions de base de XML.
Sinon, le parser de Firefox est bon, donc utilise le sans problème. Sinon va voir du côté de Saxon ou de Xalan qui sont tous deux d'excellents processeurs Xslt libres et gratuit.
Sur http://www.w3schools.com/, ils ont un peu de xsl ...
a+
[XML/XSL]Une seule balise ne fonctionne
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.