Jarno(_dot_)Elovirta(_at_)nokia(_dot_)com wrote:
But, if you just want a set, then
 <xsl:copy-of 
select="tblMIMCompanies[contains(translate(@building,$upperCase,$lowerCase),translate($address,$upperCase,$lowerCase))
                                  and 
contains(translate(@number,$upperCase,$lowerCase),translate($address,$upperCase,$lowerCase))
                                  and 
contains(translate(@street,$upperCase,$lowerCase),translate($address,$upperCase,$lowerCase))
                                  and 
contains(translate(@town,$upperCase,$lowerCase),translate($address,$upperCase,$lowerCase))
                                  and 
contains(translate(@postcode,$upperCase,$lowerCase),translate($address,$upperCase,$lowerCase))
                                  and 
contains(translate(@country,$upperCase,$lowerCase),translate($address,$upperCase,$lowerCase))
                                  and 
contains(translate(@address,$upperCase,$lowerCase),translate($address,$upperCase,$lowerCase))]"/>
 
Jarno,
shouldn't that be 'or' instead of 'and'?
Also, if you can be sure there are no other attributes that might 
contain $address, you can do this:
<xsl:variable name="withaddress" 
select="tblMIMCompanies[contains(translate(@*,$upperCase,$lowerCase),translate($address,$upperCase,$lowerCase))]"/>
(that would include all elements where *any* attribute contains $address)
Anton