ObjFW  Diff

Differences From Artifact [a0cfce89af]:

To Artifact [be193dc061]:


15
16
17
18
19
20
21

22
23
24
25
26
27
28
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29







+







 */

#include "config.h"

#import "OFXMLAttribute.h"
#import "OFString.h"
#import "OFDictionary.h"
#import "OFXMLElement.h"
#import "OFAutoreleasePool.h"

@implementation OFXMLAttribute
+ attributeWithName: (OFString*)name
	  namespace: (OFString*)ns
	stringValue: (OFString*)value
{
69
70
71
72
73
74
75
76

77
78
79
80







81
82
83
84







85
86
87
88




89
90
91



92
93

94
95
96
97
98
99

100
101
102

103
104

105
106
70
71
72
73
74
75
76

77
78



79
80
81
82
83
84
85
86



87
88
89
90
91
92
93
94



95
96
97
98



99
100
101


102



103


104



105


106
107
108







-
+

-
-
-
+
+
+
+
+
+
+

-
-
-
+
+
+
+
+
+
+

-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
-
-
-

-
-
+
-
-
-
+
-
-
+


}

- (OFString*)stringValue
{
	return [[stringValue copy] autorelease];
}

- (OFString*)stringBySerializing
- (OFXMLElement*)XMLElementBySerializing
{
	OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
	OFMutableDictionary *dictionary = [OFMutableDictionary dictionary];
	OFString *ret;
	OFAutoreleasePool *pool;
	OFXMLElement *element;

	element = [OFXMLElement elementWithName: @"object"
				      namespace: OF_SERIALIZATION_NS];

	pool = [[OFAutoreleasePool alloc] init];

	if (name != nil)
		[dictionary setObject: name
			       forKey: @"name"];
	[element addAttributeWithName: @"class"
			  stringValue: [self className]];

	[element addChild:
	    [OFXMLElement elementWithName: @"name"
				namespace: OF_SERIALIZATION_NS
			      stringValue: name]];
	if (ns != nil)
		[dictionary setObject: ns
			       forKey: @"namespace"];
	if (stringValue != nil)
		[element addChild:
		    [OFXMLElement elementWithName: @"namespace"
					namespace: OF_SERIALIZATION_NS
				      stringValue: ns]];
		[dictionary setObject: stringValue
			       forKey: @"stringValue"];

	[element addChild:
	    [OFXMLElement elementWithName: @"stringValue"
				namespace: OF_SERIALIZATION_NS
	dictionary->isa = [OFDictionary class];

			      stringValue: stringValue]];
	ret = [[OFString alloc]
	    initWithFormat: @"(class=OFXMLElement,version=0)<%@>",
			    [dictionary stringBySerializing]];

	@try {
		[pool release];
	[pool release];
	} @finally {
		[ret autorelease];
	}


	return ret;
	return element;
}
@end