Ok the topic name is not the whole problem but to explain.

i have made a menu movieclip that duplicates itself as much as needed.
it reads a XML "NAME" node and attribute that shows on the site.

next what I wanna do is, make the buttons load a swf module that dynamically loads into a movieclip called for example "holder_mc"

the swf files are also specified in the same XML also thorugh a node and attribute.

like this site:
http://activeden.net/item/advanced-x..._preview/20118

I hope this helps explain a bit more visually XD

anyway here is my xml and AS i have at the moment.

Code:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<content>
    <settings>
        <logo X="5" Y="6">content/logo.png</logo>
        <footer><![CDATA[ here goes Text]]></footer>
        <menu X="160"/>
    </settings>
    <nav>
        <main Name="HOME" swf="home.swf"/>
	<main Name="DE BAND" swf="band.swf" toLoad="content/content.xml"/>
        <main Name="GIGS" swf="gigs.swf"/>
        <main Name="DISCOGRAFIE" swf="disco.swf"/>
        <main Name="BIO" swf="bio.swf"/>  
        <main Name="CONTACT" swf="contact.swf"/>
    </nav>
</content>
and here is my AS:

Actionscript Code:
menuSpace = 1;
bttnSpace = 1;
tween = 5;
tweenAlpha = 3;
maxHeight = 8;
menu_all.menu_mc._visible = false;
buildGallery = function () {
    total = xmlNode.childNodes[1].childNodes.length;
    for (i=0; i<total; i++) {
        categoryName[i] = xmlNode.childNodes[1].childNodes[i].attributes.Name;
        subNum[i] = xmlNode.childNodes[1].childNodes[i].childNodes.length;
        menu_all.menu_mc.duplicateMovieClip("menu_mc"+i,i);
        menu_all["menu_mc"+(total-1)].divide_mc._visible = false;
        clip = menu_all["menu_mc"+i];
        clip.txt_mc.categoryName.text = categoryName[i];
        clip.Link = xmlNode.childNodes[1].childNodes[i].attributes.Link;
        clip.toLoad = xmlNode.childNodes[1].childNodes[i].attributes.toLoad;
        clip.ID = i;
        clip.subNum = subNum[i];
        clip.txt_mc.categoryName._width = clip.txt_mc.categoryName.textWidth+30;
        clip.spacer = clip.txt_mc.categoryName.textWidth+30;
        clip.divide_mc._x = clip.spacer;
        clip.bttn._width = clip.spacer;
        clip.bg_mc._width = clip.spacer;
        clip._x = menu_all["menu_mc"+(i-1)]._x+menu_all["menu_mc"+(i-1)].spacer;
        for (j=0; j<subNum[i]; j++) {
            menu_all["menu_mc"+i].item_mc.bttn_mc._visible = false;
            menu_all["menu_mc"+i].item_mc.bttn_mc.duplicateMovieClip("bttn_mc"+j,j);
            menu_all["menu_mc"+i].item_mc._alpha = 0;
            menu_all["menu_mc"+i].item_mc["bttn_mc"+j].ID = i+"-"+j;
            menu_all["menu_mc"+i].item_mc["bttn_mc"+j]._y = (menu_all["menu_mc"+i].item_mc.bttn_mc._height+bttnSpace)*j;
            menu_all["menu_mc"+i].item_mc["bttn_mc"+j].item_name_mc.item_name.text = xmlNode.childNodes[1].childNodes[i].childNodes[j].attributes.Name;
            menu_all["menu_mc"+i].item_mc["bttn_mc"+j].Link = xmlNode.childNodes[1].childNodes[i].childNodes[j].attributes.Link;
            menu_all["menu_mc"+i].item_mc["bttn_mc"+j].toLoad = xmlNode.childNodes[1].childNodes[i].childNodes[j].attributes.toLoad;
        }
        // end of for
    }
    // end of for
    menu_all._x = -(Stage.width-stageW)/2+(Stage.width-menu_all._width)/2;
    menu_all.divider_mc._visible = true;
    loadID();
};

Now this is probally not the most clean way to duplictate the menu item dynamically through xml but it works.

I already tried to link the buttons through xml, but it didn't work seeing as im no Actionscript guru and got help from some other people so far too.
Im kinda stuck.

this is what I tried in general for the buttons to work, now they work but they always come back as undefined:

Actionscript Code:
trace(_global.clickAction = function(object) {
    if (object.Link.indexOf("http://") == 0) {
        getURL(object.Link, "_blank");
    } else if (object.Link != undefined) {
        _global.loadContent(object);
    }
    // end else if
});
loadXML = function (loaded) {
    if (loaded) {
        toLoad="holder";
        xmlNode=this.firstChild;
        categoryName=[];
        subNum = [];
        buildGallery();
        trace(Link = xmlNode.childNodes[1].childNodes[0].attributes.Link);
        toLoad = xmlNode.childNodes[1].childNodes[0].attributes.toLoad;
        ID = 0;
        _root.nav_mc.logo_mc.holder.loadMovie(xmlNode.childNodes[0].childNodes[0].firstChild.nodeValue);
        _root.nav_mc.logo_mc.holder._x = xmlNode.childNodes[0].childNodes[0].attributes.X;
        _root.nav_mc.logo_mc.holder._y = xmlNode.childNodes[0].childNodes[0].attributes.Y;
        _root.footer_mc.txt.htmlText = xmlNode.childNodes[0].childNodes[1].firstChild.nodeValue;
        _root.nav_mc.main_menu_mc._x = xmlNode.childNodes[0].childNodes[2].attributes.X;
        _global.loadStart(Link,toLoad,ID);
    } else {
        trace("Error loading XML");
    }
    // end else if
};

I hope somebody understands all this XD seeing as its alot of code and probally not all to clean either.

thanks in advance tho