Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | OFXMLElementBuilder: {parentless -> orphan} node |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
2d4f7314a8be6972c59e3f2df64f6a47 |
| User & Date: | js 2022-08-29 21:33:41.894 |
Context
|
2022-08-29
| ||
| 22:07 | Make the base for parsing numbers an unsigned char check-in: 4d03f6f1a5 user: js tags: trunk | |
| 21:33 | OFXMLElementBuilder: {parentless -> orphan} node check-in: 2d4f7314a8 user: js tags: trunk | |
| 21:27 | OFXMLElement: Add designated initializer check-in: d127feb58b user: js tags: trunk | |
Changes
Changes to src/OFXMLElementBuilder.h.
| ︙ | ︙ | |||
50 51 52 53 54 55 56 | * * 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 */ | | | | 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
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
|
| ︙ | ︙ |
Changes to src/OFXMLElementBuilder.m.
| ︙ | ︙ | |||
64 65 66 67 68 69 70 | processingInstructionWithTarget: target text: text]; OFXMLElement *parent = _stack.lastObject; if (parent != nil) [parent addChild: node]; else if ([_delegate respondsToSelector: | | | | 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: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 | node = [OFXMLCharacters charactersWithString: characters]; parent = _stack.lastObject; if (parent != nil) [parent addChild: node]; else if ([_delegate respondsToSelector: | | | | | | | | 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: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: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: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
|
Changes to tests/OFXMLElementBuilderTests.m.
| ︙ | ︙ | |||
25 26 27 28 29 30 31 |
- (void)elementBuilder: (OFXMLElementBuilder *)builder
didBuildElement: (OFXMLElement *)element
{
OFEnsure(i == 0);
nodes[i++] = [element retain];
}
| | | | 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
didBuildOrphanNode: (OFXMLNode *)node
{
OFEnsure(i == 1);
nodes[i++] = [node retain];
}
- (void)XMLElementBuilderTests
{
|
| ︙ | ︙ |