[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Need an XPath expression for: $B is not contained
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@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx > <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxx >> <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> 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_^
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|