🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: fr.comp.text.xml
3 messages
3 total messages Started by samuel Fri, 10 Jul 2009 17:54
<xsl:if test="@machin">
#99
Author: samuel
Date: Fri, 10 Jul 2009 17:54
23 lines
2006 bytes
je n'arrive pas à tester si un argument existe...

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

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

mais pour moi ça ne marche pas.. j'ai tantôt
Jeton attendu 'eof' trouvé '@'
tantôt  erreur XPath : test de Name ou de Nodetype attendu sur IE ou
expression attendue sur FF
tantôt même ')' attendu quand j'ai esseyé  test="not(no(@dt))"
j'ai aussi essayé test="@dt != ''"  mais là non plus ça ne lui va pas!
ni à IE ni à FF.

j'en appelle donc à votre aide!
Re: <xsl:if test="@machin">
#100
Author: 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.
Re: <xsl:if test="@machin">
#101
Author: samuel
Date: Sat, 11 Jul 2009 20:22
68 lines
3569 bytes
On 11 juil, 18:49, Alain Ketterlin <al...@dpt-info.u-strasbg.fr>
wrote:
> samuel <samuel.brai...@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-bal...
>
> 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.

ça alors!
c'était bien à cause du point qui manquait entre les " ". il
m'indiquait pas la bonne erreur!
mnt tt roule! merci!
:)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads