RE: [xsl] merge using keys, xslt 2.0

Subject: RE: [xsl] merge using keys, xslt 2.0
From: "Pawson, David" <David.Pawson@xxxxxxxxxxx>
Date: Tue, 5 Apr 2005 08:40:37 +0100
Thanks Mike.
The two documents (and the third param to key() led me that way).

Then a second pass to sort alphabetically.

regards DaveP

    -----Original Message-----
    From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
    Sent: 05 April 2005 08:17
    To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
    Subject: RE: [xsl] merge using keys, xslt 2.0

    Don't use keys, use grouping

    <xsl:for-each-group select="$doc1/body/outline/outline,
    $doc2/body/outline/outline"
     group-by="@xmlUrl">
      <xsl:copy-of select="current-group()[1]"/> </xsl:for-each-group>

    Michael Kay
    http://www.saxonica.com/

    > -----Original Message-----
    > From: Pawson, David [mailto:David.Pawson@xxxxxxxxxxx]
    > Sent: 05 April 2005 08:09
    > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
    > Subject: [xsl] merge using keys, xslt 2.0
    >
    >
    > I want to merge two instances, both valid to a single
    dtd, removing
    > duplicates
    >
    >
    > Outline structure is
    >
    > <body>
    > <outline>
    > <outline type="rss" text="O'Reilly Network Safari Bookshelf"
    > title="O'Reilly Network Safari Bookshelf"
    > xmlUrl="http://safari.oreilly.com/rss"/>
    > </outline>
    > </body>
    >
    > Two documents $home and $work
    >     <xsl:variable name="home" select="document('home.opml')"/>
    >     <xsl:variable name="work" select="document('work.opml')"/>
    >
    > Stylesheet has
    >
    > <xsl:key name='outline' match='outline/outline' use='@xmlUrl'/>
    >
    >   <xsl:template match="outline[outline]">
    >       <xsl:copy>
    >         <xsl:copy-of select="@*"/>
    >           <xsl:apply-templates
    > select="key('outline',outline,$home)[1]|
    > key('outline',outline,$work)[1]"/>
    >       </xsl:copy>
    >     </xsl:template>
    >
    >
    > I'm unsure where to go from here?
    >
    > Any help appreciated.
    >
    >
    >
    >
    > Regards DaveP.
    >
    > **** snip here *****
    >
    > --
    > DISCLAIMER:
    >
    > NOTICE: The information contained in this email and any
    attachments is
    > confidential and may be privileged.  If you are not the intended
    > recipient you should not use, disclose, distribute or
    copy any of the
    > content of it or of any attachment; you are requested to
    notify the
    > sender immediately of your receipt of the email and then
    to delete it
    > and any attachments from your system.
    >
    > RNIB endeavours to ensure that emails and any attachments
    generated by
    > its staff are free from viruses or other contaminants.
    However, it
    > cannot accept any responsibility for any  such which are
    transmitted.
    > We therefore recommend you scan all attachments.
    >
    > Please note that the statements and views expressed in
    this email and
    > any attachments are those of the author and do not necessarily
    > represent those of RNIB.
    >
    > RNIB Registered Charity Number: 226227
    >
    > Website: http://www.rnib.org.uk

Current Thread