Subject: Re: [xsl] What does //distinct-values(...) mean? From: "Dimitre Novatchev dnovatchev@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 8 Apr 2020 13:20:26 -0000 |
One more reason to avoid the // abbreviation completely! Of course, when designing XPath 1.0 they wouldn't have an idea what was about to come in the next versions :) Cheers, Dimitre On Wed, Apr 8, 2020 at 5:25 AM Martin Honnen martin.honnen@xxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Am 08.04.2020 um 14:19 schrieb Costello, Roger L. costello@xxxxxxxxx: > > Hi Folks, > > > > I executed this XPath query in Oxygen: > > > > //distinct-values(//Row[matches(Advertiser, 'TS3', 'i')]/Subscribers) > > > > The two slashes at the beginning were an accident. At the bottom of the > screen Oxygen shows the matches. All of a sudden it showed 111,000 matches, > then a moment later 438,000 matches, and then finally 525,946 matches. > > > > "Yikes!" I thought, "What is going on? There is supposed to be around 17 > matches. How can there be half a million matches?" > > > > Then I saw the two slashes at the start. > > > > "Hmm, what is the meaning of two slashes preceding the distinct-values > function?" I thought. > > > > So, I ask you: what is the meaning of two slashes preceding the > distinct-values function? Why does its evaluation result in so many matches? > > // is short for /descendant-or-self::node()/ so > //distinct-values(//Row[matches(Advertiser, 'TS3', 'i')]/Subscribers) > is > /descendant-or-self::node()/distinct-values(//Row[matches(Advertiser, > 'TS3', 'i')]/Subscribers) > meaning it returns > distinct-values(//Row[matches(Advertiser, 'TS3', 'i')]/Subscribers) > as many times as the document has any nodes selectable by > /descendant-or-self::node(). > > -- 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.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] What does //distinct-valu, Martin Honnen martin | Thread | Re: [xsl] What does //distinct-valu, Costello, Roger L. c |
Re: [xsl] What does //distinct-valu, Costello, Roger L. c | Date | Re: [xsl] What does //distinct-valu, G. Ken Holman g.ken. |
Month |