Question : XSL - How to select distinct records

I am trying to create output with distinct records.  I have tried multiple solutions found on the knowledgebase but have not had any luck.  Output should show one record per distinct 'CustId'  value.  I'm sure there is an easy solution for this but i'm missing something.

Code samples shown below:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
***********  XML  *******************

<CustSrchResponse xmlns="http://somedomain.com/jxchange/TPG/2008" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      
         <CustSrchRecArray>
            <CustSrchRec>
               <CustId>90075131</CustId>

               <PersonName>
                  <ComName>ELAINE ANN SMITH</ComName>

                  <FirstName>ELAINE</FirstName>

                  <MiddleName>ANN</MiddleName>

                  <LastName>SMITH</LastName>

                  <Ver_1>
                  </Ver_1>
               </PersonName>

               <AccountId>
                  <AcctId>0</AcctId>

                  <AcctType>
                  </AcctType>

                  <Ver_1>
                  </Ver_1>
               </AccountId>

               <PhoneNum>5552916648</PhoneNum>

               <TINCode>I</TINCode>

               <TaxId>xxxxxxxxx</TaxId>

               <CustType>I</CustType>


            </CustSrchRec>

            <CustSrchRec>
               <CustId>90119761</CustId>

               <PersonName>
                  <ComName>SHERWIN L SMITH</ComName>

                  <FirstName>SHERWIN</FirstName>

                  <MiddleName>L</MiddleName>

                  <LastName>SMITH</LastName>

                  <Ver_1>
                  </Ver_1>
               </PersonName>

               <AccountId>
                  <AcctId>0</AcctId>

                  <AcctType>
                  </AcctType>

                  <Ver_1>
                  </Ver_1>
               </AccountId>

               <PhoneNum>5552916648</PhoneNum>

               <TINCode>I</TINCode>

               <TaxId>xxxxxxxxx</TaxId>

               <CustType>I</CustType>

            </CustSrchRec>

            
            <CustSrchRec>
               <CustId>90075131</CustId>

               <PersonName>
                  <ComName>ELAINE ANN SMITH</ComName>

                  <FirstName>ELAINE</FirstName>

                  <MiddleName>ANN</MiddleName>

                  <LastName>SMITH</LastName>

                  <Ver_1>
                  </Ver_1>
               </PersonName>

               <AccountId>
                  <AcctId>0</AcctId>

                  <AcctType>
                  </AcctType>

                  <Ver_1>
                  </Ver_1>
               </AccountId>

               <PhoneNum>5552916648</PhoneNum>

               <TINCode>I</TINCode>

               <TaxId>xxxxxxxxx</TaxId>

               <CustType>I</CustType>

               
            </CustSrchRec>

            <CustSrchRec>
               <CustId>90119761</CustId>

               <PersonName>
                  <ComName>SHERWIN L SMITH</ComName>

                  <FirstName>SHERWIN</FirstName>

                  <MiddleName>L</MiddleName>

                  <LastName>SMITH</LastName>

               
               </PersonName>

               <AccountId>
                  <AcctId>0</AcctId>

                  <AcctType>
                  </AcctType>

                  <Ver_1>
                  </Ver_1>
               </AccountId>

               <PhoneNum>5552916648</PhoneNum>

               <TINCode>I</TINCode>

               <TaxId>xxxxxxxxx</TaxId>

               <CustType>I</CustType>

   
            </CustSrchRec>

         </CustSrchRecArray>

         <Ver_1>
         </Ver_1>
      </CustSrchResponse>


************************** XSL *************************

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:urn="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn2="http://somedomain.com/jxchange/TPG/2008" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope" exclude-result-prefixes="urn2 urn xsi soap xsd">
<xsl:output method="xml"/>
<xsl:output omit-xml-declaration="yes"/>


