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