Débutant en XSLT : <xsl:if> - XML/XSL - Programmation
Marsh Posté le 23-07-2004 à 10:14:57
tu dois utiliser ça :
Code :
|
big_mouth_fish a écrit : |
non tu n'as pas besoin d'être connecté, c'est juste une chaine de caractère qui sert d'espace de nom unique et la convention veut qu'on utilise une URL (et pour faire pro, à l'adresse de l'URL il faut mettre une description de l'espace de nom)
Marsh Posté le 23-07-2004 à 10:30:49
Merci pour l'info mais il semble le pb ne soit pas réglé. Si je remplace < par > il m'affiche tout autant le message planete. Cela dit ce n'est pas logique de mettre < ou > car il s'agit d'un condition ! non ?
Marsh Posté le 23-07-2004 à 11:08:23
ton code XSL n'est pas valide à cause du bout suivant:
Code :
|
je l'ai oté pour tester et "count(PLANET) < 10" fonctionne très bien
Marsh Posté le 23-07-2004 à 11:30:48
Est-ce que ça te dérangerait de m'envoyer tes fichiers parce que j'ai beau changé pour vérifier tes dires, moi ça marche pas pas !
Marsh Posté le 23-07-2004 à 11:51:03
puisque les fichiers ne sont pas très grand je te le mets ici :
XML :
Code :
|
XSL :
Code :
|
Marsh Posté le 23-07-2004 à 13:00:57
As-tu essayé de remplacer < par > ? Est-ce que ça marche ? Moi pas. Je ne comprends pas.
Marsh Posté le 23-07-2004 à 13:28:39
Il semble que mon problème ne vienne pas du if mais du lien vers le site. Je travaille avec IE 5 et le lien est différent ! Faut le savoir ?!
Marsh Posté le 13-08-2004 à 16:09:20
Classique!
Si ton lien contient 'WD' tu utilise toujours la version propriètaire de Microsoft du moteur de transformations XSLT et tu auras toujours des problèmes pcq. non conforme aux standards.
Il faut installer MSXML 3 voire 4 pour être tranquille, de plus ce dernier est performant, il est fourni avec un petit SDK sympa pour avoir la doc sous la main.
Marsh Posté le 05-05-2006 à 16:54:54
moi j'ai testé ça sur XMLSpy et ça marche
le code xsl :
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="PLANETS">
<xsl:if test="count(PLANET) > 10">
Planete : plus grand que dix
</xsl:if>
<xsl:if test="not(count(PLANET) > 10)">
Planete plus petit petit que dix
</xsl:if>
</xsl:template>
</xsl:stylesheet>
a+
Marsh Posté le 23-07-2004 à 09:15:13
Bonjour, voila je débute en XSLT et je suis déjà confronté à de simples problèmes ! Du moins je pense.
J'ai un fichier .xml avec une balise <PLANETS> ayant ou pas des enfants
<PLANET>
Exemple :
<PLANETS>
<PLANET>
<NAME>Terre</NAME>
</PLANET>
</PLANETS>
...
Dans mon fichier xsl ci-dessous je souhaiterai afficher "Planet" ci le nombre de noueud enfant de PLANETS est inférieur à 10.
Mais d'une part, il n'accepte pas que j'utilise le signe inférieur et puis si je change de signe il ne prend pas en compte le if !
Quel est mon problème ?
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<HTML>
<xsl:apply-templates/>
</HTML>
<xsl:template match="PLANETS">
<xsl:if test="count(PLANET) < 10">
Planete
</xsl:if>
</xsl:template>
</xsl:stylesheet>
J'ai une 2ème question toute bete certainement. Est-on obligé d'avoir ce lien internet dans la 2eme balise du fichier xsl pour que les xslt fonctionne ? Ceci implique t-il qu'il faut etre connecté à internet ? Que posséder iExplorer sans etre connecté ne fonctionnera pas ?
Merci d'avance