Re: [xsl] Problem to compare a value with a set of tag content Part II

Subject: Re: [xsl] Problem to compare a value with a set of tag content Part II
From: Xavier DAMAY <xsl.list@xxxxxxxxxxxxxxx>
Date: Thu, 30 May 2002 10:40:02 +0200

After more investigation i've got something but none of expected :

<xsl:for-each select="liste/annonce">
  <xsl:variable name="en-pdf">
    <xsl:for-each select="../compte/pdf">
	<xsl:when test=".=../../annonce/@id">
          <xsl:value-of select=".=../../annonce/@id"/>

<xsl:value-of select="$en-pdf"/>

Now the when test is always false,
what i know is : values of pdf are 1 and 3
: values of annonce/@id are 0, 1, 2, 3, and 4
i made a test to see the value of annonce/@id inside of the pdf for-each is always 00, (the first annonce/@id)

I am stuck and puzzled, please help !


PS : for memory the structure is
    <annonce id ="1">
           bla bla
    <annonce id ="2">
           bla bla
    <annonce id ="3">
           bla bla
    <annonce id ="4">
           bla bla

David Carlisle wrote:

 >>of tag content
 >the content of a tag is the stuff between < and >
 >If you mean the stuff between <xxx> and </xxx> then that is the content
 >of the xxx element not the content of a tag.
 >>Question 1 : Are nested for-each statements allowed ?
 >But your example appears confused (so i can't tell what you want)
 > <xsl:for-each select="annonce">
 >  so here the current node is an annonce.
 >                <xsl:variable name="en-pdf">
 >                    <xsl:for-each select="compte/pdf">
 >  so here you are iterating over all pdf children of compute children of
 > the current element but that is empty as the annonce element does not
 > have any compte children. You could use /compte/pdf which would select
 > something but there is no point in nesting such a for-each as it will
 > re-evaluate the same thing each time for each item in the outer list.
 >>Question 2 :
 >I think you just want something like
 > <xsl:for-each select="annonce/id">
 >       <xsl:variable name="en-pdf" select=".=../../compte/pdf"/>
 >which will iterate over the <id> and  in each case $en-pdf will be
 >true() or false()
 >This message has been checked for all known viruses by Star Internet
 >delivered through the MessageLabs Virus Scanning Service. For further
 >information visit or alternatively call
 >Star Internet for details on the Virus Scanning Service.
 > XSL-List info and archive:

XSL-List info and archive:

Current Thread