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 <[email protected]>
+
+ * 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 <[email protected]>
* 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
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs