The != operator compares the values (content) of nodes, not their
identity or their name.
You could use //tag2[not(parent::tag1)]
or //*[not(self::tag1)]/tag2
Michael Kay
Saxonica
On 23/06/2010 07:51, Fabien Tillier wrote:
Hi List.
Suppose I get a (simple) XML
<xml>
<tag1>
<tag2>
<tag3/>
<tag3/>
</tag2>
<tag2>
<tag3/>
<tag3/>
<tag3/>
</tag2>
</tag1>
<tag2>
<tag3/>
<tag3/>
</tag2>
<tag2>
<tag3/>
<tag3/>
<tag3/>
</tag2>
</xml>
What if I want to select all tag2 elements that did not have a tag1
above ?
I have tried
"//tag2[parent::node!=3D'tag1']/*"
But it gets all ...
And
"//tag2[parent::node!=3Dtag1]/*"
Gets nothing
(and I would prefer not using the higher level nodes like /xml/tag2
against /xml/tag1/tag2)
Thanks in advance !
Regards,
Fabien
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--