00001
00002
00003
00004
00005
00006
00007
00008
00009 #import <Foundation/Foundation.h>
00010
00011 #include <libxml/tree.h>
00012
00013 typedef enum {
00014 CXMLInvalidKind = 0,
00015 CXMLElementKind = XML_ELEMENT_NODE,
00016 CXMLAttributeKind = XML_ATTRIBUTE_NODE,
00017 CXMLTextKind = XML_TEXT_NODE,
00018 CXMLProcessingInstructionKind = XML_PI_NODE,
00019 CXMLCommentKind = XML_COMMENT_NODE,
00020 CXMLNotationDeclarationKind = XML_NOTATION_NODE,
00021 CXMLDTDKind = XML_DTD_NODE,
00022 CXMLElementDeclarationKind = XML_ELEMENT_DECL,
00023 CXMLAttributeDeclarationKind = XML_ATTRIBUTE_DECL,
00024 CXMLEntityDeclarationKind = XML_ENTITY_DECL,
00025 CXMLNamespaceKind = XML_NAMESPACE_DECL,
00026 } CXMLNodeKind;
00027
00028 @class CXMLDocument;
00029
00030
00031 @interface CXMLNode : NSObject {
00032 xmlNodePtr _node;
00033 }
00034
00035 - (CXMLNodeKind)kind;
00036 - (NSString *)name;
00037 - (NSString *)stringValue;
00038 - (NSUInteger)index;
00039 - (NSUInteger)level;
00040 - (CXMLDocument *)rootDocument;
00041 - (CXMLNode *)parent;
00042 - (NSUInteger)childCount;
00043 - (NSArray *)children;
00044 - (CXMLNode *)childAtIndex:(NSUInteger)index;
00045 - (CXMLNode *)previousSibling;
00046 - (CXMLNode *)nextSibling;
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056 - (NSString *)description;
00057 - (NSString *)XMLString;
00058 - (NSString *)XMLStringWithOptions:(NSUInteger)options;
00059
00060 - (NSArray *)nodesForXPath:(NSString *)xpath error:(NSError **)error;
00061
00062 - (NSString*)_XMLStringWithOptions:(NSUInteger)options appendingToString:(NSMutableString*)str;
00063 @end