xsl-list
[Top] [All Lists]

RE: Comma Separated Values - XSLT1.0

2004-10-21 02:24:23
Hi,

I have 2 XML elements each containing comma separated values. 
I need to
take each individual value from <elem2> and see if it exists 
in <elem1>. If
true is returned, go off and do something..... otherwise get 
the next value
from <elem2> and compare it to all the values in <elem1> etc etc.

<data>
      <elem1>bloggs,smith,jones,bush,howard,bennis</elem1>
      <elem2>skeen,seinfield,longshaw,bloggs,keitel</elem2>
</data>


So the approach would be:

Take 'skeen' and compare it to all the comma separated values 
in <elem1>.
If FALSE is returned, take 'seinfield' and compare to all 
values in <elem1>
and so on...If TRUE is returned at any stage DO SOMETHING. If 
at the end
nothing is found, DO SOMETHING DIFFERENT......

See my reply to "RE: [xsl] [Fwd: CLARIFICATION IN XML 2 XML TRANSFORMATION]", 
that contains a solution to a similar problem. What you need is to write a 
recursive template that tokenizes using COMMA as a delimiter, then on each 
token check if that appears in the other list, e.g. with contains(concat(',', 
elem1, ','), concat(',', $token, ',')). You can find more info on recursive 
templates in the FAQ.

Cheers,

Jarno


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