xsl-list
[Top] [All Lists]

Re: [xsl] XSLT 2 and XSLT 3: Best Way To Get Set of Unique Docs for A Set of Elements

2019-03-05 13:36:51
Of course--that's the obvious solution I was missing.

Thanks,

Eliot

--
Eliot Kimber
http://contrext.com
 

On 3/5/19, 1:15 PM, "Martin Honnen martin(_dot_)honnen(_at_)gmx(_dot_)de" 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

    On 05.03.2019 20:08, Eliot Kimber ekimber(_at_)contrext(_dot_)com 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])
    >          "
    >      /> 
    > 
    > This works but seems unnecessarily complicated.
    
    
    Wouldn't
       $links/root()
    suffice?
    
    
    
    
--~----------------------------------------------------------------
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
--~--

<Prev in Thread] Current Thread [Next in Thread>