xsl-list
[Top] [All Lists]

RE: xsl:variable and node list

2004-10-15 01:20:21
Hi,

Jarno(_dot_)Elovirta(_at_)nokia(_dot_)com wrote:

But, if you just want a set, then

 <xsl:copy-of 
select="tblMIMCompanies[contains(translate(@building,$upperCas
e,$lowerCase),translate($address,$upperCase,$lowerCase))
                                  and 
contains(translate(@number,$upperCase,$lowerCase),translate($a
ddress,$upperCase,$lowerCase))
                                  and 
contains(translate(@street,$upperCase,$lowerCase),translate($a
ddress,$upperCase,$lowerCase))
                                  and 
contains(translate(@town,$upperCase,$lowerCase),translate($add
ress,$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'?

Yes, of course it should be. And it should be xsl:variable element, not 
xsl:copy. Friday, you know...

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,$lowe
rCase),translate($address,$upperCase,$lowerCase))]"/>

(that would include all elements where *any* attribute 
contains $address)

No, because the first argument to translate() is a string, thus when you give 
it a node-set, it will always just take the first one.

Cheers,

Jarno - Velvet Acid Christ: Futile (Resisted mix by Funker Vogt)


<Prev in Thread] Current Thread [Next in Thread>