mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-23 09:04:13 +00:00
* Source/NSXMLNode.m (-detach, -_insertChild:atIndex:): Maintain
doc pointer. * Source/NSXMLDTD.m: Implement a few methods. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34908 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
02b71a0a49
commit
a9288f57d0
3 changed files with 21 additions and 15 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-03-08 Fred Kiefer <FredKiefer@gmx.de>
|
||||
|
||||
* Source/NSXMLNode.m (-detach, -_insertChild:atIndex:): Maintain
|
||||
doc pointer.
|
||||
* Source/NSXMLDTD.m: Implement a few methods.
|
||||
|
||||
2012-03-08 Fred Kiefer <FredKiefer@gmx.de>
|
||||
|
||||
* Source/NSXMLNode.m (+_objectForNode:): Add a few more libxml2
|
||||
|
|
|
@ -41,8 +41,6 @@ GS_PRIVATE_INTERNAL(NSXMLDTD)
|
|||
{
|
||||
if (GS_EXISTS_INTERNAL)
|
||||
{
|
||||
[internal->publicID release];
|
||||
[internal->systemID release];
|
||||
[internal->entities release];
|
||||
[internal->elements release];
|
||||
[internal->notations release];
|
||||
|
@ -93,7 +91,7 @@ GS_PRIVATE_INTERNAL(NSXMLDTD)
|
|||
NSXMLDTD *doc;
|
||||
|
||||
data = [NSData dataWithContentsOfURL: url];
|
||||
doc = [self initWithData: data options: 0 error: 0];
|
||||
doc = [self initWithData: data options: mask error: error];
|
||||
[doc setURI: [url absoluteString]];
|
||||
return doc;
|
||||
}
|
||||
|
@ -149,11 +147,9 @@ GS_PRIVATE_INTERNAL(NSXMLDTD)
|
|||
|
||||
- (NSString*) publicID
|
||||
{
|
||||
if (internal->publicID == nil)
|
||||
{
|
||||
[self notImplemented: _cmd];
|
||||
}
|
||||
return internal->publicID;
|
||||
xmlDtd *node = MY_DTD;
|
||||
|
||||
return StringFromXMLStringPtr(node->ExternalID);
|
||||
}
|
||||
|
||||
- (void) removeChildAtIndex: (NSUInteger)index
|
||||
|
@ -173,21 +169,23 @@ GS_PRIVATE_INTERNAL(NSXMLDTD)
|
|||
|
||||
- (void) setPublicID: (NSString*)publicID
|
||||
{
|
||||
[self notImplemented: _cmd];
|
||||
xmlDtd *node = MY_DTD;
|
||||
|
||||
node->ExternalID = XMLStringCopy(publicID);
|
||||
}
|
||||
|
||||
- (void) setSystemID: (NSString*)systemID
|
||||
{
|
||||
[self notImplemented: _cmd];
|
||||
xmlDtd *node = MY_DTD;
|
||||
|
||||
node->SystemID = XMLStringCopy(systemID);
|
||||
}
|
||||
|
||||
- (NSString*) systemID
|
||||
{
|
||||
if (internal->systemID == nil)
|
||||
{
|
||||
[self notImplemented: _cmd];
|
||||
}
|
||||
return internal->systemID;
|
||||
xmlDtd *node = MY_DTD;
|
||||
|
||||
return StringFromXMLStringPtr(node->SystemID);
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -413,6 +413,7 @@ isEqualTree(xmlNodePtr nodeA, xmlNodePtr nodeB)
|
|||
* the new node in "by hand"
|
||||
*/
|
||||
childNode->parent = parentNode;
|
||||
xmlSetTreeDoc(childNode, parentNode->doc);
|
||||
if (curNode)
|
||||
{
|
||||
// insert childNode before an existing node curNode
|
||||
|
@ -946,6 +947,7 @@ execute_xpath(NSXMLNode *xmlNode, NSString *xpath_exp, NSString *nmspaces)
|
|||
|
||||
// separate our node from its parent and siblings
|
||||
xmlUnlinkNode(node);
|
||||
xmlSetTreeDoc(node, NULL);
|
||||
if (parent)
|
||||
{
|
||||
[parent _removeSubNode: self];
|
||||
|
|
Loading…
Reference in a new issue