Note

The Hierarchical TOC plug-in is not compatible with MS Help Viewer output and there is currently no fix available. The problem is that the table of contents is generated off of the help topics when the help viewer file is installed and, since there are no physical topics for the namespace nodes added to the intermediate TOC file by the plug-in, they do not appear in the help file. Updating the plug-in to support help viewer output would have required more work than time would allow for this release. If building other output formats in which you want to use the plug-in, build them separately from the MS Help Viewer output.

This plug-in can be used to rearrange the table of contents such that namespaces are nested within their parent namespaces rather than appearing as a flat list of all namespaces at the root level. The plug-in has two configuration options:

Create containers for common root namespaces with more than [N] part(s)

This option lets you specify at what level container namespace entries should start being created for namespaces with a common root namespace. By default, entries in the table of contents are only created for namespaces with content. For example, consider the following namespaces in a table of contents:

  • MyCompany.MyProduct
  • MyCompany.MyProduct.Web.Controls
  • MyCompany.MyProduct.Web.Design
  • MyCompany.MyProduct.Windows.Forms

Since no classes exist in the MyCompany.MyProduct.Web or MyCompany.MyProduct.Windows namespaces, no namespace entries exists for them. When this option is set to two, the default, the plug-in will create a container namespace in the table of contents called MyCompany.MyProduct.Web and will nest the MyCompany.MyProduct.Web.Controls and MyCompany.MyProduct.Web.Design namespaces beneath it. The created container will have no page associated with it as it just serves to further group the namespaces with a common root name. This will only occur if two or more namespaces would appear. Since there would only be one namespace under MyCompany.MyProduct.Windows, no container entry is created for it.

If set to one, an additional container for the MyCompany namespace would be created at the root level and all of the other namespaces would be nested below it. The MyCompany.MyProduct.Web namespace container would also be created as before. By setting the number to a higher value, you can delay the point at which it creates the containers or prevent it from doing so altogether. For example, if set to three in the above example, the additional MyCompany.MyProduct.Web container would not be created and, since there are no common root namespaces with four or more parts no other additional containers would be created either.

Insert nested namespaces below the parent namespace's content

As its name implies, if this option is checked, the nested namespaces will be inserted below the parent namespace's content. If unchecked, the default, the namespaces are inserted ahead of the parent's content.

See Also

Other Resources