/[suikacvs]/messaging/manakai/lib/Message/DOM/TreeStore.pm
Suika

Contents of /messaging/manakai/lib/Message/DOM/TreeStore.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.13 - (show annotations) (download)
Sun Dec 31 11:45:51 2006 UTC (19 years, 6 months ago) by wakaba
Branch: MAIN
CVS Tags: manakai-release-0-4-0, HEAD
Changes since 1.12: +4 -4 lines
++ manakai/lib/manakai/ChangeLog	31 Dec 2006 09:13:11 -0000
	* DISCore.dis (TFQNames): Removed.

2006-12-31  Wakaba  <wakaba@suika.fam.cx>

1 #!/usr/bin/perl
2 ## This file is automatically generated
3 ## at 2006-12-31T09:34:35+00:00,
4 ## from file "../DOM/TreeStore.dis",
5 ## module <http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOM.TreeStore>.
6 ## Don't edit by hand!
7 use strict;
8 require Message::DOM::DOMCore;
9 package Message::DOM::TreeStore;
10 our $VERSION = 20061231.0934;
11 package Message::DOM::IF::DOMImplementationTreeStore;
12 our $VERSION = 20061231.0934;
13 package Message::DOM::TreeStore::ManakaiDOMImplementationTreeStore;
14 our $VERSION = 20061231.0934;
15 push our @ISA, 'Message::DOM::IF::DOMImplementation',
16 'Message::DOM::IF::DOMImplementation',
17 'Message::DOM::IF::DOMImplementationTreeStore';
18 push @Message::DOM::DOMCore::ManakaiDOMImplementation::ISA, q<Message::DOM::TreeStore::ManakaiDOMImplementationTreeStore> unless Message::DOM::DOMCore::ManakaiDOMImplementation->isa (q<Message::DOM::TreeStore::ManakaiDOMImplementationTreeStore>);
19 sub create_storable_object_from_node ($$) {
20 my ($self, $in) = @_;
21 my $r;
22
23 {
24
25 if
26 ({
27
28 9
29 =>
30 1
31 ,
32
33 11
34 =>
35 1
36 ,
37
38 1
39 =>
40 1
41 ,
42
43 2
44 =>
45 1
46 ,
47
48 3
49 =>
50 1
51 ,
52
53 4
54 =>
55 1
56 ,
57 }->{$in->
58 node_type
59 }) {
60 my @target = ([$in, # node
61
62 undef
63 ]); # origin
64
65 while (@target) {
66 my $target = shift @target;
67 my $tnt = $target->[0]->
68 node_type
69 ;
70 if ($tnt ==
71 1
72 ) {
73 my $v = {};
74
75 my $pv = ${$target->[0]}->{
76 'ns'
77 };
78 $v->{namespace_uri} = $pv if defined $pv;
79
80 $pv = ${$target->[0]}->{
81 'ln'
82 };
83 $v->{local_name} = $pv;
84
85 $pv = ${$target->[0]}->{
86 'pfx'
87 };
88 $v->{prefix} = $pv if defined $pv;
89
90 for (@{$target->[0]->
91 child_nodes
92 }) {
93 push @target, [$_, $v];
94 }
95 for (@{$target->[0]->
96 attributes
97 }) {
98 push @target, [$_, $v];
99 }
100 if (defined $target->[1]) {
101 push @{$target->[1]->{child_nodes} ||= []}, $v;
102 } else {
103 $r = $v unless defined $r;
104 }
105 } elsif ($tnt ==
106 2
107 ) {
108 my $v = {
109 value => \ $target->[0]->
110 value
111 ,
112 };
113
114 my $pv = ${$target->[0]}->{
115 'ns'
116 };
117 $v->{namespace_uri} = $pv if defined $pv;
118
119 $pv = ${$target->[0]}->{
120 'ln'
121 };
122 $v->{local_name} = $pv;
123
124 $pv = ${$target->[0]}->{
125 'pfx'
126 };
127 $v->{prefix} = $pv if defined $pv;
128
129 if (defined $target->[1]) {
130 push @{$target->[1]->{attributes} ||= []}, $v;
131 } else {
132 $r = $v unless defined $r;
133 }
134 } elsif ($tnt ==
135 3 or
136
137 $tnt ==
138 4
139 ) {
140 my $v = {};
141 $v->{data} = ${$target->[0]}->{
142 'con'
143 };
144
145 if (defined $target->[1]) {
146 push @{$target->[1]->{child_nodes} ||= []}, $v;
147 } else {
148 $r = $v unless defined $r;
149 }
150 } elsif ($tnt ==
151 9
152 ) {
153 my $v = {
154 xml_version => $target->[0]->
155 xml_version
156 ,
157 };
158
159 for (@{$target->[0]->
160 child_nodes
161 }) {
162 push @target, [$_, $v];
163 }
164 $r = $v unless defined $r;
165 } elsif ($tnt ==
166 11
167 ) {
168 my $v = {};
169
170 for (@{$target->[0]->
171 child_nodes
172 }) {
173 push @target, [$_, $v];
174 }
175 $r = $v unless defined $r;
176 } elsif ($tnt ==
177 5
178 ) {
179 for (@{$target->[0]->
180 child_nodes
181 }) {
182 push @target, [$_, $target->[1]];
183 }
184 }
185 }
186 } else {
187
188 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_SUPPORTED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'create_storable_object_from_node', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#CLONE_NODE_TYPE_NOT_SUPPORTED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::TreeStore::ManakaiDOMImplementationTreeStore', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'in', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $in;
189
190 ;
191 }
192
193
194 }
195 $r}
196 sub create_node_from_storable_object ($$;$) {
197 my ($self, $in, $od) = @_;
198 my $r;
199
200 {
201
202
203 {
204
205 local $Error::Depth = $Error::Depth + 1;
206
207 {
208
209
210
211 $od = $self->
212 create_document
213 ;
214 my $orig_strict = $od->
215 strict_error_checking
216 ;
217 $od->
218 strict_error_checking
219 (
220 0
221 );
222
223 my @target = ([$in,
224
225 undef
226 , # parent node
227
228 undef
229 ]); # owner element
230 while (@target) {
231 my $target = shift @target;
232 if (defined $target->[0]->{local_name}) {
233 if (defined $target->[0]->{value}) {
234 # Attribute
235 my $node = $od->
236 create_attribute_ns
237
238 ($target->[0]->{namespace_uri},
239 [$target->[0]->{prefix},
240 $target->[0]->{local_name}]);
241 $node->
242 manakai_append_text
243 ($target->[0]->{value});
244 if (defined $target->[2]) {
245 $target->[2]->
246 set_attribute_node_ns
247 ($node);
248 } else {
249 $r = $node unless defined $r;
250 }
251 } else {
252 # Element
253 my $node = $od->
254 create_element_ns
255
256 ($target->[0]->{namespace_uri},
257 [$target->[0]->{prefix},
258 $target->[0]->{local_name}]);
259 for (@{ref $target->[0]->{child_nodes} eq 'ARRAY'
260 ? $target->[0]->{child_nodes} : []}) {
261 push @target, [$_, $node];
262 }
263 for (@{ref $target->[0]->{attributes} eq 'ARRAY'
264 ? $target->[0]->{attributes} : []}) {
265 push @target, [$_,
266 undef
267 , $node];
268 }
269 if (defined $target->[1]) {
270 $target->[1]->
271 append_child
272 ($node);
273 } else {
274 $r = $node unless defined $r;
275 }
276 }
277 } elsif (defined $target->[0]->{data}) {
278 # Text
279 if (defined $target->[1]) {
280 $target->[1]->
281 manakai_append_text
282
283 ($target->[0]->{data});
284 } elsif (not defined $r) {
285 $r = $od->
286 create_text_node
287 ('');
288 $r->
289 manakai_append_text
290 ($target->[0]->{data});
291 }
292 } elsif (defined $target->[0]->{xml_version}) {
293 # Document
294 my $node = $self->
295 create_document
296 ;
297 $node->
298 strict_error_checking
299 (
300 0
301 );
302 $node->
303 dom_config
304
305 ->
306 set_parameter
307
308 (
309 'http://suika.fam.cx/www/2006/dom-config/strict-document-children'
310 =>
311 0
312 );
313 $node->
314 xml_version
315 ($target->[0]->{xml_version});
316 for (@{ref $target->[0]->{child_nodes} eq 'ARRAY'
317 ? $target->[0]->{child_nodes} : []}) {
318 push @target, [$_, $node];
319 }
320 unless (defined $r) {
321 $r = $node;
322 $od = $node;
323 $orig_strict =
324 1
325 ;
326 }
327 } else {
328 # Document fragment
329 unless (defined $r) {
330 $r = $od->
331 create_document_fragment
332 ;
333 for (@{ref $target->[0]->{child_nodes} eq 'ARRAY'
334 ? $target->[0]->{child_nodes} : []}) {
335 push @target, [$_, $r];
336 }
337 }
338 }
339 }
340 $od->
341 strict_error_checking
342 ($orig_strict);
343 if ($r->
344 node_type
345 ==
346 9
347 ) {
348 $r->
349 dom_config
350
351 ->
352 set_parameter
353
354 (
355 'http://suika.fam.cx/www/2006/dom-config/strict-document-children'
356 =>
357 undef
358 );
359 }
360
361
362
363 }
364
365
366 ;}
367
368 ;
369
370
371 }
372 $r}
373 $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::TreeStore::ManakaiDOMImplementationTreeStore>}->{has_feature} = {'',
374 {'',
375 '1'},
376 'http://suika.fam.cx/www/2006/feature/min',
377 {'',
378 '1',
379 '3.0',
380 '1'},
381 'http://suika.fam.cx/www/2006/feature/treestore',
382 {'',
383 '1',
384 '3.0',
385 '1'},
386 'http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#minimum',
387 {'',
388 '1',
389 '3.0',
390 '1'},
391 'xml',
392 {'',
393 '1',
394 '1.0',
395 '1',
396 '2.0',
397 '1',
398 '3.0',
399 '1'},
400 'xmlversion',
401 {'',
402 '1',
403 '1.0',
404 '1',
405 '1.1',
406 '1'}};
407 $Message::DOM::ClassPoint{q<Message::DOM::TreeStore::ManakaiDOMImplementationTreeStore>} = 14.1;
408 for ($Message::DOM::IF::DOMImplementation::){}
409 ## License: <http://suika.fam.cx/~wakaba/archive/2004/8/18/license#Perl+MPL>
410 1;

[email protected]
ViewVC Help
Powered by ViewVC 1.1.24