Subject: Re: [xsl] Duplicate Elimination|
From: Ihe Onwuka <ihe.onwuka@xxxxxxxxx>
Date: Thu, 13 Mar 2014 07:26:28 +0000
ha ha recreating the date element and applying templates another nice trick. On Wed, Mar 12, 2014 at 9:14 PM, Martin Holmes <mholmes@xxxxxxx> wrote: > If the text content of the element is all you care about, you could do > something like this: > > <xsl:variable name="distinctDates"> > <xsl:for-each select="distinct-values(A/Date | B/Date)"> > <xsl:sort/> > <Date><xsl:value-of select="."/></Date> > </xsl:for-each> > </xsl:variable> > > <xsl:apply-templates select="$distinctDates/Date"/> > > > > > On 14-03-12 01:34 PM, Ihe Onwuka wrote: >> >> I have Date elements coming from 2 different parents. >> >> <A> >> <Date>blah</Date> >> </A> >> >> <B> >> <Date>blah</Date> >> </B> >> >> I am doing >> >> <xsl:apply-templates select="A/Date | B/Date> >> <xsl:sort select="." order="ascending"/> >> </xsl:apply-templates> >> >> and >> >> <xsl:template match="Date"> >> etc >> </xsl:template> >> >> I have noticed that when A and B have a child element of the same date >> the Date template gets fired on each occasion, whereas I only want it >> fired once >> >> I thought the union operator in the apply-templates would have the >> effect of eliminating duplicates or aren't they duplicates if they >> have the same content but come from different parents.