+ <xsl:apply-templates select="object[@name='index.theory']"/>
+ <!-- sorting: folders interleaved with theories, then objects-->
+ <xsl:apply-templates
+ select="section|object[substring-after(@name,'.')='theory' and
+ not(@name='index.theory')]">
+ <xsl:sort select="translate(concat(@name,string(.)),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')" />
+ </xsl:apply-templates>
+ <xsl:apply-templates
+ select="object[not(substring-after(@name,'.')='theory')]" >
+ <xsl:sort select="translate(concat(@name,string(.)),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')" />
+ </xsl:apply-templates>