This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: 2 unique lists


Jenni, 

Thanks so much for your help.

> <xsl:key name="thedate" match="date" use="."/>
> 
> <xsl:template match="person">
>   <xsl:value-of select="@name"/><xsl:text>: </xsl:text>
>   <xsl:for-each select="date[generate-id(.) =
> generate-id(key('thedate',.)[../@name = current()/@name][1])]">
>     <xsl:value-of select="."/>
>     <xsl:if test="not(position()=last())">, </xsl:if>
>   </xsl:for-each>
> </xsl:template>

This one didn't seem to work, It threw a SAXException with the message:

* XSL Error: pattern = 'date[generate-id(.) = 
*		generate-id(key('thedate',.)[../@name = current()/@name][1])]'
* The current() function is not allowed in a match pattern!, 
*		source tree node: date
( indentation and *'s added by me )

> <xsl:key name="thedate" match="date" use="concat(../@name, '::', .)"/>
> 
> <xsl:template match="person">
>   <xsl:value-of select="@name"/><xsl:text>: </xsl:text>
>   <xsl:for-each select="date[generate-id(.) =
> generate-id(key('thedate',concat(../@name, '::', .))[1])]">
>     <xsl:value-of select="."/>
>     <xsl:if test="not(position()=last())">, </xsl:if>
>   </xsl:for-each>
> </xsl:template>

This is working.  Again thank you kindly.

-matt


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]