|
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 |