RSSKit 0.6.1

- Main Page
- Related Pages
- Classes
- Files

- File List

DOMParser.h
1 /* -*-objc-*-
2 *
3 * GNUstep RSS Kit
4 * Copyright (C) 2006 Guenther Noack
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation, in version 2.1
9 * of the License
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20
21 #import <Foundation/Foundation.h>
22
23 @class XMLNode;
24
25 @protocol XMLTextOrNode <NSObject>
26 -(NSString*) contentAndNextContents;
27 -(NSString*) content;
28 -(void) _setNext: (id<XMLTextOrNode>) node;
29 -(XMLNode*) nextElement;
30 @end
31
32 @interface XMLText : NSObject <XMLTextOrNode>
33 {
34 NSString* _content;
35 id<XMLTextOrNode> _next;
36 }
37
38 -(NSString*) contentAndNextContents;
39 -(NSString*) content;
40 -(void) _setNext: (id<XMLTextOrNode>) node;
41 -(XMLNode*) nextElement;
42
43 -(id)init;
44 -(id)initWithString: (NSString*) str;
45
46 -(void)dealloc;
47 @end
48
49
50 @interface XMLNode : NSObject <XMLTextOrNode>
51 {
52 NSString* _name;
53 NSString* _namespace;
54
55 XMLNode* _child;
56 id<XMLTextOrNode> _next;
57
58 id<XMLTextOrNode> _current;
59 XMLNode* _parent;
60
61 NSDictionary* _attributes;
62 }
63
64 -(XMLNode*) firstChildElement;
65
66 -(XMLNode*) nextElement;
67
68 -(NSString*) name;
69
70 -(NSString*) contentAndNextContents;
71 -(NSString*) content;
72
73 -(NSDictionary*) attributes;
74
75 -(NSString*) namespace;
76
77 -(id) initWithName: (NSString*) name
78 namespace: (NSString*) namespace
79 attributes: (NSDictionary*) attributes
80 parent: (XMLNode*) parent;
81
82 -(void) dealloc;
83
84 - (void) _setNext: (id <XMLTextOrNode>) node;
85
86 - (void) appendTextOrNode: (id<XMLTextOrNode>) aThing
87 fromParser: (NSXMLParser*) aParser;
88
89 @end
90
91 @interface XMLNode (NSXMLParserDelegateEventAdditions)
92 - (void) parser: (NSXMLParser*)aParser
93 didEndElement: (NSString*)anElementName
94 namespaceURI: (NSString*)aNamespaceURI
95 qualifiedName: (NSString*)aQualifierName;
96
97 - (void) parser: (NSXMLParser*)aParser
98 didStartElement: (NSString*)anElementName
99 namespaceURI: (NSString*)aNamespaceURI
100 qualifiedName: (NSString*)aQualifierName
101 attributes: (NSDictionary*)anAttributeDict;
102
103 - (void) parser: (NSXMLParser*)aParser
104 parseErrorOccured: (NSError*)parseError;
105
106 - (void) parser: (NSXMLParser*)aParser
107 foundCharacters: (NSString*)aString;
108
109 - (void) parser: (NSXMLParser*)aParser
110 foundCDATA: (NSData*)CDATABlock;
111 @end