|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: concat all items in a sequence
> I'm using the following:
>
> contains(elem, val)
>
> It's possible that 'elem' can be a sequence of more than one item.
>
> The way I've code around this is to use string-join with an empty
> string as one of the arguments:
>
> contains(string-join(for $i in elem return $i, ''), val)
>
> Is there a better way?
1. The expression
for $i in elem return $i
can be rewritten as
elem
So you get
contains(string-join(elem, ''), val)
2. Do you want to match substrings that cross item boundaries, e.g. do you
want contains(('red', 'green'), 'edgr') to be true? If so, I don't think you
can do better than the above. If you don't want this, then apply contains to
each string in the sequence separately:
exists(elem[contains(., val)])
Michael Kay
http://www.saxonica.com/
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








