[xsl] Problems selecting the right nodes.

Subject: [xsl] Problems selecting the right nodes.
From: Adam van den Hoven <list@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 25 Sep 2003 09:26:03 -0700
I have a nodeset or arbitrary length that contains a set of tags which look something like:

<branch id="br1">
  <service id="service1" />
  <service id="service2" />
  <service id="service3" />
</branch>
<branch id="br2">
   <service id="service1" />
   <service id="service4" />
</branch>

Now what I want is a nodeset that contains (uniquely) all the services that do not occur in all the branches. In this case I want service 2, 3 and 4 but not 1

My original solution was iffy. I ended up creating a tokenized string ("Service2|Service3|Service4" in this case) which I then ran through a recursive named template which did a lot of substring-before and substring-after. Since what I cared about are the ids, that was fine. However, the input file is occasionally very large so this can take a very long time. I want to find a better solution.

If possible, I think I'd like to avoid using extension functions, unless there is an obvious performance boost.

Any thoughts?
Adam


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread