Re: [xml-dev] How to 'invert' an Xpath statement please

From
David Carlisle <>
To
Date
2008-08-27T09:45:23Z
ID
<>
Thread
Re: [xml-dev] How to 'invert' an Xpath statement please
> So, I want to know which data is NOT part of my selection, so I can skip the
> highlighting for the first one.

by data you seem to mean text, so for example to find all text nodes
that are not children of an element selected by //NODE/ELEMENT you could
do
//text()[not(parent::ELEMENT/parent::NODE)]

but that doesn't look particularly efficient and in general inverting
NODE/ELEMENT to parent::ELEMENT/parent::NODE may not be trivial.

In xpath2 you could write


//text() except //NODE/ELEMENT/text()

but I'd guess you don't have xpath2 available.

the normal way of writing except in xpath1 is to use generate-id() but
that's an xslt extension to the xpath functions, and it seems that you
want a pure xpath solution not xslt.

David


________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________