/[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.11 - (hide annotations) (download)
Sat Dec 30 04:42:49 2006 UTC (17 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.10: +16 -51 lines
++ manakai/lib/Message/Markup/ChangeLog	30 Dec 2006 04:39:04 -0000
2006-12-30  Wakaba  <wakaba@suika.fam.cx>

	* Atom.dis, SuikaWiki.dis: References
	to the |ManakaiDOM:ManakaiDOM| mode are removed.

++ manakai/lib/Message/Util/ChangeLog	30 Dec 2006 04:39:32 -0000
	* DIS.dis, PerlCode.dis: References to the |ManakaiDOM:ManakaiDOM|
	mode are removed.

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

++ manakai/lib/Message/Util/DIS/ChangeLog	30 Dec 2006 04:42:43 -0000
	* DPG.dis, Perl.dis, Value.dis, Test.dis: References
	to |ManakaiDOM:ManakaiDOM| modes are removed.

	* Perl.dis (plCodeFragment): |local|ize
	the |DIS:plCodeFragment| cache to avoid
	ancestor nodes of the cached fragment
	are destroyed so that the cached nodes
	become invalid.

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

++ manakai/lib/Message/DOM/ChangeLog	30 Dec 2006 04:37:29 -0000
	* CharacterData.dis, DOMCore.dis, DOMFeature.dis,
	GenericLS.dis, TreeCore.dis, DOMString.dis,
	XML.dis, Element.dis, Document.dis, TreeStore,dis,
	Traversal.dis, XDoctype.dis, XMLParser.dis, DOMLS.dis,
	SimpleLS.dis, DOMMain.dis: References
	to the |ManakaiDOM:ManakaiDOM|, |ManakaiDOM:ManakaiDOM1|,
	|ManakaiDOM:ManakaiDOM2|, and |ManakaiDOM:ManakaiDOM3|
	modes are removed.

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

++ manakai/lib/Message/URI/ChangeLog	30 Dec 2006 04:35:39 -0000
2006-12-30  Wakaba  <wakaba@suika.fam.cx>

	* Generic.dis (Require): Reference to the |ManakaiDOM:ManakaiDOM|
	mode is removed.

++ manakai/lib/Message/Charset/ChangeLog	30 Dec 2006 04:35:23 -0000
2006-12-30  Wakaba  <wakaba@suika.fam.cx>

	* Encode.dis (Require): Reference to the |ManakaiDOM:ManakaiDOM|
	mode is removed.

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24