13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
* Public License, either version 2 or 3, which can be found in the file
* LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
* file.
*/
#include "config.h"
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#import "OFXMLElement.h"
#import "OFXMLNode+Private.h"
|
>
>
|
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
* Public License, either version 2 or 3, which can be found in the file
* LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
* file.
*/
#include "config.h"
#define OF_XML_ELEMENT_M
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#import "OFXMLElement.h"
#import "OFXMLNode+Private.h"
|
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
}
- (instancetype)initWithElement: (OFXMLElement *)element
{
self = [super of_init];
@try {
if (element == nil)
@throw [OFInvalidArgumentException exception];
_name = [element->_name copy];
_namespace = [element->_namespace copy];
_defaultNamespace = [element->_defaultNamespace copy];
_attributes = [element->_attributes mutableCopy];
_namespaces = [element->_namespaces mutableCopy];
|
|
>
|
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
|
}
- (instancetype)initWithElement: (OFXMLElement *)element
{
self = [super of_init];
@try {
if (element == nil ||
![element isKindOfClass: [OFXMLElement class]])
@throw [OFInvalidArgumentException exception];
_name = [element->_name copy];
_namespace = [element->_namespace copy];
_defaultNamespace = [element->_defaultNamespace copy];
_attributes = [element->_attributes mutableCopy];
_namespaces = [element->_namespaces mutableCopy];
|
756
757
758
759
760
761
762
763
764
765
766
767
768
769
|
objc_autoreleasePoolPop(pool);
return [element autorelease];
}
- (void)addAttribute: (OFXMLAttribute *)attribute
{
if (_attributes == nil)
_attributes = [[OFMutableArray alloc] init];
if ([self attributeForName: attribute->_name
namespace: attribute->_namespace] == nil)
[_attributes addObject: attribute];
}
|
>
>
>
|
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
|
objc_autoreleasePoolPop(pool);
return [element autorelease];
}
- (void)addAttribute: (OFXMLAttribute *)attribute
{
if (![attribute isKindOfClass: [OFXMLAttribute class]])
@throw [OFInvalidArgumentException exception];
if (_attributes == nil)
_attributes = [[OFMutableArray alloc] init];
if ([self attributeForName: attribute->_name
namespace: attribute->_namespace] == nil)
[_attributes addObject: attribute];
}
|