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