...just saw there's no need to loop over "//section-02/title" anymore,
so the output variable can as well be rewritten without all these "../":
<xsl:variable name="output">
<xsl:for-each select="//section-02">
<xsl:sort select="exsl:node-set($sort-titles)/*[(_at_)doc-number =
current()/doc-number]"/>
<xsl:sort select="number(concat(substring(arrival-date, 7,4),
substring(arrival-date, 1,2), substring(arrival-date, 4,2)))"
order="descending"/>
<title doc-number="{doc-number}" title="{key('titles', doc-number)}"
description="{description}" arrival-date="{arrival-date}"/>
</xsl:for-each>
</xsl:variable>
Anton