[xsl] RE: fn:contains multiple strings to compare with

Subject: [xsl] RE: fn:contains multiple strings to compare with
From: Tony Nassar <tnassar@xxxxxxxxxxxxxxxx>
Date: Tue, 4 Nov 2008 18:21:37 -0800
You could use a trick. Sequences returned from a sequence expression are
always flattened and concatenated. So:

for $city in ('Hamburg', 'Coblenz', 'Aachen') return (if
(contains('Hamburger', $city)) then true() else ())

...returns true(), because the empty sequences are simply discarded. OTOH,

for $city in ('Hamburg', 'Coblenz', 'Aachen') return (if
(contains('Frankfurter', $city)) then true() else ())

...is treated as false, as you'll see:

boolean(for $city in ('Hamburg', 'Coblenz', 'Aachen') return (if
(contains('Frankfurter', $city)) then true() else ()))

-----Original Message-----
From: Szabo, Patrick (LNG-VIE) [mailto:patrick.szabo@xxxxxxxxxxxxx]
Sent: Monday, November 03, 2008 3:12 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] fn:contains multiple strings to compare with

Hi,

I4m using XSLT 2.0 and Saxon 8.

Basicly i want to have something that does this:
contains('$d/ris:organ/text()', 'Hamburg' or 'Koblenz' or 'xxx'...) ===>
Compare 1 String with multpile strings.

instead of that: contains('$d/ris:organ/text()','Hamburg') or
contains('$d/ris:organ/text()','Koblenz')...

Current Thread