[xsl] Flat XML: Problem getting children

Subject: [xsl] Flat XML: Problem getting children
From: "Jacqui Moore" <jacquimoore1@xxxxxxxxxxx>
Date: Thu, 7 Oct 2004 17:26:56 +0100
I have an xml file that has the following structure:

<thesaurus>
<concept>
<descriptor>House</descriptor>
<NT>Rooms</NT>
<NT>Roofs</NT>
<SN>All About houses</SN>
</concept>
<concept>
<descriptor>Rooms</descriptor>
<BT>House</BT>
<NT>Lounge</NT>
<NT>Kitchen</NT>
<SN>We have rooms in houses</SN>
</concept>
<concept>
<descriptor> Lounge </descriptor>
<BT> Rooms </BT>
<SN>Lounges are nice places</SN>
</concept>
<concept>
<descriptor> Roofs </descriptor>
<BT>House</BT>
<NT>Kitchen</NT>
<SN>Roofs go on houses</SN>
</concept>
<concept>
<descriptor> Utensils </descriptor>
<BT>Kitchen</BT>
<SN>Utensils belong in the draw</SN>
</concept>

</thesaurus>

NT - the children categories
BT - the parent category

The objective is to create a expandable client side tree structure, and the
user will click on a category and the category information (SN) will be
displayed in the right frame.

- HOUSE
   - Rooms
       o Lounge
       o Kitchen
            ' Utensils
   - Roofs
       o Kitchen
           ' Utensils

I can get the top level categories:
<xsl:for-each select="thesaurus/concept[boolean(BT)=false]">

My problem is I do not know how to get the children and their children etc.
(loop until the concept has no NT element) . There is no limit to the number
of children levels and a child can appear in more than one parent. I think I
need to use a key but am not having ANY success.

Thanks in advance!!

Jacqui
Current Thread