mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 08:21:25 +00:00
Cleanup of ivars
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/branches/nsxml_using_libxml2@34514 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
f7aff866ac
commit
3fd92857a4
4 changed files with 67 additions and 69 deletions
|
@ -51,39 +51,61 @@ GS_PRIVATE_INTERNAL(NSXMLNode)
|
|||
|
||||
+ (NSXMLNode *) _objectForNode: (xmlNodePtr)node
|
||||
{
|
||||
if (!node)
|
||||
return nil;
|
||||
|
||||
xmlElementType type = node->type;
|
||||
NSXMLNode *result = (id)node->_private;
|
||||
xmlChar *name = NULL;
|
||||
// NSXMLNodeKind kind = 0;
|
||||
|
||||
if(result == NULL)
|
||||
NSXMLNode *result = nil;
|
||||
|
||||
if (node)
|
||||
{
|
||||
NSXMLNode *parent = nil;
|
||||
switch(type)
|
||||
xmlElementType type = node->type;
|
||||
xmlChar *name = NULL;
|
||||
// NSXMLNodeKind kind = 0;
|
||||
|
||||
if(result == NULL)
|
||||
{
|
||||
case(XML_ELEMENT_NODE):
|
||||
name = (xmlChar *)node->name;
|
||||
result = [[self alloc] initWithKind: NSXMLElementKind];
|
||||
NSXMLNode *parent = nil;
|
||||
switch(type)
|
||||
{
|
||||
case(XML_ELEMENT_NODE):
|
||||
name = (xmlChar *)node->name;
|
||||
result = [[self alloc] initWithKind: NSXMLElementKind];
|
||||
break;
|
||||
case(XML_ATTRIBUTE_NODE):
|
||||
name = (xmlChar *)node->name;
|
||||
result = [[self alloc] initWithKind: NSXMLAttributeKind];
|
||||
[result setStringValue: StringFromXMLStringPtr(node->content)];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
node->_private = result;
|
||||
AUTORELEASE(result);
|
||||
if (node->parent)
|
||||
parent = [self _objectForNode:node->parent];
|
||||
[parent _addSubNode:result];
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (xmlNodePtr) _nodeForObject: (NSXMLNode *)object
|
||||
{
|
||||
xmlNodePtr node = NULL;
|
||||
if(object)
|
||||
{
|
||||
NSXMLNodeKind kind = [object kind];
|
||||
switch (kind)
|
||||
{
|
||||
case(NSXMLAttributeKind):
|
||||
node = xmlNewProp(NULL,
|
||||
XMLSTRING([object name]),
|
||||
XMLSTRING([object stringValue]));
|
||||
break;
|
||||
case(XML_ATTRIBUTE_NODE):
|
||||
name = (xmlChar *)node->name;
|
||||
result = [[self alloc] initWithKind: NSXMLAttributeKind];
|
||||
[result setStringValue: StringFromXMLStringPtr(node->content)];
|
||||
break;
|
||||
default:
|
||||
case(NSXMLElementKind):
|
||||
node = xmlNewNode(NULL,XMLSTRING([object name]));
|
||||
break;
|
||||
}
|
||||
node->_private = result;
|
||||
AUTORELEASE(result);
|
||||
if (node->parent)
|
||||
parent = [self _objectForNode:node->parent];
|
||||
[parent _addSubNode:result];
|
||||
}
|
||||
|
||||
return result;
|
||||
return node;
|
||||
}
|
||||
|
||||
- (void) _addSubNode:(NSXMLNode *)subNode
|
||||
|
@ -93,7 +115,6 @@ GS_PRIVATE_INTERNAL(NSXMLNode)
|
|||
if ([internal->subNodes indexOfObjectIdenticalTo:subNode] == NSNotFound)
|
||||
[internal->subNodes addObject:subNode];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation NSXMLNode
|
||||
|
@ -107,9 +128,6 @@ GS_PRIVATE_INTERNAL(NSXMLNode)
|
|||
n = [[[self alloc] initWithKind: NSXMLAttributeKind] autorelease];
|
||||
[n setStringValue: stringValue];
|
||||
[n setName: name];
|
||||
node = xmlNewProp(NULL,
|
||||
XMLSTRING(name),
|
||||
XMLSTRING(stringValue));
|
||||
[n _setNode: node];
|
||||
|
||||
return n;
|
||||
|
@ -283,18 +301,18 @@ GS_PRIVATE_INTERNAL(NSXMLNode)
|
|||
|
||||
- (NSUInteger) childCount
|
||||
{
|
||||
NSUInteger childCount = 0;
|
||||
NSUInteger count = 0;
|
||||
xmlNodePtr children = NULL;
|
||||
xmlNodePtr node = (xmlNodePtr)(internal->node);
|
||||
xmlNodePtr node = MY_NODE;
|
||||
if (node->type == XML_DOCUMENT_NODE)
|
||||
node = xmlDocGetRootElement((xmlDocPtr)node);
|
||||
|
||||
for (children = node->children; children; children = children->next)
|
||||
{
|
||||
childCount++;
|
||||
count++;
|
||||
}
|
||||
|
||||
return childCount;
|
||||
return count;
|
||||
}
|
||||
|
||||
- (NSArray*) children
|
||||
|
@ -335,11 +353,8 @@ GS_PRIVATE_INTERNAL(NSXMLNode)
|
|||
if (GS_EXISTS_INTERNAL)
|
||||
{
|
||||
[self detach];
|
||||
[internal->name release];
|
||||
[internal->URI release];
|
||||
[internal->children release];
|
||||
[internal->objectValue release];
|
||||
[internal->stringValue release];
|
||||
[internal->subNodes release];
|
||||
GS_DESTROY_INTERNAL(NSXMLNode);
|
||||
}
|
||||
|
@ -433,7 +448,6 @@ GS_PRIVATE_INTERNAL(NSXMLNode)
|
|||
*/
|
||||
internal->kind = kind;
|
||||
internal->options = theOptions;
|
||||
internal->stringValue = @"";
|
||||
return self;
|
||||
}
|
||||
|
||||
|
@ -458,7 +472,7 @@ GS_PRIVATE_INTERNAL(NSXMLNode)
|
|||
}
|
||||
|
||||
s = [other name];
|
||||
if (s != internal->name && NO == [s isEqual: internal->name])
|
||||
if (s != [self name] && NO == [s isEqual: [self name]])
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue