Specador Documentation Generator User Guide
Rev. 19.1.29, 20 August 2019

Chapter 6. XML Menu File Syntax

You can create your own custom navigation menu using a settings directive like:

<user-defined-html>my_menu.xml</user-defined-html>

The XML menu syntax is:

<!-- The XML file header, required. -->
<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<menu version="1"         <!-- Optional. Syntax version. 
                               Default latest. -->

  title="Intro"           <!-- Optional. A title for the menu root node. 
                               Default basename, if basename.txt is specified for src. -->

  position="top"          <!-- Optional. Menu position. 
                               Default bottom. -->

  src="some.txt"          <!-- Optional. A text file to process (recognize NaturalDocs or Javadoc syntax). 
                               Default none. -->

  dest="some.html"        <!-- Optional. A file to link the menu entry to. 
                               Default basename.html, if basename.txt is specified for src. 
                               Otherwise no link. -->

  defaultPage="some.html" <!-- Optional. The default content page when opening index.html. 
                               By default is the overview page, if any. -->

  overview="false"        <!-- Optional. Add Overview menu entry, unless false. 
                               By default the Overview menu entry points to the Overview page.
                               The Overview page can be generated from the specified overview-file. -->
  >

     <item
       title="1 Menu"     <!-- Optional. A title for the menu node. 
                               Default basename, if basename.txt is specified for src. -->

       src="chap1.txt"    <!-- Optional. A text file to process (recognize NaturalDocs or Javadoc syntax). 
                               Default none. -->

       dest="ch1.html"    <!-- Optional. A file to link the menu entry to. 
                               Default basename.html, if basename.txt is specified for src. 
                               Otherwise no link. -->
       >
         <item src="a.txt" title="1.1 Submenu"/>
         <item src="b.txt" title="1.2 Submenu">
           <item src="a.txt" title="1.2.1 Submenu"/>
         </item>
     </item>
</menu>

For example you get a menu like:

from:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<menu version="1" title="Class Reference" src="docs/html/src/overviews/intro.txt" position="top" defaultPage="intro.html" overview="false">
   <item src="docs/html/src/overviews/base.txt" title="Base">
      <item dest="uvm_pkg-uvm_object.html" title="uvm_object"/>
   </item>
   <item src="docs/html/src/overviews/reporting.txt" title="Reporting"/>
   <item src="docs/html/src/overviews/recording.txt" title="Recording"/>
   <item src="docs/html/src/overviews/factory.txt" title="Factory"/>
   <item src="docs/html/src/overviews/phasing.txt" title="Phasing">
      <item src="docs/html/src/overviews/test-phasing.txt" title="User Defined Phasing"/>
   </item>
</menu>