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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.10 - (hide annotations) (download)
Fri Dec 29 14:45:40 2006 UTC (17 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.9: +71 -424 lines
++ manakai/t/ChangeLog	29 Dec 2006 13:56:36 -0000
2006-12-29  Wakaba  <wakaba@suika.fam.cx>

	* .cvsignore: New auto-generated Perl test files
	are added.

++ manakai/lib/Message/Util/ChangeLog	29 Dec 2006 13:53:51 -0000
2006-12-29  Wakaba  <wakaba@suika.fam.cx>

	* PerlCode.dis (createPCFile): Removed.
	(createPCDocument): New method.

++ manakai/lib/Message/Util/DIS/ChangeLog	29 Dec 2006 13:54:30 -0000
2006-12-29  Wakaba  <wakaba@suika.fam.cx>

	* Perl.dis (plGeneratePerlModuleFile): Removed.
	(plGeneratePerlModuleDocument): New method.

++ manakai/lib/Message/DOM/ChangeLog	29 Dec 2006 13:53:21 -0000
2006-12-29  Wakaba  <wakaba@suika.fam.cx>

	* TreeCore.dis, DOMCore.dis, Document.dis,
	Element.dis, CharacterData.dis, XML.dis,
	XDoctype.dis, DOMString.dis, TreeStore.dis,
	XMLParser.dis: Use Perl native
	hashs and |Scalar::Util|'s weak references in favor of |Grove.dis|
	for DOM nodes.  See
	also <http://suika.fam.cx/gate/2005/sw/manakai/%E3%83%A1%E3%83%A2/2006-12-29>.

++ manakai/lib/manakai/ChangeLog	29 Dec 2006 13:56:06 -0000
2006-12-29  Wakaba  <wakaba@suika.fam.cx>

	* daf-perl-pm.pl: Use |pl_generate_perl_module_document|
	instead of |pl_generate_perl_module_file|.

	* daf-perl-t.pl: Use |create_pc_document|
	instead of |create_pc_file|.
	(daf_generate_perl_test_file|: Removed.
	(daf_generate_perl_test_document|: New function.

1 wakaba 1.1 #!/usr/bin/perl
2     ## This file is automatically generated
3 wakaba 1.10 ## at 2006-12-29T06:50:27+00:00,
4 wakaba 1.9 ## from file "CharacterData.dis",
5 wakaba 1.1 ## module <http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOM.CharacterData>,
6     ## for <http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOMLatest>.
7     ## Don't edit by hand!
8     use strict;
9     require Message::DOM::DOMCore;
10 wakaba 1.7 require Message::DOM::Document;
11 wakaba 1.1 require Message::DOM::TreeCore;
12     require Message::Util::Error::DOMException;
13     package Message::DOM::CharacterData;
14 wakaba 1.10 our $VERSION = 20061229.0650;
15 wakaba 1.7 package Message::DOM::CharacterData::ManakaiDOMDocumentCharacterData;
16 wakaba 1.10 our $VERSION = 20061229.0650;
17 wakaba 1.7 push @Message::DOM::Document::ManakaiDOMDocument::ISA, q<Message::DOM::CharacterData::ManakaiDOMDocumentCharacterData> unless Message::DOM::Document::ManakaiDOMDocument->isa (q<Message::DOM::CharacterData::ManakaiDOMDocumentCharacterData>);
18     sub create_text_node ($$) {
19     my ($self, $data) = @_;
20     my $r;
21    
22     {
23    
24    
25 wakaba 1.10 $r = bless \({
26 wakaba 1.7
27 wakaba 1.10 'od'
28     => $self,
29 wakaba 1.7
30 wakaba 1.10 'con'
31     => \$data,
32     }),
33     'Message::DOM::CharacterData::ManakaiDOMText'
34     ;
35     Scalar::Util::weaken ($$r->{
36     'od'
37     });
38 wakaba 1.7
39    
40     }
41     $r}
42     sub create_comment ($$) {
43     my ($self, $data) = @_;
44     my $r;
45    
46     {
47    
48    
49 wakaba 1.10 $r = bless \{
50 wakaba 1.7
51 wakaba 1.10 'od'
52     => $self,
53 wakaba 1.7
54 wakaba 1.10 'con'
55     => \$data,
56     },
57     'Message::DOM::CharacterData::ManakaiDOMComment'
58     ;
59     Scalar::Util::weaken ($$r->{
60     'od'
61     });
62 wakaba 1.7
63    
64     }
65     $r}
66     $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::CharacterData::ManakaiDOMDocumentCharacterData>}->{has_feature} = {};
67     $Message::DOM::ClassPoint{q<Message::DOM::CharacterData::ManakaiDOMDocumentCharacterData>} = 0;
68 wakaba 1.1 package Message::DOM::IFLatest::CharacterData;
69 wakaba 1.10 our $VERSION = 20061229.0650;
70 wakaba 1.1 package Message::DOM::CharacterData::ManakaiDOMCharacterData;
71 wakaba 1.10 our $VERSION = 20061229.0650;
72 wakaba 1.1 push our @ISA, 'Message::DOM::TreeCore::ManakaiDOMNode',
73     'Message::DOM::IF::CharacterData',
74     'Message::DOM::IF::Node',
75     'Message::DOM::IFLatest::CharacterData',
76     'Message::DOM::IFLatest::Node',
77     'Message::DOM::IFLatest::StringExtended',
78     'Message::DOM::IFLevel1::CharacterData',
79     'Message::DOM::IFLevel1::Node',
80     'Message::DOM::IFLevel2::CharacterData',
81     'Message::DOM::IFLevel2::Node',
82     'Message::DOM::IFLevel3::CharacterData',
83     'Message::DOM::IFLevel3::Node';
84 wakaba 1.2 use Message::Util::Error;
85 wakaba 1.1 sub child_nodes ($;$) {
86     if (@_ == 1) {my ($self) = @_;
87     my $r;
88    
89     {
90    
91    
92     {
93    
94    
95     $r = bless [],
96     'Message::DOM::TreeCore::ManakaiDOMEmptyNodeList'
97     ;
98    
99    
100     }
101    
102     ;
103    
104    
105     }
106     $r;
107     } else {my ($self) = @_;
108     report Message::Util::Error::DOMException::CoreException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'get', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/DOMException#READ_ONLY_ATTRIBUTE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMCharacterData', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'child_nodes';
109     }
110     }
111     sub append_child ($$) {
112     my ($self, $newChild) = @_;
113     my $r;
114    
115     {
116    
117     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'append_child', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#HIERARCHY_BAD_TYPE', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMCharacterData', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'newChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $newChild;
118    
119     ;
120    
121    
122     }
123     $r}
124     sub insert_before ($$;$) {
125     my ($self, $newChild, $refChild) = @_;
126     my $r;
127    
128     {
129    
130     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'insert_before', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#HIERARCHY_BAD_TYPE', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMCharacterData', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'newChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $newChild;
131    
132     ;
133    
134    
135     }
136     $r}
137     sub replace_child ($$$) {
138     my ($self, $newChild, $oldChild) = @_;
139     my $r;
140    
141     {
142    
143     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'replace_child', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#HIERARCHY_BAD_TYPE', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMCharacterData', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'newChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $newChild;
144    
145     ;
146    
147    
148     }
149     $r}
150     sub manakai_append_text ($$) {
151     my ($self, $string) = @_;
152     my $r;
153    
154     {
155    
156    
157     {
158    
159     local $Error::Depth = $Error::Depth + 1;
160    
161     {
162    
163    
164     if
165     ($self->
166     owner_document
167    
168     ->
169     strict_error_checking and
170    
171     $self->
172     manakai_read_only
173     ) {
174    
175    
176     {
177    
178     local $Error::Depth = $Error::Depth - 1;
179    
180     {
181    
182     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'manakai_append_text', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#NOMOD_THIS', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMCharacterData';
183    
184    
185     }
186    
187    
188     ;}
189    
190     ;
191     }
192 wakaba 1.10 my $v = $$self->{
193     'con'
194     };
195 wakaba 1.1 $$v .= ref $string eq 'SCALAR' ? $$string : $string;
196     $r = $self;
197    
198    
199    
200     }
201    
202    
203     ;}
204    
205     ;
206    
207    
208     }
209     $r}
210     sub node_value ($;$) {
211     if (@_ == 1) {my ($self) = @_;
212 wakaba 1.9 my $r = '';
213 wakaba 1.1
214     {
215    
216    
217 wakaba 1.10 $r = ${$$self->{
218     'con'
219     }};
220 wakaba 1.1
221    
222     }
223     $r;
224     } else {my ($self, $given) = @_;
225    
226     {
227    
228    
229     {
230    
231     if
232     ($self->
233     manakai_read_only
234     ) {
235    
236     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#NOMOD_THIS', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/TreeCore/NodeReadOnlyError+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
237    
238     ;
239     }
240    
241    
242     }
243    
244     ;
245 wakaba 1.10 my $v = $$self->{
246     'con'
247     };
248 wakaba 1.1 $$v = defined $given ? $given : '';
249     ## NOTE: Setting NULL is supported for
250     ## compatibility with |textContent|.
251    
252    
253     }
254     }
255     }
256     sub text_content ($;$) {
257     if (@_ == 1) {my ($self) = @_;
258 wakaba 1.9 my $r = '';
259 wakaba 1.1
260     {
261    
262    
263 wakaba 1.10 $r = ${$$self->{
264     'con'
265     }};
266 wakaba 1.1
267    
268     }
269     $r;
270     } else {my ($self, $given) = @_;
271    
272     {
273    
274    
275     {
276    
277     if
278     ($self->
279     manakai_read_only
280     ) {
281    
282     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#NOMOD_THIS', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/TreeCore/NodeReadOnlyError+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
283    
284     ;
285     }
286    
287    
288     }
289    
290     ;
291 wakaba 1.10 my $v = $$self->{
292     'con'
293     };
294 wakaba 1.1 $$v = defined $given ? $given : '';
295     ## NOTE: Setting NULL is supported for
296     ## compatibility with |textContent|.
297    
298    
299     }
300     }
301     }
302     sub base_uri ($;$) {
303     if (@_ == 1) {my ($self) = @_;
304 wakaba 1.9 my $r = '';
305 wakaba 1.1
306     {
307    
308    
309     {
310    
311     local $Error::Depth = $Error::Depth + 1;
312    
313     {
314    
315    
316     my
317     $pe = $self->
318     parent_node
319     ;
320     W: {
321     while (defined $pe) {
322     my $nt = $pe->
323     node_type
324     ;
325     if ($nt ==
326 wakaba 1.5 1 or
327 wakaba 1.1
328     $nt ==
329 wakaba 1.5 2 or
330 wakaba 1.1
331     $nt ==
332 wakaba 1.5 9 or
333 wakaba 1.1
334     $nt ==
335 wakaba 1.5 11 or
336 wakaba 1.1
337     $nt ==
338 wakaba 1.5 6
339 wakaba 1.1 ) {
340     $r = $pe->
341     base_uri
342     ;
343     last W;
344     } elsif ($nt ==
345 wakaba 1.5 5
346 wakaba 1.1 ) {
347     if ($pe->
348     manakai_external
349     ) {
350     $r = $pe->
351     manakai_entity_base_uri
352     ;
353     last W;
354     }
355     }
356     $pe = $pe->
357     parent_node
358     ;
359     }
360     if ($pe) {
361     $r = $pe->
362     base_uri
363     ;
364     } else {
365     $r = $self->
366     owner_document
367     ->
368     base_uri
369     ;
370     }
371     } # W
372    
373    
374    
375     }
376    
377    
378     ;}
379    
380     ;
381    
382    
383     }
384     $r;
385     } else {my ($self) = @_;
386     report Message::Util::Error::DOMException::CoreException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'get', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/DOMException#READ_ONLY_ATTRIBUTE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMCharacterData', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'base_uri';
387     }
388     }
389     sub find_offset16 ($$) {
390     my ($self, $offset32) = @_;
391     my $r = 0;
392    
393     {
394    
395     my
396 wakaba 1.10 $v = $$self->{
397     'con'
398     };
399 wakaba 1.1
400     if (not defined $offset32 or $offset32 < 0 or
401     CORE::length ($$v) < $offset32) {
402    
403     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#index' => $offset32, '-type' => 'INDEX_SIZE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'find_offset16', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#StringIndexOutOfBoundsException', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMCharacterData', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'offset32';
404    
405     ;
406     }
407    
408     my $ss = substr $$v, 0, $offset32;
409     $r = $offset32;
410     if ($ss =~ /[\x{10000}-\x{10FFFF}]/) {
411     while ($ss =~ /[\x{10000}-\x{10FFFF}]+/g) {
412     $r += $+[0] - $-[0];
413     }
414     }
415    
416    
417     }
418     $r}
419     sub find_offset32 ($$) {
420     my ($self, $offset16) = @_;
421     my $r = 0;
422    
423     {
424    
425     my
426 wakaba 1.10 $v = $$self->{
427     'con'
428     };
429 wakaba 1.1
430     if (not defined $offset16 or $offset16 < 0) {
431    
432     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#index' => $offset16, '-type' => 'INDEX_SIZE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'find_offset32', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#StringIndexOutOfBoundsException', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMCharacterData', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'offset16';
433    
434     ;
435     }
436    
437     my $o = $offset16;
438     while ($o > 0) {
439     my $c = substr ($$v, $r, 1);
440     if (length $c) {
441     if ($c =~ /[\x{10000}-\x{10FFFF}]/) {
442     $o -= 2;
443     } else {
444     $o--;
445     }
446     $r++;
447     } else {
448    
449     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#index' => $offset16, '-type' => 'INDEX_SIZE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'find_offset32', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#StringIndexOutOfBoundsException', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMCharacterData', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'offset16';
450    
451     ;
452     }
453     }
454    
455    
456     }
457     $r}
458     sub data ($;$) {
459     if (@_ == 1) {my ($self) = @_;
460 wakaba 1.9 my $r = '';
461 wakaba 1.1
462     {
463    
464    
465 wakaba 1.10 $r = ${$$self->{
466     'con'
467     }};
468 wakaba 1.1
469    
470     }
471     $r;
472     } else {my ($self, $given) = @_;
473    
474     {
475    
476    
477     {
478    
479     if
480     ($self->
481     manakai_read_only
482     ) {
483    
484     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#NOMOD_THIS', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/TreeCore/NodeReadOnlyError+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
485    
486     ;
487     }
488    
489    
490     }
491    
492     ;
493 wakaba 1.10 my $v = $$self->{
494     'con'
495     };
496 wakaba 1.1 $$v = defined $given ? $given : '';
497     ## NOTE: Setting NULL is supported for
498     ## compatibility with |textContent|.
499    
500    
501     }
502     }
503     }
504     sub length ($;$) {
505     if (@_ == 1) {my ($self) = @_;
506     my $r = 0;
507    
508     {
509    
510     my
511 wakaba 1.10 $v = $$self->{
512     'con'
513     };
514 wakaba 1.2 $r = CORE::length $$v;
515     $r++ while $$v =~ /[\x{10000}-\x{10FFFF}]/g;
516 wakaba 1.1
517    
518     }
519     $r;
520     } else {my ($self) = @_;
521     report Message::Util::Error::DOMException::CoreException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'get', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/DOMException#READ_ONLY_ATTRIBUTE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMCharacterData', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'length';
522     }
523     }
524     sub substring_data ($$$) {
525     my ($self, $offset, $count) = @_;
526 wakaba 1.9 my $r = '';
527 wakaba 1.2
528     {
529    
530    
531     {
532    
533     if
534     ($self->
535     manakai_read_only
536     ) {
537    
538     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#NOMOD_THIS', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/TreeCore/NodeReadOnlyError+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
539    
540     ;
541     }
542    
543    
544     }
545    
546     ;
547     if ($count < 0) {
548    
549     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'INDEX_SIZE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'substring_data', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#length' => $count, 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NEGATIVE_LENGTH_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMCharacterData', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'count';
550    
551     ;
552     }
553     my $eoffset32;
554    
555    
556     try {local $Error::Depth = $Error::Depth + 3;
557    
558    
559     $eoffset32 = $self->
560     find_offset32
561    
562     ($offset + $count);
563     } catch
564     Message::DOM::IFLatest::DOMException with
565     {
566     my $err = shift;
567     if ($err->subtype eq
568     'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#StringIndexOutOfBoundsException'
569     ) {
570     $eoffset32 = ($offset + $count) * 2;
571     } else {
572     $err->throw;
573     }
574     };
575    
576    
577     {
578    
579     local $Error::Depth = $Error::Depth + 1;
580    
581     {
582    
583    
584     my
585     $offset32 = $self->
586     find_offset32
587     ($offset);
588     my $data = $self->
589     data
590     ;
591     $r = substr ($data, $offset32, $eoffset32 - $offset32);
592    
593    
594    
595     }
596    
597    
598     ;}
599    
600     ;
601    
602    
603     }
604 wakaba 1.1 $r}
605     sub append_data ($$) {
606     my ($self, $arg) = @_;
607    
608     {
609    
610    
611     {
612    
613     local $Error::Depth = $Error::Depth + 1;
614    
615     {
616    
617    
618    
619     $self->
620     manakai_append_text
621     (\$arg);
622    
623    
624    
625     }
626    
627    
628     ;}
629    
630     ;
631    
632    
633     }
634     }
635     sub insert_data ($$$) {
636     my ($self, $offset, $arg) = @_;
637 wakaba 1.2
638     {
639    
640    
641     {
642    
643     if
644     ($self->
645     manakai_read_only
646     ) {
647    
648     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#NOMOD_THIS', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/TreeCore/NodeReadOnlyError+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
649    
650     ;
651     }
652    
653    
654     }
655    
656     ;
657    
658    
659     {
660    
661     local $Error::Depth = $Error::Depth + 1;
662    
663     {
664    
665    
666     my
667     $offset32 = $self->
668     find_offset32
669     ($offset);
670     my $data = $self->
671     data
672     ;
673     substr ($data, $offset32, 0) = $arg;
674     $self->
675     data
676     ($data);
677    
678    
679    
680     }
681    
682    
683     ;}
684    
685     ;
686    
687    
688     }
689 wakaba 1.1 }
690     sub delete_data ($$$) {
691     my ($self, $offset, $count) = @_;
692 wakaba 1.2
693     {
694    
695    
696     {
697    
698     if
699     ($self->
700     manakai_read_only
701     ) {
702    
703     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#NOMOD_THIS', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/TreeCore/NodeReadOnlyError+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
704    
705     ;
706     }
707    
708    
709     }
710    
711     ;
712     if ($count < 0) {
713    
714     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'INDEX_SIZE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'delete_data', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#length' => $count, 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NEGATIVE_LENGTH_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMCharacterData', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'count';
715    
716     ;
717     }
718     my $eoffset32;
719    
720    
721     try {local $Error::Depth = $Error::Depth + 3;
722    
723    
724     $eoffset32 = $self->
725     find_offset32
726    
727     ($offset + $count);
728     } catch
729     Message::DOM::IFLatest::DOMException with
730     {
731     my $err = shift;
732     if ($err->subtype eq
733     'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#StringIndexOutOfBoundsException'
734     ) {
735     $eoffset32 = ($offset + $count) * 2;
736     } else {
737     $err->throw;
738     }
739     };
740    
741    
742     {
743    
744     local $Error::Depth = $Error::Depth + 1;
745    
746     {
747    
748    
749     my
750     $offset32 = $self->
751     find_offset32
752     ($offset);
753     my $data = $self->
754     data
755     ;
756     substr ($data, $offset32, $eoffset32 - $offset32) = '';
757     $self->
758     data
759     ($data);
760    
761    
762    
763     }
764    
765    
766     ;}
767    
768     ;
769    
770    
771     }
772 wakaba 1.1 }
773     sub replace_data ($$$$) {
774     my ($self, $offset, $count, $arg) = @_;
775    
776 wakaba 1.2 {
777    
778    
779     {
780    
781     local $Error::Depth = $Error::Depth + 1;
782    
783     {
784    
785    
786    
787     $self->
788     delete_data
789     ($offset, $count);
790     $self->
791     insert_data
792     ($offset, $arg);
793    
794    
795 wakaba 1.1
796     }
797 wakaba 1.2
798    
799     ;}
800    
801     ;
802    
803    
804     }
805     }
806 wakaba 1.1 $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::CharacterData::ManakaiDOMCharacterData>}->{has_feature} = {'core',
807     {'',
808     '1',
809     '1.0',
810     '1',
811     '2.0',
812     '1',
813     '3.0',
814     '1'},
815     'xml',
816     {'',
817     '1',
818     '1.0',
819     '1',
820     '2.0',
821     '1',
822     '3.0',
823     '1'},
824     'xmlversion',
825     {'',
826     '1',
827     '1.0',
828     '1',
829     '1.1',
830     '1'}};
831     $Message::DOM::ClassPoint{q<Message::DOM::CharacterData::ManakaiDOMCharacterData>} = 14.1;
832 wakaba 1.10 $Message::Util::Grove::ClassProp{q<Message::DOM::CharacterData::ManakaiDOMCharacterData>} = {};
833 wakaba 1.1 package Message::DOM::IFLatest::Text;
834 wakaba 1.10 our $VERSION = 20061229.0650;
835 wakaba 1.1 package Message::DOM::CharacterData::ManakaiDOMText;
836 wakaba 1.10 our $VERSION = 20061229.0650;
837 wakaba 1.1 push our @ISA, 'Message::DOM::CharacterData::ManakaiDOMCharacterData',
838     'Message::DOM::IF::CharacterData',
839     'Message::DOM::IF::Node',
840     'Message::DOM::IF::Text',
841     'Message::DOM::IFLatest::CharacterData',
842     'Message::DOM::IFLatest::Node',
843     'Message::DOM::IFLatest::Text',
844     'Message::DOM::IFLevel1::CharacterData',
845     'Message::DOM::IFLevel1::Node',
846     'Message::DOM::IFLevel1::Text',
847     'Message::DOM::IFLevel2::CharacterData',
848     'Message::DOM::IFLevel2::Node',
849     'Message::DOM::IFLevel2::Text',
850     'Message::DOM::IFLevel3::CharacterData',
851     'Message::DOM::IFLevel3::Node',
852     'Message::DOM::IFLevel3::Text';
853     sub node_type ($;$) {
854     if (@_ == 1) {my ($self) = @_;
855     my $r;
856 wakaba 1.5 $r = 3;
857 wakaba 1.1 $r;
858     } else {my ($self) = @_;
859     report Message::Util::Error::DOMException::CoreException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'get', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/DOMException#READ_ONLY_ATTRIBUTE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMText', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'node_type';
860     }
861     }
862     sub node_name ($;$) {
863     if (@_ == 1) {my ($self) = @_;
864     my $r = '#text';
865     $r;
866     } else {my ($self) = @_;
867     report Message::Util::Error::DOMException::CoreException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'get', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/DOMException#READ_ONLY_ATTRIBUTE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMText', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'node_name';
868     }
869     }
870     sub get_feature ($$$) {
871     my ($self, $feature, $version) = @_;
872    
873     {
874    
875    
876     $feature = lc $feature;
877    
878    
879     }
880    
881     {
882    
883    
884     $version = '' unless defined $version;
885    
886    
887     }
888     my $r;
889    
890     {
891    
892    
893     $feature =~ s/^\+//;
894    
895    
896     {
897    
898     if
899 wakaba 1.7 ($Message::Util::AutoLoad::Registry::Feature->{$feature}->{$version}) {
900 wakaba 1.1 $r = $self;
901     }
902    
903    
904     }
905    
906     ;
907     unless (defined $r) {
908    
909    
910     {
911    
912     local $Error::Depth = $Error::Depth + 1;
913    
914     {
915    
916    
917    
918     $r = $self->SUPER::get_feature ($feature, $version);
919    
920    
921    
922     }
923    
924    
925     ;}
926    
927     ;
928     }
929    
930    
931     }
932     $r}
933     sub is_element_content_whitespace ($;$) {
934     if (@_ == 1) {my ($self) = @_;
935     my $r = 0;
936    
937     {
938    
939    
940 wakaba 1.10 $r = $$self->{
941     'ecws'
942     };
943 wakaba 1.1
944    
945     }
946     $r;
947     } else {my ($self, $given) = @_;
948    
949     {
950    
951    
952     {
953    
954     if
955     ($self->
956     manakai_read_only
957     ) {
958    
959     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#NOMOD_THIS', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/TreeCore/NodeReadOnlyError+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
960    
961     ;
962     }
963    
964    
965     }
966    
967     ;
968 wakaba 1.10 $$self->{
969     'ecws'
970     } = $given;
971 wakaba 1.1
972    
973     }
974     }
975     }
976     sub whole_text ($;$) {
977     if (@_ == 1) {my ($self) = @_;
978 wakaba 1.9 my $r = '';
979 wakaba 1.3
980     {
981    
982    
983     {
984    
985     local $Error::Depth = $Error::Depth + 1;
986    
987     {
988    
989    
990     require
991     Message::DOM::Traversal;
992     my $doc = $self->
993     owner_document
994     ;
995     my $doctrv = $doc->
996     get_feature
997     (Traversal => '2.0');
998     my $tw1 = $doctrv->
999     create_tree_walker
1000    
1001     ($doc,
1002 wakaba 1.5 4294967295
1003 wakaba 1.3 , sub {
1004     ($_[1]->
1005     node_type
1006    
1007     ==
1008 wakaba 1.5 5
1009 wakaba 1.3 )
1010     ?
1011 wakaba 1.5 3
1012 wakaba 1.3 :
1013    
1014 wakaba 1.5 1
1015 wakaba 1.3
1016     },
1017     1
1018     );
1019     $tw1->
1020     current_node
1021     ($self);
1022     my $tw2 = $tw1->clone;
1023     $r = $self->
1024     node_value
1025     ;
1026    
1027     S: while (defined (my $node = $tw1->
1028     previous_sibling
1029     )) {
1030     my $nt = $node->
1031     node_type
1032     ;
1033     if ($nt ==
1034 wakaba 1.5 3 or
1035 wakaba 1.3
1036     $nt ==
1037 wakaba 1.5 4
1038 wakaba 1.3 ) {
1039     $r = $node->
1040     node_value
1041     . $r;
1042     } else {
1043     last S;
1044     }
1045     } # S
1046    
1047     S: while (defined (my $node = $tw2->
1048     next_sibling
1049     )) {
1050     my $nt = $node->
1051     node_type
1052     ;
1053     if ($nt ==
1054 wakaba 1.5 3 or
1055 wakaba 1.3
1056     $nt ==
1057 wakaba 1.5 4
1058 wakaba 1.3 ) {
1059     $r .= $node->
1060     node_value
1061     ;
1062     } else {
1063     last S;
1064     }
1065     } # S
1066    
1067    
1068    
1069     }
1070    
1071    
1072     ;}
1073    
1074     ;
1075    
1076    
1077     }
1078     $r;
1079 wakaba 1.1 } else {my ($self) = @_;
1080     report Message::Util::Error::DOMException::CoreException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'get', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/DOMException#READ_ONLY_ATTRIBUTE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMText', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'whole_text';
1081     }
1082     }
1083     sub replace_whole_text ($$) {
1084     my ($self, $content) = @_;
1085     my $r;
1086     report Message::Util::Error::DOMException::CoreException -object => $self, '-type' => 'NOT_SUPPORTED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'replace_whole_text', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#MDOM_IMPL_METHOD_NOT_IMPLEMENTED', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMText';
1087     $r}
1088     sub split_text ($$) {
1089     my ($self, $offset) = @_;
1090     my $r;
1091 wakaba 1.2
1092     {
1093    
1094    
1095     {
1096    
1097     if
1098     ($self->
1099     manakai_read_only
1100     ) {
1101    
1102     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#NOMOD_THIS', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/TreeCore/NodeReadOnlyError+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
1103    
1104     ;
1105     }
1106    
1107    
1108     }
1109    
1110     ;
1111     my $parent = $self->
1112     parent_node
1113     ;
1114     if (defined $parent and $parent->
1115     manakai_read_only
1116     ) {
1117    
1118     report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'split_text', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#NOMOD_PARENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMText';
1119    
1120     ;
1121     }
1122    
1123    
1124    
1125     {
1126    
1127     local $Error::Depth = $Error::Depth + 1;
1128    
1129     {
1130    
1131    
1132     my
1133     $offset32 = $self->
1134     find_offset32
1135     ($offset);
1136     my $data1 = $self->
1137     data
1138     ;
1139     my $data2 = substr ($data1, $offset32);
1140     substr ($data1, $offset32) = '';
1141    
1142     $r = $self->
1143     node_type
1144     ==
1145 wakaba 1.5 3
1146 wakaba 1.2
1147     ? $self->
1148     owner_document
1149    
1150     ->
1151     create_text_node
1152     ($data2)
1153     : $self->
1154     owner_document
1155    
1156     ->
1157     create_cdata_section
1158     ($data2);
1159     $r->
1160     is_element_content_whitespace
1161    
1162     ($self->
1163     is_element_content_whitespace
1164     );
1165     $self->
1166     data
1167     ($data1);
1168     if (defined $parent) {
1169     $parent->
1170     insert_before
1171    
1172     ($r, $self->
1173     next_sibling
1174     );
1175     }
1176    
1177    
1178    
1179     }
1180    
1181    
1182     ;}
1183    
1184     ;
1185    
1186    
1187     }
1188 wakaba 1.1 $r}
1189     $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::CharacterData::ManakaiDOMText>}->{has_feature} = {'core',
1190     {'',
1191     '1',
1192     '1.0',
1193     '1',
1194     '2.0',
1195     '1',
1196     '3.0',
1197     '1'},
1198     'xml',
1199     {'',
1200     '1',
1201     '1.0',
1202     '1',
1203     '2.0',
1204     '1',
1205     '3.0',
1206     '1'},
1207     'xmlversion',
1208     {'',
1209     '1',
1210     '1.0',
1211     '1',
1212     '1.1',
1213     '1'}};
1214     $Message::DOM::ClassPoint{q<Message::DOM::CharacterData::ManakaiDOMText>} = 14.1;
1215 wakaba 1.10 $Message::Util::Grove::ClassProp{q<Message::DOM::CharacterData::ManakaiDOMText>} = {};
1216 wakaba 1.1 package Message::DOM::IFLatest::Comment;
1217 wakaba 1.10 our $VERSION = 20061229.0650;
1218 wakaba 1.1 package Message::DOM::CharacterData::ManakaiDOMComment;
1219 wakaba 1.10 our $VERSION = 20061229.0650;
1220 wakaba 1.1 push our @ISA, 'Message::DOM::CharacterData::ManakaiDOMCharacterData',
1221     'Message::DOM::IF::CharacterData',
1222     'Message::DOM::IF::Comment',
1223     'Message::DOM::IF::Node',
1224     'Message::DOM::IFLatest::CharacterData',
1225     'Message::DOM::IFLatest::Comment',
1226     'Message::DOM::IFLatest::Node',
1227     'Message::DOM::IFLevel1::CharacterData',
1228     'Message::DOM::IFLevel1::Comment',
1229     'Message::DOM::IFLevel1::Node',
1230     'Message::DOM::IFLevel2::CharacterData',
1231     'Message::DOM::IFLevel2::Comment',
1232     'Message::DOM::IFLevel2::Node',
1233     'Message::DOM::IFLevel3::CharacterData',
1234     'Message::DOM::IFLevel3::Comment',
1235     'Message::DOM::IFLevel3::Node';
1236     sub node_type ($;$) {
1237     if (@_ == 1) {my ($self) = @_;
1238     my $r;
1239 wakaba 1.5 $r = 8;
1240 wakaba 1.1 $r;
1241     } else {my ($self) = @_;
1242     report Message::Util::Error::DOMException::CoreException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'get', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/DOMException#READ_ONLY_ATTRIBUTE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMComment', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'node_type';
1243     }
1244     }
1245     sub node_name ($;$) {
1246     if (@_ == 1) {my ($self) = @_;
1247 wakaba 1.9 my $r = '';
1248 wakaba 1.1 $r = '#comment';
1249     $r;
1250     } else {my ($self) = @_;
1251     report Message::Util::Error::DOMException::CoreException -object => $self, '-type' => 'NO_MODIFICATION_ALLOWED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'get', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/DOMException#READ_ONLY_ATTRIBUTE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::CharacterData::ManakaiDOMComment', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'node_name';
1252     }
1253     }
1254     sub get_feature ($$$) {
1255     my ($self, $feature, $version) = @_;
1256    
1257     {
1258    
1259    
1260     $feature = lc $feature;
1261    
1262    
1263     }
1264    
1265     {
1266    
1267    
1268     $version = '' unless defined $version;
1269    
1270    
1271     }
1272     my $r;
1273    
1274     {
1275    
1276    
1277     $feature =~ s/^\+//;
1278    
1279    
1280     {
1281    
1282     if
1283 wakaba 1.7 ($Message::Util::AutoLoad::Registry::Feature->{$feature}->{$version}) {
1284 wakaba 1.1 $r = $self;
1285     }
1286    
1287    
1288     }
1289    
1290     ;
1291     unless (defined $r) {
1292    
1293    
1294     {
1295    
1296     local $Error::Depth = $Error::Depth + 1;
1297    
1298     {
1299    
1300    
1301    
1302     $r = $self->SUPER::get_feature ($feature, $version);
1303    
1304    
1305    
1306     }
1307    
1308    
1309     ;}
1310    
1311     ;
1312     }
1313    
1314    
1315     }
1316     $r}
1317     $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::CharacterData::ManakaiDOMComment>}->{has_feature} = {'core',
1318     {'',
1319     '1',
1320     '1.0',
1321     '1',
1322     '2.0',
1323     '1',
1324     '3.0',
1325     '1'},
1326     'xml',
1327     {'',
1328     '1',
1329     '1.0',
1330     '1',
1331     '2.0',
1332     '1',
1333     '3.0',
1334     '1'},
1335     'xmlversion',
1336     {'',
1337     '1',
1338     '1.0',
1339     '1',
1340     '1.1',
1341     '1'}};
1342     $Message::DOM::ClassPoint{q<Message::DOM::CharacterData::ManakaiDOMComment>} = 14.1;
1343 wakaba 1.10 $Message::Util::Grove::ClassProp{q<Message::DOM::CharacterData::ManakaiDOMComment>} = {};
1344 wakaba 1.1 package Message::DOM::IFLatest::StringExtended;
1345 wakaba 1.10 our $VERSION = 20061229.0650;
1346 wakaba 1.1 for ($Message::DOM::IF::CharacterData::, $Message::DOM::IF::Comment::, $Message::DOM::IF::Node::, $Message::DOM::IF::Text::, $Message::DOM::IFLatest::Node::, $Message::DOM::IFLevel1::CharacterData::, $Message::DOM::IFLevel1::Comment::, $Message::DOM::IFLevel1::Node::, $Message::DOM::IFLevel1::Text::, $Message::DOM::IFLevel2::CharacterData::, $Message::DOM::IFLevel2::Comment::, $Message::DOM::IFLevel2::Node::, $Message::DOM::IFLevel2::Text::, $Message::DOM::IFLevel3::CharacterData::, $Message::DOM::IFLevel3::Comment::, $Message::DOM::IFLevel3::Node::, $Message::DOM::IFLevel3::Text::){}
1347     ## License: <http://suika.fam.cx/~wakaba/archive/2004/8/18/license#Perl+MPL>
1348     1;

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24