COL format

The col xml format describes individual collections of individual chm files that are used to group content into aggregations.

You can access a DTD that describes this XML format or read on for a more human-oriented description.

The outer element is XML, immediately inside this is the HTMLHelpCollection element, which is the true container for the other elements.

First in the HTMLHelpCollection element come several meta-data elements:

Meta-data elements
Element Explanation
masterchm The file-name stem of the main chm of the collection.
masterlangid The numerical value of the main language, presumably that of the chm listed in the masterchm element.
samplelocation This has only been empty. Presumably the location that stores the samples.
collectionnum Which collection this is in the collection registry file (hhcolreg.dat). Numeric.
refcount Presumably a reference count that stores how many times this collection is linked into other collections or into hhcolreg.dat.
version Presumably the DTD version for this particular collection.

These are followed by a Folders element, which contains a single Folder element.

Each Folder element contains a TitleString element, a FolderOrder element (numerical) and 0 or more Folder elements. The value attribute of the TitleString element contains the string to display in the contents pane and the value attribute of the FolderOrder element stores the order in which its parent Folder element is put into the contents pane at the current Folder depth. If two Folder elements with the same parent have the same value attribute of the FolderOrder element then the one that occurs earlier in the file will come first in the contents pane.

Terminal Folder elements have TitleString elements with a value attribute of the form "=chmstem", where chmstem is the file-name stem of a chm file. Terminal Folder elements also have a LangId element whose value attribute is a numerical language identifier.