<xsl:template match='/'>
<data><xsl:text>&#13;</xsl:text>
<xsl:text>&#09;</xsl:text><customers><xsl:text>&#13;</xsl:text>
<xsl:for-each select="//urn2:CustSrchRec">
<xsl:text>&#09;</xsl:text><customer><xsl:text>&#13;</xsl:text>
<xsl:text>&#09;</xsl:text><xsl:text>&#09;</xsl:text><custid><xsl:value-of select="urn2:CustId"/></custid><xsl:text>&#13;</xsl:text>
<xsl:text>&#09;</xsl:text><xsl:text>&#09;</xsl:text><personname><xsl:value-of select="urn2:PersonName/urn2:ComName"/></personname><xsl:text>&#13;</xsl:text>
<xsl:text>&#09;</xsl:text><xsl:text>&#09;</xsl:text><phonenum><xsl:value-of select="urn2:PhoneNum"/></phonenum><xsl:text>&#13;</xsl:text>
<xsl:text>&#09;</xsl:text><xsl:text>&#09;</xsl:text><taxid><xsl:value-of select="urn2:TaxId"/></taxid><xsl:text>&#13;</xsl:text>
<xsl:text>&#09;</xsl:text><xsl:text>&#09;</xsl:text><lastfourtaxid><xsl:value-of select="substring(urn2:TaxId,6,4)"/></lastfourtaxid><xsl:text>&#13;</xsl:text>
<xsl:text>&#09;</xsl:text></customer><xsl:text>&#13;</xsl:text>
</xsl:for-each>

<xsl:text>&#09;</xsl:text></customers><xsl:text>&#13;</xsl:text>
</data><xsl:text>&#13;</xsl:text>
</xsl:template>
</xsl:stylesheet>



******************  OUTPUT *******************

<data>
	<customers>
	<customer>
		<custid>90075131</custid>
		<personname>ELAINE ANN SMITH</personname>
		<phonenum>5552916648</phonenum>
		<taxid>xxxxxxxxx</taxid>
		<lastfourtaxid>xxxx</lastfourtaxid>
	</customer>
	<customer>
		<custid>90119761</custid>
		<personname>SHERWIN L SMITH</personname>
		<phonenum>5552916648</phonenum>
		<taxid>xxxxxxxxx</taxid>
		<lastfourtaxid>xxxx</lastfourtaxid>
	</customer>
	<customer>
		<custid>90075131</custid>
		<personname>ELAINE ANN SMITH</personname>
		<phonenum>5552916648</phonenum>
		<taxid>xxxxxxxxx</taxid>
		<lastfourtaxid>xxxx</lastfourtaxid>
	</customer>
	<customer>
		<custid>90119761</custid>
		<personname>SHERWIN L SMITH</personname>
		<phonenum>5552916648</phonenum>
		<taxid>xxxxxxxxx</taxid>
		<lastfourtaxid>xxxx</lastfourtaxid>
	</customer>
	</customers>
</data>

Answer : XSL - How to select distinct records

Oh, got it (in the feature, when you provide the output, please provide the DESIRED output, not that you already have. It will easy the understanding your question).
See the sample:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:urn="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn2="http://somedomain.com/jxchange/TPG/2008" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope" exclude-result-prefixes="urn2 urn xsi soap xsd">
<xsl:output method="xml" indent="yes"/>
<xsl:key name="csk" match="urn2:CustSrchRec" use="urn2:CustId"/>
<xsl:template match="urn2:CustSrchRecArray">
 <data>
  <customers>
	<xsl:for-each select="urn2:CustSrchRec[generate-id(.) = generate-id(key('csk', urn2:CustId))]">
		<customer>
		<custid><xsl:value-of select="urn2:CustId"/></custid>
		<personname><xsl:value-of select="urn2:PersonName/urn2:ComName"/></personname>
		<phonenum><xsl:value-of select="urn2:PhoneNum"/></phonenum>
		<taxid><xsl:value-of select="urn2:TaxId"/></taxid>
		<lastfourtaxid><xsl:value-of select="substring(urn2:TaxId,6,4)"/></lastfourtaxid>
		</customer>
	</xsl:for-each>
  </customers>
 </data>
</xsl:template>
</xsl:stylesheet>
Random Solutions  
 
programming4us programming4us