Overview
Context
Changes
Modified src/OFXMLElementBuilder.h
from [657f65f42e]
to [9d586a1499].
︙ | | |
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
-
-
+
+
|
*
* This is usually called for comments or whitespace character data before the
* root element.
*
* @param builder The builder which built the OFXMLNode without parent
* @param node The OFXMLNode the OFXMLElementBuilder built
*/
- (void)elementBuilder: (OFXMLElementBuilder *)builder
didBuildParentlessNode: (OFXMLNode *)node;
- (void)elementBuilder: (OFXMLElementBuilder *)builder
didBuildOrphanNode: (OFXMLNode *)node;
/**
* @brief This callback is called when the OFXMLElementBuilder gets a close tag
* which does not belong there.
*
* Most likely, the OFXMLElementBuilder was used to build XML only of a child
* of the root element and the root element was closed. Often the delegate is
|
︙ | | |
Modified src/OFXMLElementBuilder.m
from [9a39597767]
to [87c5fa2116].
︙ | | |
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
-
-
+
+
|
processingInstructionWithTarget: target
text: text];
OFXMLElement *parent = _stack.lastObject;
if (parent != nil)
[parent addChild: node];
else if ([_delegate respondsToSelector:
@selector(elementBuilder:didBuildParentlessNode:)])
[_delegate elementBuilder: self didBuildParentlessNode: node];
@selector(elementBuilder:didBuildOrphanNode:)])
[_delegate elementBuilder: self didBuildOrphanNode: node];
}
- (void)parser: (OFXMLParser *)parser
didStartElement: (OFString *)name
prefix: (OFString *)prefix
namespace: (OFString *)namespace
attributes: (OFArray *)attributes
|
︙ | | |
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
-
-
+
+
-
-
+
+
-
-
+
+
|
node = [OFXMLCharacters charactersWithString: characters];
parent = _stack.lastObject;
if (parent != nil)
[parent addChild: node];
else if ([_delegate respondsToSelector:
@selector(elementBuilder:didBuildParentlessNode:)])
[_delegate elementBuilder: self didBuildParentlessNode: node];
@selector(elementBuilder:didBuildOrphanNode:)])
[_delegate elementBuilder: self didBuildOrphanNode: node];
}
- (void)parser: (OFXMLParser *)parser
foundCDATA: (OFString *)CDATA
{
OFXMLCDATA *node = [OFXMLCDATA CDATAWithString: CDATA];
OFXMLElement *parent = _stack.lastObject;
if (parent != nil)
[parent addChild: node];
else if ([_delegate respondsToSelector:
@selector(elementBuilder:didBuildParentlessNode:)])
[_delegate elementBuilder: self didBuildParentlessNode: node];
@selector(elementBuilder:didBuildOrphanNode:)])
[_delegate elementBuilder: self didBuildOrphanNode: node];
}
- (void)parser: (OFXMLParser *)parser
foundComment: (OFString *)comment
{
OFXMLComment *node = [OFXMLComment commentWithText: comment];
OFXMLElement *parent = _stack.lastObject;
if (parent != nil)
[parent addChild: node];
else if ([_delegate respondsToSelector:
@selector(elementBuilder:didBuildParentlessNode:)])
[_delegate elementBuilder: self didBuildParentlessNode: node];
@selector(elementBuilder:didBuildOrphanNode:)])
[_delegate elementBuilder: self didBuildOrphanNode: node];
}
- (OFString *)parser: (OFXMLParser *)parser
foundUnknownEntityNamed: (OFString *)entity
{
if ([_delegate respondsToSelector:
@selector(elementBuilder:foundUnknownEntityNamed:)])
return [_delegate elementBuilder: self
foundUnknownEntityNamed: entity];
return nil;
}
@end
|
Modified tests/OFXMLElementBuilderTests.m
from [3226c89147]
to [82fd282c44].
︙ | | |
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
-
-
+
+
|
- (void)elementBuilder: (OFXMLElementBuilder *)builder
didBuildElement: (OFXMLElement *)element
{
OFEnsure(i == 0);
nodes[i++] = [element retain];
}
- (void)elementBuilder: (OFXMLElementBuilder *)builder
didBuildParentlessNode: (OFXMLNode *)node
- (void)elementBuilder: (OFXMLElementBuilder *)builder
didBuildOrphanNode: (OFXMLNode *)node
{
OFEnsure(i == 1);
nodes[i++] = [node retain];
}
- (void)XMLElementBuilderTests
{
|
︙ | | |