Hello,

maybe it is really something simple, but I have not been able to solve it working through different examples, guides and forums.

An example from my XML file:
---------------
<thesaurus>
<term>
<title>origin</title>
<narrowerterm>type of origin</narrowerterm>
<narrowerterm>propagation</narrowerterm>
</term>
<term>
<title>type of origin</title>
<broaderterm>origin</broaderterm>
<narrowerterm>biochemical</narrowerterm>
<narrowerterm>techno-physical</narrowerterm>
<narrowerterm>supernatural</narrowerterm>
</term>
<term>
<title>propagation</title>
<broaderterm>origin</broaderterm>
<narrowerterm>physical contact</narrowerterm>
<narrowerterm>airborne</narrowerterm>
<narrowerterm>waterborne</narrowerterm>
<narrowerterm>spells</narrowerterm>
</term>
</thesaurus>
---------------

The XSL code I apply to this:
---------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="thesaurus">
<html>
<body>
<a name="top"><h2>Thesaurus</h2></a>

<xsl:apply-templates>
<xsl:sort select="title"/>
<xsl:sort select="broaderterm"/>
<xsl:sort select="narrowerterm"/>
</xsl:apply-templates>

</body>
</html>
</xsl:template>

<xsl:template match="term">
<p>
<xsl:apply-templates select="title"/>
<xsl:apply-templates select="broaderterm"/>
<xsl:apply-templates select="narrowerterm"/>
</p>
<a href="#top">return to top of page</a><br/><br/>
</xsl:template>

<xsl:template match="title">
<span style="font-weight: bold">
<a name="{.}"><xsl:value-of select="."/></a></span>
<br />
</xsl:template>

<xsl:template match="broaderterm">
<pre> BT: <a href="#{.}"><xsl:value-of select="."/></a></pre>
</xsl:template>

<xsl:template match="narrowerterm">
<pre> NT: <a href="#{.}"><xsl:value-of select="."/></a></pre>
</xsl:template>

</xsl:stylesheet>
---------------

What I want:
---------------
Thesaurus

origin
NT: propagation
NT: type of origin
return to top of page

propagation
BT: origin
NT: airborne
NT: physical contact
NT: spells
NT: waterborne
return to top of page

type of origin
BT: origin
NT: biochemical
NT: supernatural
NT: techno-physical
return to top of page
---------------

What I get:
---------------
Thesaurus

origin
NT: type of origin
NT: propagation
NT: place of origin
return to top of page

place of origin
BT: origin
NT: extra-dimensional
NT: extra-terrestrial
NT: terrestrial
return to top of page

propagation
BT: origin
NT: physical contact
NT: airborne
NT: waterborne
NT: spells
return to top of page

type of origin
BT: origin
NT: biochemical
NT: techno-physical
NT: supernatural
return to top of page
---------------

xsl:sort only has an effect on title, but not on narrowerterm within a term.

Questions:
Why does sort for narrowerterm within a term no work?
Is the xsl:sort applied to term and has no effect on sorting within a term?

Thanks a lot!

All the best

qlumbus