6. menu

<menu
  name = NMTOKEN
  label = non empty token
  helpId = NMTOKEN
  insert = non empty token
>
  Content: ([ insert | action | menu | separator ]+ [ menuItems ]?)
           | menuItems
</menu>

<insert />

<action 
  name = NMTOKEN
/>

<menu 
  name = NMTOKEN
/>

<separator />

<menuItems 
  name = NMTOKEN
/>

Specifies a menu. A menu contains references to action, menu and menuItems elements declared elsewhere in the GUI specification. The reference to the menuItems element, if any, must always be the last reference contained in the menu element.

The insert child element or the insert attribute may be used to extend the previous definition of a menu. More information in About the insert child element and the insert attribute.

Attributes:

name

Required. Unique name identifying the menu in this GUI specification.

label

Required unless this declaration is an extension of the previous one (that is, <insert/> is used). Label of the menu.

helpId

Online help ID of the menu.

Example: an ordinary menu:

  <menu name="helpMenu" label="_Help" 
        helpId="helpMenu">
    <action name="helpAction" />
    <action name="contextualHelpAction" />
    <separator />
    <action name="showContentModelAction" />
    <separator />
    <action name="listBindingsAction" />
    <action name="listPluginsAction" />
    <separator />
    <action name="aboutAction" />
  </menu>

Example: a menu where all items are dynamic:

  <menu name="configSpecificMenu" label="XML" 
        helpId="configSpecificMenu">
    <menuItems name="configSpecificMenuItems" />
  </menu>

Example: a menu which has two static items followed by dynamic items:

  <menu name="viewMenu" label="_View" 
        helpId="viewMenu">
    <action name="addViewAction" />
    <action name="closeViewAction" />
    <menuItems name="setStyleSheetMenuItems" />
  </menu>