Subject: Re: [xsl] XSLT 2 and XSLT 3: Best Way To Get Set of Unique Docs for A Set of Elements From: "Dimitre Novatchev dnovatchev@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 5 Mar 2019 20:04:30 -0000 |
To find the different document nodes just use: $links/root(.) Remember that in a node-set all nodes have different identity (this is exactly what "set" means) Cheers, Dimitre On Tue, Mar 5, 2019 at 11:08 AM Eliot Kimber ekimber@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Given the variable $links that is a sequence of element()s where the elements could be from different documents, what is the best way to get the set of unique documents? > > I need an XSLT 2 answer but an XSLT 3 answer would also be useful. > > I feel like there's an obvious solution I'm overlooking but the only thing I can think of is to compare the document-uri() values of all the elements: > > <xsl:variable name="topicURIs" as="xs:string*" > select="distinct-values(for $e in $links return document-uri(root($e)))" > /> > <xsl:variable name="topics" as="document-node()*" > select=" > for $uri in $topicURIs > return root(($links[document-uri(root(.)) eq $uri])[1]) > " > /> o;? > > This works but seems unnecessarily complicated. > > Thanks, > > Eliot > -- > Eliot Kimber > http://contrext.com > > -- 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] XSLT 2 and XSLT 3: Best W, Graydon graydon@xxxx | Thread | [xsl] Compare logical expressions w, Michael Müller-Hille |
Re: [xsl] XSLT repetition construct, Michael Kay mike@xxx | Date | Re: [xsl] XSLT repetition construct, Liam R. E. Quin liam |
Month |