Sorry everyone I tried to delete this post but I guess it got through.
The issue was the xml was being passed by reference so all my
references were pointing to the same data source (xml). So if I change
one it changes all.  I had to copy it. 

Lesson here for everyone if you get frustrated go for a run clear your
head and make room for new stuff. 5 minutes into my run it hit me. So
simple yet I was so frustrated I couldn't see it.

Thx for your help.



--- In [email protected], "Jim Hayes" <[EMAIL PROTECTED]> wrote:
>
> XML has a copy method that might help here : 
> 
> from the docs :
> 
> Example 
> 
> 
> This example shows that the copy() method creates a new instance of
an XML object. When you modify the copy, the original remains unchanged:
> var xml1:XML = <foo />;
> var xml2:XML = xml1.copy();
> xml2.appendChild(<bar />);
> trace(xml1.bar.length()); // 0
> trace(xml2.bar.length()); // 1
> 
> 
> -----Original Message-----
> From: [email protected] on behalf of Alex Harui
> Sent: Wed 20/08/2008 21:52
> To: [email protected]
> Subject: RE: [flexcoders] Normalize removing my data??? Is this a
bug in Flex?
>  
> Isn't it because the XMLList has references to the original nodes and
> not copies?
> 
>  
> 
> ________________________________
> 
> From: [email protected] [mailto:[EMAIL PROTECTED] On
> Behalf Of flexaustin
> Sent: Tuesday, August 19, 2008 11:02 PM
> To: [email protected]
> Subject: [flexcoders] Normalize removing my data??? Is this a bug in
> Flex?
> 
>  
> 
> I have been tracing this bug for two days and finally found it. I
> don't see how this .normalize method is changing data in other areas
> of my code?
> 
> So when makeData is called I pass it xml with child nodes. It is
> stored in _data and then I se several variables and call the the
> buildXMLObj method. When inside the buildXMLObj when the line with
> .normalize is run my variable _data (now only contains parent nodes
> with out the children). The buildXMLObj removes children but it is
> never assigned to _data so how is _data getting changed?
> 
> package 
> {
> public class DataDelegate
> {
> import mx.rpc.AsyncToken;
> import mx.utils.ObjectUtil;
> 
> import com.models.ViewModelLocator;
> 
> private var modelLocator:ViewModelLocator =
> ViewModelLocator.getInstance();
> private var _newSelected:int = 0;
> private var midXML:XMLList;
> private var _data:XMLList;
> 
> public function DataDelegate(){
> 
> }
> 
> private function buildXMLObj(xmllist:XMLList):void
> {
> var copyOfList:XML = <groups/>;
> for each (var xl:XML in xmllist)
> {
> if (xl.length())
> {
> xl.replace("*", "");
> }
> copyOfList.appendChild(xl);
> }
> copyOfList = copyOfList.normalize();
> midXML = copyOfList.descendants("*");
> 
> }
> 
> public function makeData(datas:XML):void
> {
> trace("MakeData was called
> ---------------------------------------------------");
> var _data:XML = datas;
> modelLocator.selected = -1;
> var xml:XML = datas as XML;
> var _newSelected:int;
> 
> var comps:XMLList = xml.group.component;
> buildXMLObj(xml.group);
> var groups:XMLList = midXML;
> 
> if (modelLocator.comps.length() > 0)
> { 
> _newSelected = parseInt([EMAIL PROTECTED]);
> modelLocator.selected = _newSelected;
> }
> /* modelLocator.allDataArr.splice(_newSelected,1); */
> modelLocator.allDataArr[_newSelected] = _data; 
> modelLocator.comps = comps;
> modelLocator.groups = groups;
> }
> }
> }
> 
>  
> 
> 
> 
> ______________________________________________________________________
> This communication is from Primal Pictures Ltd., a company
registered in England and Wales with registration No. 02622298 and
registered office: 4th Floor, Tennyson House, 159-165 Great Portland
Street, London, W1W 5PA, UK. VAT registration No. 648874577.
> 
> This e-mail is confidential and may be privileged. It may be read,
copied and used only by the intended recipient. If you have received
it in error, please contact the sender immediately by return e-mail or
by telephoning +44(0)20 7637 1010. Please then delete the e-mail and
do not disclose its contents to any person.
> This email has been scanned for Primal Pictures by the MessageLabs
Email Security System.
> ______________________________________________________________________
>


Reply via email to