commit before tag before merge with 3.1
[TestXSLT.git] / XSLTProcessor.m
1 //
2 //  XSLTProcessor.m
3 //  TestXSLT
4 //
5 //  Created by Marc Liyanage on Thu Aug 01 2002.
6 //  Copyright (c) 2002 __MyCompanyName__. All rights reserved.
7 //
8
9 #import "XSLTProcessor.h"
10
11
12 @implementation XSLTProcessor
13
14 - (id)init {
15
16         if (self = [super init]) {
17                 [self clearResult];
18                 [self clearError];
19                 baseUri = nil;
20         }
21
22         return self;
23
24 }
25
26
27
28 - (void)setError:(NSString *)message atLine:(int)line inSource:(int)source {
29
30         errorOccurred = YES;
31
32         [message retain];
33         [errorMessage release];
34         errorMessage = message;
35         errorLine = line;
36         errorSource = source;
37
38 }
39
40 - (BOOL)errorOccurred {
41
42         return errorOccurred;
43
44 }
45
46
47 - (void)clearError {
48
49         errorOccurred = NO;
50
51         [errorMessage release];
52         errorMessage = @"";
53         errorLine = 0;
54         errorSource = 0;
55
56 }
57
58
59 - (void)clearResult {
60
61         [result autorelease];
62         result = nil;
63
64 }
65
66
67 - (NSData *)result {
68
69         return result;
70
71 }
72
73 - (void)setResult:(NSData *)newResult {
74
75         [newResult retain];
76         [result autorelease];
77         result = newResult;
78
79 }
80
81 - (int)resultEncoding {
82         return resultEncoding;
83 }
84
85 - (void)setResultEncoding:(NSStringEncoding)newencoding {
86
87         resultEncoding = newencoding;
88 }
89
90
91 - (void)setResultEncodingFromData:(NSData *)data {
92
93         NSStringEncoding dataencoding = getEncodingFromXmlDecl([data bytes], [data length]);
94
95         if (dataencoding == 0)
96                 dataencoding = NSUTF8StringEncoding;
97
98         [self setResultEncoding:dataencoding];
99
100 }
101
102 - (NSString *)stringResult {
103         return [[[NSString alloc] initWithData:result encoding:[self resultEncoding]] autorelease];
104 }
105
106 - (int)errorLine {
107
108         return errorLine;
109         
110 }
111
112
113 - (int)errorSource {
114
115         return errorSource;
116
117 }
118
119 - (void)setErrorSource:(int)newSource {
120
121         errorSource = newSource;
122
123 }
124
125 - (NSString *)errorMessage {
126
127         return errorMessage;
128         
129 }
130
131 - (void)setBaseUri:(NSString *)uri {
132
133         [uri retain];
134         [baseUri release];
135         baseUri = uri;
136 }
137
138 - (NSString *)baseUri {
139         return baseUri;
140 }
141
142
143 - (int)processorType {
144
145         NSLog(@"Subclasses must override this method!");
146         return 0;
147         
148 }
149
150
151
152 - (BOOL)processStrings:(NSData *)xmlCode withXslt:(NSData *)xsltCode andParameters:(const char **)params {
153
154         NSLog(@"Subclasses must override this method!");
155         return NO;
156 }
157
158
159
160
161
162 @end