mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 08:21:25 +00:00
* Source/NSXMLDTDNode.m: Correct node type, at least for entity nodes.
* Source/NSXMLDTD.m: Use predefined entities from libxml2. * Source/NSXMLNode.m: Rewrite the ownership transfer to preserve names in dictionaries. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34947 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
d3e3f4e17c
commit
c5e877513e
4 changed files with 88 additions and 62 deletions
|
@ -35,54 +35,8 @@ GS_PRIVATE_INTERNAL(NSXMLDTD)
|
|||
|
||||
+ (NSXMLDTDNode*) predefinedEntityDeclarationForName: (NSString*)name
|
||||
{
|
||||
// FIXME: We should cache these instances
|
||||
if ([name isEqualToString: @"lt"])
|
||||
{
|
||||
NSXMLDTDNode *node;
|
||||
|
||||
node = [[NSXMLDTDNode alloc] initWithKind: NSXMLEntityDeclarationKind];
|
||||
[node setName: @"lt"];
|
||||
[node setStringValue: @"<"];
|
||||
return AUTORELEASE(node);
|
||||
}
|
||||
if ([name isEqualToString: @"gt"])
|
||||
{
|
||||
NSXMLDTDNode *node;
|
||||
|
||||
node = [[NSXMLDTDNode alloc] initWithKind: NSXMLEntityDeclarationKind];
|
||||
[node setName: @"gt"];
|
||||
[node setStringValue: @">"];
|
||||
return AUTORELEASE(node);
|
||||
}
|
||||
if ([name isEqualToString: @"amp"])
|
||||
{
|
||||
NSXMLDTDNode *node;
|
||||
|
||||
node = [[NSXMLDTDNode alloc] initWithKind: NSXMLEntityDeclarationKind];
|
||||
[node setName: @"amp"];
|
||||
[node setStringValue: @"&"];
|
||||
return AUTORELEASE(node);
|
||||
}
|
||||
if ([name isEqualToString: @"quot"])
|
||||
{
|
||||
NSXMLDTDNode *node;
|
||||
|
||||
node = [[NSXMLDTDNode alloc] initWithKind: NSXMLEntityDeclarationKind];
|
||||
[node setName: @"qout"];
|
||||
[node setStringValue: @"\""];
|
||||
return AUTORELEASE(node);
|
||||
}
|
||||
if ([name isEqualToString: @"apos"])
|
||||
{
|
||||
NSXMLDTDNode *node;
|
||||
|
||||
node = [[NSXMLDTDNode alloc] initWithKind: NSXMLEntityDeclarationKind];
|
||||
[node setName: @"apos"];
|
||||
[node setStringValue: @"'"];
|
||||
return AUTORELEASE(node);
|
||||
}
|
||||
|
||||
return nil;
|
||||
xmlEntityPtr node = xmlGetPredefinedEntity(XMLSTRING(name));
|
||||
return (NSXMLDTDNode*)[self _objectForNode: (xmlNodePtr)node];
|
||||
}
|
||||
|
||||
- (void) dealloc
|
||||
|
@ -159,7 +113,7 @@ GS_PRIVATE_INTERNAL(NSXMLDTD)
|
|||
|
||||
- (NSXMLDTDNode*) entityDeclarationForName: (NSString*)name
|
||||
{
|
||||
//xmlGetEntityFromDtd
|
||||
//xmlGetEntityFromDtd
|
||||
xmlDtdPtr node = internal->node;
|
||||
xmlNodePtr children = NULL;
|
||||
const xmlChar *xmlName = XMLSTRING(name);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue