🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.text.xml
Article #100

Re: <xsl:if test="@machin">

#100
From: Alain Ketterlin
Date: Sat, 11 Jul 2009 16:49
60 lines
3108 bytes
samuel <samuel.braikeh@gmail.com> writes:

> je n'arrive pas à tester si un argument existe...

Un argument ? J'imagine que tu veux dire un attribut.

> <xsl:for-each select="auteur">
> 	<xsl:value-of select=""/>

select="" est incorrect, il doit y avoir une expression XPath ici.

> 	<xsl:if test="@dt">
> 		<xsl:text>&#160;</xsl:text><em>(<xsl:value-of select="@dt"/>)</em>
> 	</xsl:if><br/>
> </xsl:for-each>

Merci d'indenter correctement. On n'a déjà aucune idée du fichier XML
source, si en plus tu nous piège avec des indentations trompeuses.

> une personne ici semble avoir eu le même problème:
> http://forum.hardware.fr/hfr/Programmation/XML-XSL/test-existence-balise-sujet_94465_1.htm

A mon avis son problème n'a rien à voir.

> mais pour moi ça ne marche pas.. j'ai tantôt
> Jeton attendu 'eof' trouvé '@'

Jeton c'est surement "token". Es-tu sûr que tu nous montres le code qui
provoques l'erreur.

> tantôt  erreur XPath : test de Name ou de Nodetype attendu sur IE ou
> expression attendue sur FF

Voir plus haut l'erreur sur <xsl:value-of>

> tantôt même ')' attendu quand j'ai esseyé  test="not(no(@dt))"

no() ? Ce n'est pas une fonction. De toute façon, not() doit recevoir
une expression, donc la deuxième parenthèse ouvrante provoque une
erreur. Normal.

> j'ai aussi essayé test="@dt != ''"  mais là non plus ça ne lui va pas!
> ni à IE ni à FF.

Ce dernier test est équivalent à string(@dt)!='', qui sera vrai soit si
l'attribut dt est absent, soit si il est présent et sa valeur est vide.

Le test écrit plus haut (test="@dt") est vrai si un attribut "dt" existe
sur l'élément courant (un élément "auteur" en l'occurrence, puisqu'on
est dans le <xsl:for-each>). Si ça ne marche pas, c'est qu'il y a un
autre problème.

-- Alain.
Technical Details
Message-ID: <87tz1jw4ez.fsf@dpt-info.u-strasbg.fr>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!news.cs.univ-paris8.fr!jussieu.fr!not-for-mail
References: <b30b31dc-1f3c-44b2-a7b0-c1cb68460f28@k30g2000yqf.googlegroups.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 8a75585569,ff41f7cf819966a5
X-Google-Attributes: gid8a75585569,public,usenet
X-Google-NewGroupId: yes
X-Google-Language: FRENCH,UTF8
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!news.cs.univ-paris8.fr!jussieu.fr!not-for-mail
From: Alain Ketterlin <alain@dpt-info.u-strasbg.fr>
Newsgroups: fr.comp.text.xml
Subject: Re: <xsl:if test="@machin">
Date: Sat, 11 Jul 2009 18:49:40 +0200
Organization: Universites Paris VI/Paris VII - France
Lines: 60
Message-ID: <87tz1jw4ez.fsf@dpt-info.u-strasbg.fr>
References: <b30b31dc-1f3c-44b2-a7b0-c1cb68460f28@k30g2000yqf.googlegroups.com>
NNTP-Posting-Host: vpnclient130.u-strasbg.fr
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Trace: vishnu.jussieu.fr 1247331202 46590 130.79.1.130 (11 Jul 2009 16:53:22 GMT)
X-Complaints-To: usenet@vishnu.jussieu.fr
NNTP-Posting-Date: Sat, 11 Jul 2009 16:53:22 +0000 (UTC)
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.91 (gnu/linux)
Cancel-Lock: sha1:KM/fRn0r+rzj5gho7kQCr9bIYMM=