[Home] [By Thread] [By Date] [Recent Entries]

Subject: 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:  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
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member