5.7. Sitemap formats

5.7.1. Preface

These formats are based on HTML and use the following doctype:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">

The <HEAD> tag contains a <meta> tag providing information on the program that generated the files and a comment indicating the version of the file. e.g.:

<meta name="GENERATOR"content="Microsoft&reg; HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->

The <BODY> tag contains an <OBJECT> tag that stores properties of the file in <param> tags, followed by a <UL> tag, whose <LI> tags have <OBJECT> tags that store the properties of the Contents/Index items in <param> tags. e.g.:

<BODY>
<OBJECT type="text/site properties">
    <param name="Property Name" value="Property Value">
    …
</OBJECT>
<UL>
    <LI> <OBJECT type="text/sitemap">
        <param name="Property Name" value="Property Value">
        …
        </OBJECT>
    …
</UL>
</BODY>

Note that the Property Names and Property Values and tags are not case-sensitive, but HHW will always write all three in the default capitilization, when appropriate.

Note that the tags are mostly in uppercase and the <LI> tag is not closed; this is in compliance with the doctype.

Some properties that were seen in HHA.dll that may or may not be used are Background Image, NumberImages, InformationTypeDecl, Secondary, Icon, Display, Keyword, Instruction, Section Title, Favorites, QueryType, SendEvent, SendMessage, HHI, Inclusive & Exclusive.

5.7.2. HHC format

These files store the information needed for the contents pane and are in sitemap format.

The order of global properties is as follows: [FrameName] [WindowName] [Information Types] [ImageList] [Image Width] [Color Mask] [Background] [Foreground] [ExWindow Styles] [Window Styles] [ImageType] [Font]

Table 5.54. Global HHC properties.

Property Example value Explanation
FrameName left This is used where the topics should open in a specific HTML frame.
WindowName main This is used where the topics should open in a specific window.
ImageList foobar.bmp Path of a BMP that stores multiple images of the same size in a horizontal array.
Image Width 16 The width of the images in the ImageList file. HHW is buggy with respect to this; it ignores what is in the file, only ever displays 20 in the GUI and preserves the value in the file.
Color Mask 0xFF Only output by FAR. Has an effect on Foreground & Background colours. Unknown.
Background 0xffffff Colour of the background of the TOC window. White default. In hex format.
Foreground 0x0 Colour of the text of the TOC window (window & page names). Black default. In hex format.
ExWindow Styles 0x6300 Win32 extended window style DWORD. In hex format.
Window Styles 0xc01627 Win32 window style DWORD. In hex format.
ImageType Folder When using standard images (ImageList is not present), causes different icons to be used. Normally headings use a book icon & pages have a page icon with a question mark on it. If this property is "Folder" then headings will use a Folder icon and pages will have a page icon with horizontal lines on it.
Font Times New Roman,8,0 Font name, font size, character set.
Auto Generated Yes Output when the HHC has been automatically generated by HHW during the compilation process when Auto TOC is present in the HHP.

The information types are also stored in the global properties and their order is as follows: ((SaveType|SaveHidden|SaveExclusive) SaveTypeDesc)... [(Category CategoryDesc ((Type|TypeHidden|TypeExclusive) TypeDesc)...)...]

Table 5.55. Information types in the global properties.

Property Example value Explanation
SaveType Manager Declares an information type as Inclusive.
SaveHidden Code monkey Declares an information type as Hidden.
SaveExclusive Engineer Declares an information type as Exclusive.
SaveTypeDesc A professional of the engineering discipline. Describes the previously declared information type.
Category Experience level Declares a category.
CategoryDesc How knowledgeable you are. Describes the previously declared category.
Type Luser Denotes an information type that belongs to the previously declared category as an Inclusive type.
TypeHidden Hacker Denotes an information type that belongs to the previously declared category as a Hidden type.
TypeExclusive Guru Denotes an information type that belongs to the previously declared category as an Exclusive type.
TypeDesc A programmer of great talent. Describes the previously denoted information type.

The order of the item properties is as follows: Merge | ([Name] ([Type...] [Local] [URL])... [FrameName] [WindowName] [Comment] [New] [ImageNumber])

Table 5.56. Properties for HHC items.

Property Example value Explanation
Name   What is displayed in the Contents.
Local   The
URL    
ImageNumber   The image to display for this item.
New   When an auto image is being used this increases the image number by 1 so that this image [] is seemingly added to the image.
Comment    
FrameName    
WindowName    
Type    
Merge    

5.7.3. HHK format

These files store the information needed for the index pane and are in the sitemap format.

The order of global properties is as follows: [FrameName] [WindowName] [Font]

Table 5.57. Global properties of the HHK format.

Property Example value Explanation
FrameName left This is used where the topics should open in a specific HTML frame.
WindowName main This is used where the topics should open in a specific window.
Font Times New Roman,8,0 Font name, font size, character set.

The information types are also stored in the global properties and occur before the properties above, but they are not preserved by HHW. Their order is as follows: ((SaveType|SaveHidden|SaveExclusive) SaveTypeDesc)... [(Category CategoryDesc ((Type|TypeHidden|TypeExclusive) TypeDesc)...)...]

Table 5.58. Information types of the HHK format.

Property Example value Explanation
SaveType Manager Declares an information type as Inclusive.
SaveHidden Code monkey Declares an information type as Hidden.
SaveExclusive Engineer Declares an information type as Exclusive.
SaveTypeDesc A professional of the engineering discipline. Describes the previously declared information type.
Category Experience level Declares a category.
CategoryDesc How knowledgeable you are. Describes the previously declared category.
Type Luser Denotes an information type that belongs to the previously declared category as an Inclusive type.
TypeHidden Hacker Denotes an information type that belongs to the previously declared category as a Hidden type.
TypeExclusive Guru Denotes an information type that belongs to the previously declared category as an Exclusive type.
TypeDesc One who knows everything. Describes the previously denoted information type.

The order of the item properties is as follows: Merge | ([Name] ([Name] [Type...] [Local [URL] | See Also])... [FrameName] [WindowName] [Comment])

Table 5.59. Item properties of the HHK format.

Property Example value Explanation
Name ITSF format The first instance is the keyword string to be displayed in the index.
Type Experience Level::Luser Category :: Type
Local itsf.html The file to load when the user selects the index item.
URL   Should not be present unless Local also is. In the HHW GUI it is an "Alternate URL". Not sure what it does though.
See Also ITSF internal file formats When the user double-clicks the index item the Index control will jump to the Index entry whose keyword is the value of this param. Mutually exclusive with the Local [URL] pair.
FrameName left The frame to open the topic in.
WindowName main The window to open the topic in.
Comment   Dunno what this does.
Merge