[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] preceeding sibling on a first node


Subject: RE: [xsl] preceeding sibling on a first node
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Sun, 8 Feb 2004 16:11:46 -0000

> 
> What does a preceeding sibling check return in the
> first child node position?

The preceding-sibling axis returns the empty node-set if the context
node has no preceding siblings.
>  
> Here's an xml snippet
> 
> ------------------------------------------
> <LOG>
>    <DIRECT>
>       <LOCATION_ID> 24 </LOCATION_ID>
>       <TARGET_CHARACTER_LOCATION_ID> 2799 
> </TARGET_CHARACTER_LOCATION_ID>
>       <MESSAGE> hello </MESSAGE>
>    </DIRECT>
>   
>   <xsl:variable name="vNumNotSame"
>     select="count(LOG/*[number(LOCATION_ID) !=
>                        
> number(TARGET_CHARACTER_LOCATION_ID) and
>                        
> preceding-sibling::*[1]/MESSAGE !=
>                         MESSAGE])"/>
>                         

Try using not(A=B) in place of A!=B. In the case where A is an empty
node-set, the first expression is true, while the second is false. (But
I haven't analyzed your code deeply enough to be confident this is the
problem).

Michael Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread
Keywords
xml