Tech News

Maintaining your flash-menu.xml file


The menus associated with dynamic Flash-based homepages are defined by an XML file. Although we think that maintaining such a text-based file is relatively straightforward, there are some simple techniques that can make it more so.

Use Internet Explorer to validate the XML

Opening the flash-menu.xml file in Internet Explorer is a simple way of validating the XML. Double-click on a flash-menu.xml file, which will usually open it in Internet Explorer.

If necessary, scroll to the bottom of the file. If the XML is valid, then the complete content of the file should be displayed. If there are errors, then Internet Explorer will report the first it encounters. The message won't necessarily identify the problem clearly, but at least you'll know there's an issue.

An alternative editor to Notepad

Although some are comfortable using Notepad to edit flash-menu.xml files, others may find the extra formatting features in a text editor such as Notepad++ helpful in presenting the XML in a more structured way. Notepad++ is a free utility, available from:

When it's installed, there is usually an option to open a file in Notepad++ from that file's right-click menu.

Reserved characters

There are some characters that are interpreted as having special meaning in XML. Such characters need to be represented by codes, known as entities.

A common issue is the use of ampersands in names and file-paths. There may be a menu item like this:

<menu name='Level 1 menu items'>
<item name='This & that' url='../html/my%20folder/this&that.html' />

Such a flash-menu.xml file wouldn't be read properly when in situ, and the menus wouldn't be displayed. If opened in Internet Explorer, it would produce an error. The menu item needs to be written like this:

<menu name='Level 1 menu items'>
<item name='This & that' url='../html/my%20folder/this&that.html' />

Where ampersands are expressed by the entity '&'. Note: in the above example, you may notice that the space in the URL is encoded as '%20'. More information on URL encoding can be found here:

Use indenting

The menu has a hierarchical structure.

<menu name='links'>
<menu name='Level 1'>
<menu name='Level 2'>
<item name='My process map' url='../html/myprocessmap.html' />

By making indenting consistent with the levels with which the menu and item tags are associated, the structure should be more manageable, and problems such as missing tags more easily identifiable.

This article was prompted by recent customer queries. If you have questions on this matter, or perhaps your own recommendations, do let us know.

Register to receive product release notifications


Sign up for Connector
Industry best practice and knowledge in our ‘best of breed’ newsletter.
Published bi-annually.

Signup here