Re: [xsl] how to set the pattern to get the node

Subject: Re: [xsl] how to set the pattern to get the node
From: que Li <queincanada@xxxxxxxx>
Date: Tue, 30 Nov 2004 13:39:11 -0500 (EST)
I am so confused that why I can use
 <xsl:when test="Parent_ID=1 or
not(preceding-sibling::List[List_ID = $self/Parent_ID]
 or following-sibling::List[List_ID =
$self/Parent_ID])"> 

 to get node which I wnat 
but when I 
use 

 <xsl:template match="List[Parent_ID=1or
not(preceding-sibling::List[List_ID=Parent_ID]  or
following-sibling::List[List_ID=Parent_ID])]">

It is not filter properly 


Thanks



 --- Geert Josten <Geert.Josten@xxxxxxxxxxx> wrote: 
> Hi Que Li,
> 
> > How I can get the node which parent_ID =1 or
> parent_ID
> > is not 1 but No other sibling node List_ID equal
> to
> > current node parent_ID
> > 
> > I try to use:
> >    <xsl:template match="List[Parent_ID=1 or
> > not(../List[List_ID = current()/Parent_ID])] ">
> 
> The value of current() changes during the evaluation
> of a Path in an XPath expression. It is not 
> pointing to the List element for which the math
> pattern is being tested.
> 
> Besides, you might want to rule out the List element
> under consideration from the test on the siblings..
> 
> You could try the following:
> 
> <xsl:template match="List">
>    <xsl:variable name="self" select="."/> <!--
> current() can be shortened to . -->
>    <xsl:choose>
>      <xsl:when test="Parent_ID = 1">
>        <!-- found a valid case -->
>      </xsl:when>
>      <xsl:when
> test="not(preceding-sibling::List[List_ID =
> $self/@Parent_ID]
>                          or
> following-sibling::List[List_ID =
> $self/@Parent_ID])">
>        <!-- found second valid case -->
>      </xsl:when>
>      <!-- xsl:otherwise? -->
>    </xsl:choose>
> </xsl:template>
> 
> Cheers,
> Geert
> 
>  

______________________________________________________________________ 
Post your free ad now! http://personals.yahoo.ca

Current Thread