126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
* @brief An event-based XML parser.
*
* OFXMLParser is an event-based XML parser which calls the delegate's callbacks
* as soon as it finds something, thus suitable for streams as well.
*/
@interface OFXMLParser: OFObject <OFStringXMLUnescapingDelegate>
{
id <OFXMLParserDelegate> _delegate;
enum of_xml_parser_state {
OF_XMLPARSER_IN_BYTE_ORDER_MARK,
OF_XMLPARSER_OUTSIDE_TAG,
OF_XMLPARSER_TAG_OPENED,
OF_XMLPARSER_IN_PROCESSING_INSTRUCTIONS,
OF_XMLPARSER_IN_TAG_NAME,
OF_XMLPARSER_IN_CLOSE_TAG_NAME,
|
|
|
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
* @brief An event-based XML parser.
*
* OFXMLParser is an event-based XML parser which calls the delegate's callbacks
* as soon as it finds something, thus suitable for streams as well.
*/
@interface OFXMLParser: OFObject <OFStringXMLUnescapingDelegate>
{
id <OFXMLParserDelegate> _Nullable _delegate;
enum of_xml_parser_state {
OF_XMLPARSER_IN_BYTE_ORDER_MARK,
OF_XMLPARSER_OUTSIDE_TAG,
OF_XMLPARSER_TAG_OPENED,
OF_XMLPARSER_IN_PROCESSING_INSTRUCTIONS,
OF_XMLPARSER_IN_TAG_NAME,
OF_XMLPARSER_IN_CLOSE_TAG_NAME,
|
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
OF_XMLPARSER_IN_COMMENT_OPENING,
OF_XMLPARSER_IN_COMMENT_1,
OF_XMLPARSER_IN_COMMENT_2,
OF_XMLPARSER_IN_DOCTYPE,
OF_XMLPARSER_NUM_STATES
} _state;
size_t _i, _last;
const char *_data;
OFMutableData *_buffer;
OFString *_name, *_prefix;
OFMutableArray
OF_GENERIC(OFMutableDictionary OF_GENERIC(OFString *, OFString *) *)
*_namespaces;
OFMutableArray OF_GENERIC(OFXMLAttribute *) *_attributes;
OFString *_attributeName, *_attributePrefix;
char _delimiter;
OFMutableArray OF_GENERIC(OFString *) *_previous;
size_t _level;
bool _acceptProlog;
size_t _lineNumber;
bool _lastCarriageReturn, _finishedParsing;
of_string_encoding_t _encoding;
|
|
|
|
|
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
OF_XMLPARSER_IN_COMMENT_OPENING,
OF_XMLPARSER_IN_COMMENT_1,
OF_XMLPARSER_IN_COMMENT_2,
OF_XMLPARSER_IN_DOCTYPE,
OF_XMLPARSER_NUM_STATES
} _state;
size_t _i, _last;
const char *_Nullable _data;
OFMutableData *_buffer;
OFString *_Nullable _name, *_Nullable _prefix;
OFMutableArray
OF_GENERIC(OFMutableDictionary OF_GENERIC(OFString *, OFString *) *)
*_namespaces;
OFMutableArray OF_GENERIC(OFXMLAttribute *) *_attributes;
OFString *_Nullable _attributeName, *_Nullable _attributePrefix;
char _delimiter;
OFMutableArray OF_GENERIC(OFString *) *_previous;
size_t _level;
bool _acceptProlog;
size_t _lineNumber;
bool _lastCarriageReturn, _finishedParsing;
of_string_encoding_t _encoding;
|