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

Reply via email to