xsl-list
[Top] [All Lists]

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

2008-11-04 21:22:06
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(_dot_)szabo(_at_)lexisnexis(_dot_)at]
Sent: Monday, November 03, 2008 3:12 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] fn:contains multiple strings to compare with

Hi,

I´m 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')...



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--