Author: gcasa Date: Thu Apr 3 06:58:59 2014 New Revision: 37785 URL: http://svn.gna.org/viewcvs/gnustep?rev=37785&view=rev Log: Parse XML into tree for processing.
Modified: libs/gui/trunk/ChangeLog libs/gui/trunk/Source/GSXibParser.m Modified: libs/gui/trunk/ChangeLog URL: http://svn.gna.org/viewcvs/gnustep/libs/gui/trunk/ChangeLog?rev=37785&r1=37784&r2=37785&view=diff ============================================================================== --- libs/gui/trunk/ChangeLog (original) +++ libs/gui/trunk/ChangeLog Thu Apr 3 06:58:59 2014 @@ -1,3 +1,8 @@ +2014-04-03 00:55-EDT Gregory John Casamento <greg.casame...@gmail.com> + + * Source/GSXibParser.m: Add code to parse XML into a tree + so that it can be processed into instances. + 2013-04-02 Frank Le Grand <frank.legr...@testplant.com> * Source/NSToolbarItem.m: Fixed a bug where calling setImage: Modified: libs/gui/trunk/Source/GSXibParser.m URL: http://svn.gna.org/viewcvs/gnustep/libs/gui/trunk/Source/GSXibParser.m?rev=37785&r1=37784&r2=37785&view=diff ============================================================================== --- libs/gui/trunk/Source/GSXibParser.m (original) +++ libs/gui/trunk/Source/GSXibParser.m Thu Apr 3 06:58:59 2014 @@ -84,20 +84,25 @@ // FIXME: We should use proper memory management here AUTORELEASE(element); - - if (key != nil) + if ([@"document" isEqualToString: elementName]) { - [currentElement setElement: element forKey: key]; + currentElement = element; } else { - // For Arrays - [currentElement addElement: element]; + if (key != nil) + { + [currentElement setElement: element forKey: key]; + } + else + { + // For Arrays + [currentElement addElement: element]; + } + currentElement = element; } - - // Maintain the stack... - [stack addObject: currentElement]; - currentElement = element; + + [stack addObject: currentElement]; } - (void) parser: (NSXMLParser*)parser @@ -105,7 +110,10 @@ namespaceURI: (NSString*)namespaceURI qualifiedName: (NSString*)qName { - currentElement = [stack lastObject]; - [stack removeLastObject]; + if (![@"document" isEqualToString: elementName]) + { + currentElement = [stack lastObject]; + [stack removeLastObject]; + } } @end _______________________________________________ Gnustep-cvs mailing list Gnustep-cvs@gna.org https://mail.gna.org/listinfo/gnustep-cvs