Hello all,
I need some help with the following:
I have (but could be variable):
<tokens>
<token position="1"/>
<token position="2"/>
<token-group>
<row>
<token position="3"/>
<token posistion="4"/>
</row>
<row>
<token position="5"/>
<token position="6"/>
</row>
</token-group>
</tokens>
I would like to sum the values of all preceding nodes of
<token> #6 that
are <token>s, but which are not descendants of the preceding
sibling of
its ancestor <row>, that is I want to exclude <token>s #3 and
#4.
In XPath 2.0 you can write
preceding::token except ancestor::row/preceding-sibling::token
Unfortunately XPath 1.0 has no direct equivalent of the "except"
operator. Some processors offer the EXSLT set:difference() extension
function or an equivalent, or you can do "A except B" by writing the
rather expensive construct:
A[count(.|B) != count(B)]
Michael Kay
I have sum(ancestor::row//token[(_at_)position <
$token-position]) where
in this case $token-position = 6, but that excludes the tokens in
positions 1 and 2. I think I am missing something simple here, but
suggestions are welcome.
thanks in advance,
Matthew L. Avizinis
Gleim Publications, Inc.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list