xsl-list
[Top] [All Lists]

RE: preceeding sibling on a first node

2004-02-08 09:11:46

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



<Prev in Thread] Current Thread [Next in Thread>