Subject: RE: 2 unique lists From: "Chris Bayes" <Chris@xxxxxxxxxxx> Date: Mon, 7 Aug 2000 17:47:29 +0100 |
>Hello all. > >This another question about deriving a unique list from xmldata, >but I think >mine is a little different. I have the following xml: > ><schedule> > <person name="person1"> > <date>Feb2000</date> > <date>Mar2000</date> > <date>Apr2000</date> > <date>Feb2000</date> > <date>Mar2000</date> > <date>Apr2000</date> > <date>Feb2000</date> > <date>Mar2000</date> > <date>Apr2000</date> > <date>Feb2000</date> > <date>Mar2000</date> > <date>Apr2000</date> > </person> > <person name="person2"> > <date>Feb2000</date> > <date>Mar2000</date> > <date>Apr2000</date> > <date>Feb2000</date> > <date>Mar2000</date> > <date>Apr2000</date> > <date>Feb2000</date> > <date>Mar2000</date> > <date>Apr2000</date> > <date>Feb2000</date> > <date>Mar2000</date> > <date>Apr2000</date> > </person> ></schedule> > > and from this I want two unique lists of dates, thus > > person1: Feb2000, Mar2000, Apr2000. > person2: Feb2000, Mar2000, Apr2000. > > Here is the first stylesheet, using preceding: > ><xsl:template match="person"> > <xsl:value-of select="@name"/><xsl:text>: </xsl:text> > <xsl:for-each select="date[ not( . = preceding::date )]"> > <xsl:value-of select="."/> > <xsl:if test="not(position()=last())">, </xsl:if> > </xsl:for-each> ></xsl:template> You could try <xsl:template match="person"> <xsl:value-of select="@name"/><xsl:text>: </xsl:text> <xsl:for-each select="date[ not( . = preceding-sibling::date )]"> <xsl:value-of select="."/> <xsl:if test="not(position()=last())">, </xsl:if> </xsl:for-each> </xsl:template> Ciao Chris XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
2 unique lists, Matthew Cordes | Thread | Re: 2 unique lists, Jeni Tennison |
Why does this work?, Schmitt, Christian | Date | RE: xslt question, Kay Michael |
Month |