Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1706 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  <xsl:if sur un attribut ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

<xsl:if sur un attribut ???

n°1254306
art_dupond
je suis neuneu... oui oui !!
Posté le 27-11-2005 à 19:35:28  profilanswer
 

youp,
 
je voudrais faire un <xsl:if sur un attribut mais je ne sais pas comment :(
 
<xsl:if test="@param != 3">   <!-- marche pas -->
<xsl:if test="noeud@param != 3"> <!-- marche pas -->
 
 
c'est comment qu'il faut faire ? :)

mood
Publicité
Posté le 27-11-2005 à 19:35:28  profilanswer
 

n°1254575
art_dupond
je suis neuneu... oui oui !!
Posté le 28-11-2005 à 11:26:37  profilanswer
 

:bounce:


---------------
oui oui
n°1254596
anapajari
s/travail/glanding on hfr/gs;
Posté le 28-11-2005 à 12:07:16  profilanswer
 

ça devrait marcher pourtant...
Rajoute des quotes pour voir:

Code :
  1. <xsl:if test="@param != '3'">


Si ça marche pas va falloir en montrer un peu plus ( au moins le template ...)

n°1254669
art_dupond
je suis neuneu... oui oui !!
Posté le 28-11-2005 à 14:31:27  profilanswer
 

effectivement ca marche :heink:  
 
je ne comprendrai jamais rien à l'informatique moi...
 
 
 
par contre j'ai un autre problème:
 
 
fichier xml

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
  3. <!-- Edited with XML Spy v4.2 -->
  4. <catalog>
  5. <cd id="3">
  6.  <title>Empire Burlesque</title>
  7.  <artist>Bob Dylan</artist>
  8.  <country>USA</country>
  9.  <company>Columbia</company>
  10.  <price>10.90</price>
  11.  <year>1985</year>
  12. </cd>
  13. <cd id="4">
  14.  <title id="5">Hide your heart</title>
  15.  <artist>Bonnie Tyler</artist>
  16.  <country>UK</country>
  17.  <company>CBS Records</company>
  18.  <price>9.90</price>
  19.  <year>1988</year>
  20. </cd>
  21. </catalog>


 
fichier xsl

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsl:stylesheet version="1.0"
  3. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  4. <xsl:template match="/">
  5.   <html>
  6.   <body>
  7.     <h2>My CD Collection</h2>
  8.     <table border="1">
  9.       <tr bgcolor="#9acd32">
  10.         <th>Title</th>
  11.         <th>Artist</th>
  12.       </tr>
  13.       <xsl:for-each select="catalog/cd">
  14.       <xsl:if test="@id != 3">
  15.        <tr>
  16.          <td><xsl:value-of select="title"/></td>
  17.         <xsl:choose>
  18.            <xsl:when test="title@id = 5">
  19.              <td bgcolor="#ff00ff">
  20.              <xsl:value-of select="artist"/></td>
  21.            </xsl:when>
  22.            <xsl:otherwise>
  23.              <td><xsl:value-of select="artist"/></td>
  24.            </xsl:otherwise>
  25.          </xsl:choose>
  26.        </tr>
  27.   </xsl:if>
  28.       </xsl:for-each>
  29.     </table>
  30.   </body>
  31.   </html>
  32. </xsl:template>
  33. </xsl:stylesheet>


Ligne 15: <xsl:if test="@id != 3"> OK
 
 
ligne 19: <xsl:when test="title@id = 5"> PAS OK :( :Error loading stylesheet: XPath parse failure: binary operator expected:.
 
si je mets @id tout seul, il considère l'id de <cd id="..">
 
je dois faire comment pour qu'il fasse le test sur l'id de <title>
 
merci :)


---------------
oui oui
n°1254771
dropsy
et bonne chance surtout...
Posté le 28-11-2005 à 16:25:51  profilanswer
 

il faut mettre title/@id ;)

n°1254789
art_dupond
je suis neuneu... oui oui !!
Posté le 28-11-2005 à 16:52:47  profilanswer
 

youp merci :)
 
 
encore une question :p
 
quand je fais <xsl:if test="@id != 3">
 
il me prend bien les <cd > dont l'id est différent de 3... mais uniquement s'ils ont un id.
 
ainsi, <cd id=""> ... </cd> est bien pris alors que <cd> ...</cd> n'est pas pris.
 
 
je dois faire comment ?
 
 
 :jap:


---------------
oui oui
n°1254801
anapajari
s/travail/glanding on hfr/gs;
Posté le 28-11-2005 à 17:11:42  profilanswer
 

mets un ET dans ton if ...

n°1254999
art_dupond
je suis neuneu... oui oui !!
Posté le 28-11-2005 à 22:28:01  profilanswer
 

youp merci
 
 
<xsl:if test="(@id != 3) or (not(@id))">


---------------
oui oui

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  <xsl:if sur un attribut ???

 

Sujets relatifs
Probleme acces attribut privejavascript => attribut class
[JavaScript] xhtml et attribut name d'un formulaire incompatibleAttribut runat de <form> : kezako ?
css/javascript/firefox attribut hors standardPath contenu dans un attribut
Variable $_POST qui marche pas avec l'attribut IDDTD liste d'attribut déterminé ou pas
[HTML] <A> l'attribut target[CSS] Indiquer le media directement au niveau de l'attribut "style" ?
Plus de sujets relatifs à : <xsl:if sur un attribut ???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR