oh..here is the code in its current/final revision so far:

code:

import mx.utils.Delegate;
//
//
//
var mc:MovieClip = this;
var rootNode:XMLNode;
var productsNode:Array;
var totalProducts:Number;
var myXML_xml = new XML();
//
myXML_xml.ignoreWhite = true;
myXML_xml.onLoad = Delegate.create(this, getTotalProducts);
myXML_xml.load("products.xml");
//
//
//
function getTotalProducts(success):Void {
if (success == true) {
rootNode = myXML_xml.firstChild;
productsNode = rootNode.childNodes;
totalProducts = rootNode.childNodes.length;
createTemplates();
this.onEnterFrame = Delegate.create(this, function() {
populateAll();
delete this.onEnterFrame;
}
); //end Delegate
} else {
trace("Load Failed");
}
}
function createTemplates():Void
{
for (i = 0; i < totalProducts; i++) {
var attachProduct:MovieClip = attachMovie("templateClip", "product" + i, i);
attachProduct._x += i * 220;
attachProduct._y += 40;
}
}
function populateAll():Void {
for (i = 0; i < totalProducts; i++) {
var totalSizes:String =productsNode[i].childNodes[3].childNodes.length;
var totalColors:String =productsNode[i].childNodes[4].childNodes.length;
trace("product"+i+" totalSizes: "+totalSizes);
trace("product"+i+" totalColors: "+totalColors);
//name
var prodName:String = productsNode[i].childNodes[1].firstChild.nodeValue;
var obj = this["product" + i];
obj.name_txt.text = prodName;
trace("Name: "+prodName);
//image
var prodImage:String = productsNode[i].childNodes[0].firstChild.nodeValue;
var obj4 = this["product" + i];
obj4.prodImage_container.loadMovie("clothing/"+prodImage);
trace("Image: "+prodImage);
//price
var prodPrice:String = productsNode[i].childNodes[2].firstChild.nodeValue;
var obj2 = this["product" + i];
obj2.price_txt.text = prodPrice;
trace("Price: "+prodPrice);
//description
var prodDesc:String = productsNode[i].childNodes[5].firstChild.nodeValue;
var obj3 = this["product" + i];
obj3.desc_txt.text = prodDesc;
trace("Description: "+prodDesc+newline);
//sizes
for (x = 0; x < totalSizes; x++) {
var size:String = productsNode[i].childNodes[3].childNodes[x].firstChild.nodeValue;
var obj = this["product" + i];
obj.sizeCombo.addItem(size);
}
//color
for (y = 0; y < totalColors; y++) {
var color:String = productsNode[i].childNodes[4].childNodes[y].firstChild.nodeValue;
var obj = this["product" + i];
obj.colorCombo.addItem(color);
}
}
}