# Xml accordion menu help

**URL:** <https://forum.kirupa.com/t/xml-accordion-menu-help/259925>\
**Category:** Uncategorized\
**Created:** [May 10, 2008, 8:11am UTC](https://forum.kirupa.com/t/xml-accordion-menu-help/259925 "2008-05-10T08:11:19Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![darkstyle](https://avatars.discourse-cdn.com/v4/letter/d/a5b964/32.png) [@darkstyle](https://forum.kirupa.com/u/darkstyle)\
**Post date:** [May 10, 2008, 8:11am UTC](https://forum.kirupa.com/t/xml-accordion-menu-help/259925/1 "2008-05-10T08:11:19Z")

</div>

I am using this accordion menu where i am unable to link the root level link.

_ **Flash** _  
\*\*Frame 1 \*\*:

```php
//Load XML Data
function loadXML(loaded) {
    if (loaded) {
        xmlNode = this.firstChild;
        categoryName = [];
        subNum = [];
        total = xmlNode.childNodes.length;
        for (i=0; i<total; i++) {
            categoryName* = xmlNode.childNodes*.attributes.Name;
            subNum* = xmlNode.childNodes*.childNodes.length;
        }
        gotoAndStop(2);
    } else {
        trace("Error loading XML");
    }
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("menu.xml");
stop();

```

**Frame 2:**

```php
//Get button height
bttnHeight = this.lev1_mc.lev1_bttn._height
//Build first level buttons
for (i=0; i<total+1; ++i) {
    this.lev1_mc.lev1_bttn.duplicateMovieClip("lev1_bttn"+i, i);
    this.lev1_mc["lev1_bttn"+i]._y = bttnHeight*i;
    this.lev1_mc["lev1_bttn"+i].originY = this.lev1_mc["lev1_bttn"+i]._y;
    this.lev1_mc["lev1_bttn"+i].destY = this.lev1_mc["lev1_bttn"+i]._y;
    this.lev1_mc["lev1_bttn"+i].ID = i;
    this.lev1_mc["lev1_bttn"+i].bttnName = categoryName*;
    this.lev1_mc["lev1_bttn"+i].subNum = subNum*;
    if (i == total) {
        this.lev1_mc["lev1_bttn"+i]._visible = false;
    }
    //Apply Accordion Script to each button
    this.lev1_mc["lev1_bttn"+i].onEnterFrame = function() {
        menuScript(this);
    };
    //Build second level buttons
    for (j=0; j<subNum*; ++j) {
        this.lev1_mc["lev1_bttn"+i].lev2_mc.lev2_bttn.duplicateMovieClip("lev2_bttn"+j, j);
        this.lev1_mc["lev1_bttn"+i].lev2_mc["lev2_bttn"+j]._y = bttnHeight+bttnHeight*j;
        this.lev1_mc["lev1_bttn"+i].lev2_mc["lev2_bttn"+j].bttnName = xmlNode.childNodes*.childNodes[j].attributes.Name;
        this.lev1_mc["lev1_bttn"+i].lev2_mc["lev2_bttn"+j].link = xmlNode.childNodes*.childNodes[j].attributes.Link
    }
}

//Set tween amount here
tween = 3
//Accordion Script function
function menuScript(object) {
    object._y += (object.destY-object._y)/tween
    if (selectedID>=object.ID) {
        object.lev2_mc._visible = true;
        object.mask_mc._height = this.lev1_mc["lev1_bttn"+(object.ID+1)]._y-object.originY+2;
    } else {
        object.lev2_mc._visible = false;
    }
    if (clicked == object._name) {
        object.lev2_mc._visible = true;
        object.icon_mc.gotoAndStop(2);
        object.destY = object.originY;
    } else {
        object.icon_mc.gotoAndStop(1);
        if (this.lev1_mc[clicked]._y<object._y) {
            object.destY = object.originY+moveTo-bttnHeight-1;
        } else {
            object.destY = object.originY;
        }
    }
}
// Function for linking (target URL or movieclip frame label)
_global.linkAction = function(object) {
    //Target a URL on press
    getURL(object.link, "_blank")
    //Target frame labels within a movieclip on press
    //_root.content_mc.gotoAndStop(object.link)
}
// Function for button selection
function clickAction(object) {
    selectedID = object.ID;
    moveTo = object._height;
    if (clicked == object._name) {
        clicked = "";
    } else {
        clicked = object._name;
    }
}
stop();

```

\*\*XML:

\*\*

```php
<?xml version="1.0" encoding="iso-8859-1"?>
<Menu>
    <Flash Name="Flash">
        <Item Name="Animations" Link="#"/>
        <Item Name="Menus and Buttons" Link="#"/>
        <Item Name="Preloaders" Link="#"/>
        <Item Name="Site Templates" Link="#"/>
        <Item Name="Applications and Utilities" Link="#"/>
    </Flash>
    <Audio Name="Audio">
        <Item Name="Music" Link="#"/>
        <Item Name="Sound" Link="#"/>
    </Audio>
    <Video Name="Video">
        <Item Name="Video Loops" Link="#"/>
        <Item Name="Video Effects" Link="#"/>
    </Video>
    <Fonts Name="Fonts">
        <Item Name="Sans-Serif" Link="#"/>
        <Item Name="Serif" Link="#"/>
        <Item Name="Display Fonts" Link="#"/>
    </Fonts>
</Menu>

```

The sub level links works fine.  
But I want to link the root level xml, example :  
\<Flash Name=“Flash”\> «---- How can i link to an URL??  
if i put this \<Flash Name=“Flash” Link="#" /\> it doesn’t work

can some one help me??
