Xsl
Canard007
Messages postés
5936
Statut
Contributeur
-
Canard007 Messages postés 5936 Statut Contributeur -
Canard007 Messages postés 5936 Statut Contributeur -
hello all
j'aimerai bien dans mon fichier xsl pouvoir recuperer le contenu d'un noeud xml l'evaluer et ecrire une strig en fonction du resultat dans un tableau html de quelle maniere je pourrai faire ca.
J'aimerai bien egalement changer le bgcolor d'une cellule en fonction de la valeur d'un noeud si quelqu'un a une source pour m'aider.
j'aimerai bien dans mon fichier xsl pouvoir recuperer le contenu d'un noeud xml l'evaluer et ecrire une strig en fonction du resultat dans un tableau html de quelle maniere je pourrai faire ca.
J'aimerai bien egalement changer le bgcolor d'une cellule en fonction de la valeur d'un noeud si quelqu'un a une source pour m'aider.
9 réponses
la valeur
<mon noeud>ma valeur</mon noeud>
si ma valeur = x
alors la bgcolor de la cellule est XXXXXx (RVB)
et le contenu de la cellule est ...
bon ap au fait ;-)
<mon noeud>ma valeur</mon noeud>
si ma valeur = x
alors la bgcolor de la cellule est XXXXXx (RVB)
et le contenu de la cellule est ...
bon ap au fait ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
en fait la valeur contient true ou false je voudrai pouvoir mettre la couleur a rouge si c est faux et a bleu si c est vrai et mettre un petit texte selon les cas (nom du noeud)
pour l'instant j'ai ca:
<td><xsl:value-of select="MorningCheck/SMNP/comment"/></td>
mais je n affiche que true ou false...il faudrai que je rende cela un peu plus dynamique en y integrant par exemple un peu de javascript
j'ai essayé:
function SetBackGround(texte)
{
if(texte=="TRUE")
{
return "00FF00"
}
else
{
return "FF0000"
}
}
et dans le <body>
<td bgcolor="SetBackGround('<xsl:value-of select="MorningCheck/SMNP/comment"/>" ')><xsl:value-of select="MorningCheck/SMNP/comment"/></td>
mais il râle a cause des < > entre les ( )
je suis pas un nexpert en javascript alors il y a peu etre un moyen de le faire autrement..ou de mieux l'ecrire...
pour l'instant j'ai ca:
<td><xsl:value-of select="MorningCheck/SMNP/comment"/></td>
mais je n affiche que true ou false...il faudrai que je rende cela un peu plus dynamique en y integrant par exemple un peu de javascript
j'ai essayé:
function SetBackGround(texte)
{
if(texte=="TRUE")
{
return "00FF00"
}
else
{
return "FF0000"
}
}
et dans le <body>
<td bgcolor="SetBackGround('<xsl:value-of select="MorningCheck/SMNP/comment"/>" ')><xsl:value-of select="MorningCheck/SMNP/comment"/></td>
mais il râle a cause des < > entre les ( )
je suis pas un nexpert en javascript alors il y a peu etre un moyen de le faire autrement..ou de mieux l'ecrire...
pour pouvoir faire des modif des valeurs je ne voit pas comment faire
ton truc la:
<xsl:if test="@value='x'">
il me permet ensuite d'ecrire une valeur ou une autre sur la page en fonction du resultat?
ton truc la:
<xsl:if test="@value='x'">
il me permet ensuite d'ecrire une valeur ou une autre sur la page en fonction du resultat?
Bien sûr, c'est le but du xsl...
Regarde
Selon le type de flux, je choisi quel player ajouté dans le fichier de sorti (ce n'est pas du html ici mais juste un script nunux mais on s'en fout...)
Regarde
<?xml version="1.0" encoding="ISO-8859-2"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" version="1.0" encoding="ISO-8859-2" indent="yes"/> <xsl:param name="upperCase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ éè'"/> <xsl:param name="lowerCase" select="'abcdefghijklmnopqrstuvwxyz_ee'"/> <xsl:template match="listmedia"> case $1 in<xsl:for-each select="media"><xsl:sort select="@name"/><xsl:if test="@type='radio'"> <xsl:variable name="fname" select="translate(@name,$upperCase,$lowerCase)"/> "<xsl:value-of select="$fname"/>") <xsl:choose> <xsl:when test="flux/@type='ogg'">xmms <xsl:value-of select="flux[@type='ogg']/@adress"/></xsl:when> <xsl:when test="flux/@type='m3u'">xmms <xsl:value-of select="flux[@type='m3u']/@adress"/></xsl:when> <xsl:when test="flux/@type='real'">realplay <xsl:value-of select="flux[@type='real']/@adress"/></xsl:when> <xsl:when test="flux/@type='ASX'">mplayer -afm acm -cache 5000 <xsl:value-of select="flux[@type='ASX']/@adress"/></xsl:when> </xsl:choose>;; </xsl:if> </xsl:for-each> *) echo "Vous devez entrez une radio parmi la liste suivante:" <xsl:for-each select="media"><xsl:sort select="@name"/><xsl:if test="@type='radio'"> echo "<xsl:value-of select="translate(@name,$upperCase,$lowerCase)"/>" </xsl:if></xsl:for-each> esac </xsl:template> </xsl:stylesheet>
Selon le type de flux, je choisi quel player ajouté dans le fichier de sorti (ce n'est pas du html ici mais juste un script nunux mais on s'en fout...)