/[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.12 - (hide annotations) (download)
Sun Dec 31 09:11:55 2006 UTC (19 years, 6 months ago) by wakaba
Branch: MAIN
Changes since 1.11: +5 -6 lines
++ manakai/bin/ChangeLog	31 Dec 2006 08:49:16 -0000
2006-12-31  Wakaba  <wakaba@suika.fam.cx>

	* daf.pl: Support for |For| is entirely removed.

++ manakai/lib/Message/Util/ChangeLog	31 Dec 2006 09:06:08 -0000
	* DIS.dis: Support for |for| is entirely removed.  |forArg|
	parameters are removed.
	(createDISDocument): Removed.
	(tfurisToURI): Removed.
	(tfpurisToURI): The |for| URI slot is
	fixed to |ManakaiDOM:all|.
	(tfqnamesToURI): Removed.
	(tfpqnamesToURI): The |defaultForURI| parameter
	is removed and the |for| URI slot is
	fixed to |ManakaiDOM:all|.
	(forURI): Removed.
	(forMatch): The first parameter, |forArg|, no
	longer takes effect.

	* PerlCode.dis (sourceFor): Removed.
	(stringify): Don't output comment with |sourceFor| URI.

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

++ manakai/lib/Message/Util/Error/ChangeLog	31 Dec 2006 09:09:24 -0000
2006-12-31  Wakaba  <wakaba@suika.fam.cx>

	* Core.dis, DOMException.dis: |dis:dataType|
	of |DISCore:TFQNames| are replaced
	by |DISCore:QName|.

++ manakai/lib/Message/Util/DIS/ChangeLog	31 Dec 2006 09:08:40 -0000
	* DNLite.dis, Perl.dis: Support for |for| is entirely removed.

	* Test.dis (parseTDTErrorString): The |defaultTURI|
	and |defaultFURI| parameters are removed.
	(lexmode): |TFQNames| token type is removed.
	(tdterr): Accepts |QName| where |TFQNames| was accepted.

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

++ manakai/lib/Message/DOM/ChangeLog	31 Dec 2006 08:50:54 -0000
	* |InputProcessor|s and |OutputProcessor|s are
	named so that |report| statements in Perl
	module outputs can be identified by name. |dis:dataType|s
	of |DISCore:TFQNames| are all replaced
	by |DISCore:QName|.

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

++ manakai/lib/manakai/ChangeLog	31 Dec 2006 09:11:27 -0000
	* |dis:dataType| of |DISCore:TFQNames| are replaced
	by |DISCore:QName|.

	* DISCore.dis (DISCore:TFURI): Removed.
	(DISCore:ModuleTFQNames): Removed.

	* daf-dtd-modules.pl: Support for |for| is removed.

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

1 wakaba 1.1 #!/usr/bin/perl
2     ## This file is automatically generated
3 wakaba 1.12 ## at 2006-12-31T09:07:54+00:00,
4 wakaba 1.10 ## from file "../DOM/TreeStore.dis",
5 wakaba 1.12 ## module <http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOM.TreeStore>.
6 wakaba 1.1 ## Don't edit by hand!
7     use strict;
8     require Message::DOM::DOMCore;
9     package Message::DOM::TreeStore;
10 wakaba 1.12 our $VERSION = 20061231.0907;
11 wakaba 1.9 package Message::DOM::IF::DOMImplementationTreeStore;
12 wakaba 1.12 our $VERSION = 20061231.0907;
13 wakaba 1.1 package Message::DOM::TreeStore::ManakaiDOMImplementationTreeStore;
14 wakaba 1.12 our $VERSION = 20061231.0907;
15 wakaba 1.9 push our @ISA, 'Message::DOM::IF::DOMImplementation',
16     'Message::DOM::IF::DOMImplementation',
17     'Message::DOM::IF::DOMImplementationTreeStore';
18 wakaba 1.3 push @Message::DOM::DOMCore::ManakaiDOMImplementation::ISA, q<Message::DOM::TreeStore::ManakaiDOMImplementationTreeStore> unless Message::DOM::DOMCore::ManakaiDOMImplementation->isa (q<Message::DOM::TreeStore::ManakaiDOMImplementationTreeStore>);
19 wakaba 1.1 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 wakaba 1.7 my $pv = ${$target->[0]}->{
76     'ns'
77     };
78 wakaba 1.1 $v->{namespace_uri} = $pv if defined $pv;
79    
80 wakaba 1.7 $pv = ${$target->[0]}->{
81     'ln'
82     };
83 wakaba 1.1 $v->{local_name} = $pv;
84    
85 wakaba 1.7 $pv = ${$target->[0]}->{
86     'pfx'
87     };
88 wakaba 1.1 $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 wakaba 1.7 my $pv = ${$target->[0]}->{
115     'ns'
116     };
117 wakaba 1.1 $v->{namespace_uri} = $pv if defined $pv;
118    
119 wakaba 1.7 $pv = ${$target->[0]}->{
120     'ln'
121     };
122 wakaba 1.1 $v->{local_name} = $pv;
123    
124 wakaba 1.7 $pv = ${$target->[0]}->{
125     'pfx'
126     };
127 wakaba 1.1 $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 wakaba 1.7 $v->{data} = ${$target->[0]}->{
142     'con'
143     };
144 wakaba 1.1
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 wakaba 1.3 'http://suika.fam.cx/www/2006/feature/min',
377     {'',
378 wakaba 1.11 '1',
379     '3.0',
380 wakaba 1.3 '1'},
381     'http://suika.fam.cx/www/2006/feature/treestore',
382     {'',
383 wakaba 1.11 '1',
384     '3.0',
385 wakaba 1.3 '1'},
386     'http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#minimum',
387     {'',
388 wakaba 1.11 '1',
389     '3.0',
390 wakaba 1.3 '1'},
391 wakaba 1.1 'xml',
392     {'',
393 wakaba 1.11 '1',
394     '1.0',
395     '1',
396     '2.0',
397     '1',
398     '3.0',
399 wakaba 1.1 '1'},
400     'xmlversion',
401     {'',
402 wakaba 1.11 '1',
403     '1.0',
404     '1',
405     '1.1',
406 wakaba 1.1 '1'}};
407 wakaba 1.11 $Message::DOM::ClassPoint{q<Message::DOM::TreeStore::ManakaiDOMImplementationTreeStore>} = 14.1;
408 wakaba 1.9 for ($Message::DOM::IF::DOMImplementation::){}
409 wakaba 1.1 ## 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