This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: adding unique values to a drop-down list
- From: "E100 SFYang" <SFYang at unisvr dot net dot tw>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Wed, 5 Dec 2001 11:53:52 +0800
- Subject: [xsl] Re: adding unique values to a drop-down list
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi,Katie
To get a unique set of Broker and Id, using key and muenchian method is
suggested
as follows:
<xsl:key name="nameid" match="Broker" use="concat(Name,'-',Id)" />
then define variable which defines the unique set of Broker node with
unique Name and Id
<xsl:variable name="nameid" select="Loans/Loan/BrokerSet/Broker[count(.
|key('nameid',concat(Name,'-',Id))[1]) = 1]" />
**xsl list **
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:key name="nameid" match="Broker"
use="concat(Name,'-',Id)"/>
<xsl:variable name="nameid"
select="Loans/Loan/BrokerSet/Broker[count(.
|key('nameid',concat(Name,'-',Id))[1]) = 1]" />
<xsl:template match="/">
<form action="">
<select name="FOO">
<!-- filter out the empty Id using string(Id) -->
<xsl:for-each select="$nameid[string(Id)]">
<xsl:sort select="Name" />
<xsl:sort select="Id"/>
<option value="{Id}">
<xsl:value-of select="Name"/> - <xsl:value-of
select="Id"/>
</option>
</xsl:for-each>
</select>
</form>
</xsl:template>
</xsl:stylesheet>
cheers,
sfyang@unisvr.net.tw
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list