Should be rather simple...here's the code for a modified rev.categories.xml.config file that I called template.subcategories.xml.config, and I called it from the template using
Code:
(!XmlPackage Name="template.subcategories.xml.config!)
Code:
<?xml version="1.0" standalone="yes" ?>
<package version="2.1" displayname="Categories" debug="false" includeentityhelper="true">
<PackageTransform>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:aspdnsf="urn:aspdnsf" exclude-result-prefixes="aspdnsf">
<xsl:output method="html" omit-xml-declaration="yes"/>
<xsl:param name="AncestorID">
<xsl:for-each select="/root/EntityHelpers/Category//Entity[EntityID = $CategoryID]">
<xsl:value-of select="ancestor::*/EntityID"/>
</xsl:for-each>
</xsl:param>
<xsl:param name="ParentID">
<xsl:for-each select="/root/EntityHelpers/Category//Entity[EntityID = $CategoryID]">
<xsl:value-of select="parent::*/EntityID"/>
</xsl:for-each>
</xsl:param>
<xsl:param name="CategoryID">
<xsl:choose>
<xsl:when test="/root/QueryString/categoryid">
<xsl:value-of select="/root/QueryString/categoryid"/>
</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:param>
<xsl:template match="/">
<xsl:element name="ul">
<xsl:attribute name="class">
<![CDATA[tame]]>
</xsl:attribute>
<xsl:for-each select="/root/EntityHelpers/Category/Entity">
<xsl:sort select="DisplayOrder"/>
<xsl:sort select="Name"/>
<xsl:sort select="EntityID"/>
<xsl:if test="(EntityID = $CategoryID) or (EntityID = $AncestorID)">
<xsl:for-each select="descendant::Entity[(descendant::ParentEntityID = $CategoryID) or (descendant::EntityID = $CategoryID)]">
<xsl:sort select="DisplayOrder"/>
<xsl:sort select="Name"/>
<xsl:sort select="EntityID"/>
<xsl:variable name="EntityID" select="EntityID"/>
<xsl:element name="li">
<xsl:call-template name="Space">
<xsl:with-param name="count" select="count(ancestor::*/Entity[(descendant::EntityID = $EntityID)]) - 1"/>
</xsl:call-template>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="concat('c-',EntityID,'-',SEName,'.aspx')"/>
</xsl:attribute>
<xsl:value-of select="Name"/>
</xsl:element>
</xsl:element>
</xsl:for-each>
</xsl:if>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template name="Space">
<xsl:param name="count" select="1"/>
<xsl:if test="$count > 0">
<xsl:text>*</xsl:text>
<xsl:call-template name="Space">
<xsl:with-param name="count" select="$count - 1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
</PackageTransform>
</package>