From 02b71a0a498ee9a81bc99a3fa14690836b37cfdd Mon Sep 17 00:00:00 2001 From: Fred Kiefer Date: Thu, 8 Mar 2012 00:15:08 +0000 Subject: [PATCH] * Source/NSXMLNode.m (+_objectForNode:): Add a few more libxml2 node types. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34905 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 5 +++++ Source/NSXMLNode.m | 35 +++++++++++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5867da6d9..cc36be790 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-03-08 Fred Kiefer + + * Source/NSXMLNode.m (+_objectForNode:): Add a few more libxml2 + node types. + 2012-03-07 Richard Frith-Macdonald * Source/GSStream.m: Attempt to fix logic for event handling of data diff --git a/Source/NSXMLNode.m b/Source/NSXMLNode.m index ebb3badb8..a7c21c6ab 100644 --- a/Source/NSXMLNode.m +++ b/Source/NSXMLNode.m @@ -234,10 +234,11 @@ isEqualTree(xmlNodePtr nodeA, xmlNodePtr nodeB) Class cls; NSXMLNodeKind kind; xmlElementType type = node->type; - + switch (type) { case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: cls = [NSXMLDocument class]; kind = NSXMLDocumentKind; break; @@ -261,6 +262,34 @@ isEqualTree(xmlNodePtr nodeA, xmlNodePtr nodeB) cls = [NSXMLNode class]; kind = NSXMLAttributeKind; break; + case XML_DTD_NODE: + cls = [NSXMLDTD class]; + kind = NSXMLDTDKind; + break; + case XML_CDATA_SECTION_NODE: + cls = [NSXMLNode class]; + kind = NSXMLTextKind; + break; + case XML_NAMESPACE_DECL: + cls = [NSXMLNode class]; + kind = NSXMLNamespaceKind; + break; + case XML_ELEMENT_DECL: + cls = [NSXMLNode class]; + kind = NSXMLElementDeclarationKind; + break; + case XML_ATTRIBUTE_DECL: + cls = [NSXMLNode class]; + kind = NSXMLAttributeDeclarationKind; + break; + case XML_ENTITY_DECL: + cls = [NSXMLNode class]; + kind = NSXMLEntityDeclarationKind; + break; + case XML_NOTATION_NODE: + cls = [NSXMLNode class]; + kind = NSXMLNotationDeclarationKind; + break; default: NSLog(@"ERROR: _objectForNode: called with a node of type %d", type); @@ -1358,7 +1387,9 @@ execute_xpath(NSXMLNode *xmlNode, NSString *xpath_exp, NSString *nmspaces) - (NSArray*) objectsForXQuery: (NSString*)xquery error: (NSError**)error { - return [self notImplemented: _cmd]; + return [self objectsForXQuery: xquery + constants: nil + error: error]; } @end