CreateVSToc.xsl Customization

Aug 5, 2009 at 5:35 AM


I'd like to customize my table content of the assembly reference to generate subnodes beneath the namespace such as "Classes", "Interfaces", "Enumerations"... and group by the members beneath these subnodes.
I belive Sandcastle follows the CreateVSToc.xsl to generate the TOC.xml, however, it is difficult to get the idea how to customize this file to achieve the desired result. It would be helpful if there are any kind of reference or examples I could refer to on the customization of the CreateVSToc.xsl.

Thanks in advance - May

Aug 5, 2009 at 1:48 PM

Hi May,

The output is an XML file.  You can write a command-line tool that uses the legacy XML class model or LINQ to XML to rearrange the XML elements and produce the TOC that you want.

- Dave

Aug 6, 2009 at 7:30 AM

Thanks Dave for the help. Sure, that's a good way.

I was wondering if this could be achieved by some customization on the CreateVSToc.xsl.
Since the namespaces get grouped, expected if similar behavior could be achieved by classes, enumerations, etc with small customization...
Perhaps this is not easy as I thought.

Aug 6, 2009 at 12:09 PM

Hi May,

Well it's possible to update the CreateVSToc.xsl file directly, but then you'll have to maintain your own version moving forward.  If you create a tool that modifies its output instead, then it will be easier to maintain when MS releases new versions of Sandcastle, assuming that they might modify this file and also assuming that they will release new versions of Sandcastle ;)

- Dave

Dec 10, 2009 at 4:38 AM
Edited Dec 10, 2009 at 4:40 AM


I'd like to modify the CreateVSToc.xsl that the elements be grouped.
But to tell the truth I do not really understand XSL. Would you be able to help please?

Thanks in advance.