14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
* file.
*/
#import "OFObject.h"
#import "OFString.h"
#import "OFXMLAttribute.h"
@class OFXMLParser;
#ifndef DOXYGEN
@class OFArray OF_GENERIC(ObjectType);
@class OFMutableArray OF_GENERIC(ObjectType);
@class OFMutableDictionary OF_GENERIC(KeyType, ObjectType);
#endif
@class OFDataArray;
|
>
>
|
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
* file.
*/
#import "OFObject.h"
#import "OFString.h"
#import "OFXMLAttribute.h"
OF_ASSUME_NONNULL_BEGIN
@class OFXMLParser;
#ifndef DOXYGEN
@class OFArray OF_GENERIC(ObjectType);
@class OFMutableArray OF_GENERIC(ObjectType);
@class OFMutableDictionary OF_GENERIC(KeyType, ObjectType);
#endif
@class OFDataArray;
|
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
* @param prefix The prefix of the tag which just started or nil
* @param ns The namespace of the tag which just started or nil
* @param attributes The attributes included in the tag which just started or
* nil
*/
- (void)parser: (OFXMLParser*)parser
didStartElement: (OFString*)name
prefix: (OFString*)prefix
namespace: (OFString*)ns
attributes: (OFArray OF_GENERIC(OFXMLAttribute*)*)attributes;
/*!
* @brief This callback is called when the XML parser found the end of a tag.
*
* @param parser The parser which found the end of a tag
* @param name The name of the tag which just ended
* @param prefix The prefix of the tag which just ended or nil
* @param ns The namespace of the tag which just ended or nil
*/
- (void)parser: (OFXMLParser*)parser
didEndElement: (OFString*)name
prefix: (OFString*)prefix
namespace: (OFString*)ns;
/*!
* @brief This callback is called when the XML parser found characters.
*
* In case there are comments or CDATA, it is possible that this callback is
* called multiple times in a row.
*
|
|
|
|
|
|
|
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
* @param prefix The prefix of the tag which just started or nil
* @param ns The namespace of the tag which just started or nil
* @param attributes The attributes included in the tag which just started or
* nil
*/
- (void)parser: (OFXMLParser*)parser
didStartElement: (OFString*)name
prefix: (nullable OFString*)prefix
namespace: (nullable OFString*)ns
attributes: (nullable OFArray OF_GENERIC(OFXMLAttribute*)*)attributes;
/*!
* @brief This callback is called when the XML parser found the end of a tag.
*
* @param parser The parser which found the end of a tag
* @param name The name of the tag which just ended
* @param prefix The prefix of the tag which just ended or nil
* @param ns The namespace of the tag which just ended or nil
*/
- (void)parser: (OFXMLParser*)parser
didEndElement: (OFString*)name
prefix: (nullable OFString*)prefix
namespace: (nullable OFString*)ns;
/*!
* @brief This callback is called when the XML parser found characters.
*
* In case there are comments or CDATA, it is possible that this callback is
* called multiple times in a row.
*
|
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
|
size_t _lineNumber;
bool _lastCarriageReturn, _finishedParsing;
of_string_encoding_t _encoding;
size_t _depthLimit;
}
#ifdef OF_HAVE_PROPERTIES
@property (assign) id <OFXMLParserDelegate> delegate;
@property size_t depthLimit;
#endif
/*!
* @brief Creates a new XML parser.
*
* @return A new, autoreleased OFXMLParser
*/
+ (instancetype)parser;
/*!
* @brief Returns the delegate that is used by the XML parser.
*
* @return The delegate that is used by the XML parser
*/
- (id <OFXMLParserDelegate>)delegate;
/*!
* @brief Sets the delegate the XML parser should use.
*
* @param delegate The delegate to use
*/
- (void)setDelegate: (id <OFXMLParserDelegate>)delegate;
/*!
* @brief Returns the depth limit for the XML parser.
*
* @return The depth limit for the XML parser
*/
- (size_t)depthLimit;
|
|
<
<
<
<
<
<
<
>
>
>
>
>
>
>
|
|
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
|
size_t _lineNumber;
bool _lastCarriageReturn, _finishedParsing;
of_string_encoding_t _encoding;
size_t _depthLimit;
}
#ifdef OF_HAVE_PROPERTIES
@property (assign, nullable) id <OFXMLParserDelegate> delegate;
@property size_t depthLimit;
#endif
/*!
* @brief Creates a new XML parser.
*
* @return A new, autoreleased OFXMLParser
*/
+ (instancetype)parser;
/*!
* @brief Sets the delegate the XML parser should use.
*
* @param delegate The delegate to use
*/
- (void)setDelegate: (nullable id <OFXMLParserDelegate>)delegate;
/*!
* @brief Returns the delegate that is used by the XML parser.
*
* @return The delegate that is used by the XML parser
*/
- (nullable id <OFXMLParserDelegate>)delegate;
/*!
* @brief Returns the depth limit for the XML parser.
*
* @return The depth limit for the XML parser
*/
- (size_t)depthLimit;
|
264
265
266
267
268
269
270
|
* @return Whether the XML parser has finished parsing
*/
- (bool)finishedParsing;
@end
@interface OFObject (OFXMLParserDelegate) <OFXMLParserDelegate>
@end
|
>
>
|
266
267
268
269
270
271
272
273
274
|
* @return Whether the XML parser has finished parsing
*/
- (bool)finishedParsing;
@end
@interface OFObject (OFXMLParserDelegate) <OFXMLParserDelegate>
@end
OF_ASSUME_NONNULL_END
|