L'instruction :
<img src="<xsl:value-of select="image" />" />
génère une erreur a cause des guillemets.
Comment y remédier ?
L'instruction :
<img src="<xsl:value-of select="image" />" />
génère une erreur a cause des guillemets.
Comment y remédier ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <xsl:element name="img"> <xsl:attribute name="src"><xsl:value-of select="image"/></xsl:attribute> </xsl:element>
Merci, et pour une instruction de ce genre ? :
- Comment ecrire cette condition sans faute de syntaxe ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <xsl:for-each select="racine/pagination/page"> <td> <xsl:if test="racine/pagination/part = <xsl:value-of select="nr" />"> <a href="#"><xsl:value-of select="nr" /></a> </xsl:if> </td> </xsl:for-each>
- Dans la boucle comment puis-je faire pour acceder a l element qui se trouve à 'racine/pagination/part'
d abord si tu peux mettre un petit morceau de ton xml se serait bien...
ensuite est ce que dans
nr est la valeur d un noeud ou la chaine de caractere 'nr'?
Code : Sélectionner tout - Visualiser dans une fenêtre à part <xsl:value-of select="nr" />
si c est un noeud ...met du xml histoire de le situer
voici mon fichier .xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 <?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet type="text/xsl" href="index.xsl"?> <racine> <pagination> <part>1</part> <page> <nr>1</nr> </page> <page> <nr>2</nr> </page> <page> <nr>3</nr> </page> </pagination> <nouveaute> <id>2</id> <date>26-06-05</date> <image>images/mini/IMG_1.jpg</image> <titre>Soirée Kozzmozz le 2 juillet au Vooruit à Gand</titre> <texte> En attendant impatiemment son dixième anniversaire qui se déroulera le 10 septembre dans quatre salles du gigantesque Vooruit de Gand, la Kozzmozz organise entre temps plusieurs soirées, notamment ce samedi 2 juillet 2005 ! Les résidents kozz et t-quest seront bien évidemment de la partie ainsi que dautres djs venus du monde entier : La néerlandaise Shinedoe, le new-yorkais Tony Rohr avec un set teinté de minimal, sans oublier lespagnol Paco Osuma véritable figure emblématique des soirées cocoon à Ibiza !! Paco Osuna (Cocoon, Smack Rec / ESP) Tony Rohr "live" (Hidden Agenda / NY) Shinedoe (Intacto Rec / NL) T-Quest (Kozzmozz, Fuse, Music Man Rec) Kozz (Kozzmozz Resident) De 23h à 6h Préventes : 12,5 Sur place : 15 Vooruit (Gand) </texte> </nouveaute> <nouveaute> <id>3</id> <date>19-07-05</date> <image>images/mini/IMG_1.jpg</image> <titre>n8-crew Priv8 : soirée plus que réussie grâce à vous !</titre> <texte> Après cette fabuleuse soirée, quoi de plus normal de vous remercier tous pour cette fabuleuse ambiance ! Vous avez répondu nombreux aux invitations à cette soirée dinauguration de n8-crew qui nous tenait très à cur. Des semaines de préparations pour un résultat plus que satisfaisant et une immense satisfaction quant à vos appréciations bien souvent très positives ! Un immense Merci de la part de toute léquipe de n8-crew. Peut-être bientôt une n8-crew priv8 #2 affaire à suivre </texte> </nouveaute> </racine>
Salut,
Afin d'éviter se genre d'erreur à l'avenir:
une balise ne peu pas contenir un balise ( ex: <toto id="<erreur/>">)
Les balises doivent avoir une balises fermante en XML (ex: <toto/> ou <toto></toto>)
et elle ne peuvent pas ce chevaucher (ex: <lapin><lapine> </lapin></lapine>)
Pour ton problème
tu te trouve dans ton noeud racine/pagination/page avec la boucle for-each donc si je comprend bien il contient "part " et tu aimerais testé si il corespond a nr !
Mais ou est nr ? poste le bout de ton xml histoire de comprendre
Merci
++
Thierry
"Life is short don't forget to inhale"
Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."
http://www.developpez.net/forums/vie...ttribut+valeur
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <xsl:for-each select="racine/pagination/page"> <td> <xsl:if test="current()/../part = nr" /> <a href="#"><xsl:value-of select="nr" /></a> </xsl:if> </td> </xsl:for-each>
jette un coups d'oeil ici pour l'element current() et les boucles http://erwy.developpez.com/boucle/
et ici pour les tests
http://erwy.developpez.com/tuto_xslt/conditions/
Ca ne nous dit pas ou est nr et part que tu veux comparer????
explique nous exactement ce que tu veux faire?
"Life is short don't forget to inhale"
Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."
je ne suis pas sur que ce soit paren:: je ne suis pas encore assez rodé sur les axes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <xsl:for-each select="racine/pagination/page"> <td> <xsl:if test="parent::part = nr"> <a href="#"><xsl:value-of select="nr" /></a> </xsl:if> </td> </xsl:for-each>
.. est un raccourci pour parent::* (que j'utilise bien)Envoyé par tiscars
par contre une erreur
veut dire le pere du noeud courant SI il s'appelle part or part n'est pas parent mais frere de page ou autre fils du pere de page
Code : Sélectionner tout - Visualiser dans une fenêtre à part parent::part
Il est juste au dessus !Envoyé par virgul
j'aimerais tester si le nr qui se trouve dans racine/pagination/page est egale ou non a part qui se trouve dans racine/pagination/part
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <xsl:for-each select="racine/pagination/page"> <td> <xsl:when test="nr != <xsl:value-of select="part">"> <a href="#"><xsl:value-of select="nr" /></a> </xsl:when> <xsl:otherwise> <xsl:value-of select="nr" /> </xsl:otherwise> </td> <td>|</td> </xsl:for-each>
voir mon code et les liens que je donne.
Tu as serieusement besoin de bosser les bases du xslt et de xpath
Ne génere bien aucune erreur mais la condition
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <xsl:choose> <xsl:when test="parent::part != current()/nr"> <a href="#"><xsl:value-of select="nr" /></a> </xsl:when> <xsl:otherwise> <xsl:value-of select="nr" /> </xsl:otherwise> </xsl:choose>
teste toujours la meme valeur de part.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <xsl:when test="parent::part != current()/nr">
Dans ma page, il ne m affiche aucun lien alors que :
Il devrait afficher les lien sur les page 1 et 3.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <pagination> <premier>1</premier> <precedent>1</precedent> <part>2</part> <suivant>3</suivant> <dernier>3</dernier> <page> <nr>1</nr> </page> <page> <nr>2</nr> </page> <page> <nr>3</nr> </page> </pagination>
Bon on va arreter les conneries 5 mn
merci
si tu es dans la boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part <xsl:for-each select="racine/pagination/page">
est MAUVAIS et regarde mon code.Autrement precise ta boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part <xsl:when test="parent::part != current()/nr">
es tu sur de cette ligne? car <page> est le noeud courant..Envoyé par Erwy
*edit*
j ai dit une grosse c...
pardon Erwy
1000 excuses j'avais pas vu ton post avec les liens.Envoyé par Erwy
Encore désolé !
Tu viens d'echapper de justesse à la shlagEnvoyé par tiscars
![]()
![]()
Tu n'etais pas le seulEnvoyé par ToxiZz
, cela ne s'adressait pas qu'a toi
![]()
Voila c est resolu voila le code finale :
Donc je n'avais meme pas besoin de faire réference a la methode current().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <xsl:for-each select="racine/pagination/page"> <td> <xsl:choose> <xsl:when test="nr != ../part"> <a href="#"><xsl:value-of select="nr" /></a> </xsl:when> <xsl:otherwise> <xsl:value-of select="nr" /> </xsl:otherwise> </xsl:choose> </td> <td>|</td> </xsl:for-each>
Encore une petite question, si j'ai bien compris comment marchais les attribute, le code suivant devrait etre correcte :
ou meme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <xsl:element name="a"> <xsl:attribute name="href"> <xsl:value-of select="racine/pagination/precedent" /> </xsl:attribute> </xsl:element>
Mais rien ne s'affiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <a> <xsl:attribute name="href"> <xsl:value-of select="racine/pagination/precedent" /> </xsl:attribute> </a>![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager