Dimitre,
I like it (if it's efficiency we're after)!
Cheers, Wendell
On Thu, Jun 14, 2018 at 5:18 PM, Dimitre Novatchev
dnovatchev(_at_)gmail(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
Hi Wendell,
"empty($A intersect $B//*)"
I think that generally using the ancestor-or-self:: axis will be more
efficient than using $B//*, because the depth of an XML document tends
to be fairly limited in size.
So:
($B/ancestor-or-self::* intersect $A)[1]
Cheers,
Dimitre
On Thu, Jun 14, 2018 at 1:34 PM, Wendell Piez
wapiez(_at_)wendellpiez(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
Hi,
"not(some $b in ($B//*) satisfies ($b is $A))"
(oh Roger came up with that.)
or nicer?
"empty($A intersect $B//*)"
XPath 1.0:
"count($B/**) = count($B//* | $A)"
Cheers, Wendell
On Thu, Jun 14, 2018 at 8:23 AM, Costello, Roger L.
costello(_at_)mitre(_dot_)org
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
Hi Folks,
The variable $A contains an element.
The variable $B contains an element.
I need an XPath expression that determines if $B is not contained in $A.
This XPath expression seems to work:
not(index-of($B/ancestor::*,$A))
but that seems awful, i.e., not straightforward, convoluted, and probably
inefficient.
Is there a better (simpler, straightforward, efficient) XPath expression?
/Roger
--
Wendell Piez | http://www.wendellpiez.com
XML | XSLT | electronic publishing
Eat Your Vegetables
_____oo_________o_o___ooooo____ooooooo_^
--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
To achieve the impossible dream, try going to sleep.
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
Typing monkeys will write all Shakespeare's works in 200yrs.Will they
write all patents, too? :)
-------------------------------------
Sanity is madness put to good use.
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.
--
Wendell Piez | http://www.wendellpiez.com
XML | XSLT | electronic publishing
Eat Your Vegetables
_____oo_________o_o___ooooo____ooooooo_^
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--