36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
-
-
+
+
+
-
-
+
+
+
-
-
+
+
+
|
OFXMLElement *root;
OFArray *elements;
id object;
@try {
root = [OFXMLElement elementWithXMLString: self];
} @catch (OFMalformedXMLException *e) {
@throw [OFInvalidArgumentException exceptionWithClass: isa
selector: _cmd];
@throw [OFInvalidArgumentException
exceptionWithClass: [self class]
selector: _cmd];
} @catch (OFUnboundNamespaceException *e) {
@throw [OFInvalidArgumentException exceptionWithClass: isa
selector: _cmd];
@throw [OFInvalidArgumentException
exceptionWithClass: [self class]
selector: _cmd];
}
elements = [root elementsForNamespace: OF_SERIALIZATION_NS];
if ([elements count] != 1)
@throw [OFInvalidArgumentException exceptionWithClass: isa
selector: _cmd];
@throw [OFInvalidArgumentException
exceptionWithClass: [self class]
selector: _cmd];
object = [[elements firstObject] objectByDeserializing];
[object retain];
[pool release];
[object autorelease];
return object;
}
@end
|