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

Diff of /messaging/manakai/lib/Message/DOM/Document.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by wakaba, Sun Apr 2 10:45:23 2006 UTC revision 1.14 by wakaba, Sat Dec 30 04:42:51 2006 UTC
# Line 1  Line 1 
1  #!/usr/bin/perl  #!/usr/bin/perl
2  ## This file is automatically generated  ## This file is automatically generated
3  ##      at 2006-04-01T17:42:59+00:00,  ##      at 2006-12-30T04:24:35+00:00,
4  ##      from file "Document.dis",  ##      from file "Document.dis",
5  ##      module <http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOM.Document>,  ##      module <http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOM.Document>,
6  ##      for <http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOMLatest>.  ##      for <http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOMLatest>.
7  ## Don't edit by hand!  ## Don't edit by hand!
8  use strict;  use strict;
9  require Message::DOM::DOMCore;  require Message::DOM::DOMCore;
 require Message::DOM::Element;  
10  require Message::DOM::TreeCore;  require Message::DOM::TreeCore;
11  require Message::Util::Error::DOMException;  require Message::Util::Error::DOMException;
12  package Message::DOM::Document;  package Message::DOM::Document;
13  our $VERSION = 20060401.1743;  our $VERSION = 20061230.0424;
14  package Message::DOM::IFLatest::Document;  package Message::DOM::Document::ManakaiDOMImplementationDocument;
15  our $VERSION = 20060401.1743;  our $VERSION = 20061230.0424;
16  package Message::DOM::Document::ManakaiDOMDocument;  push @Message::DOM::DOMCore::ManakaiDOMImplementation::ISA, q<Message::DOM::Document::ManakaiDOMImplementationDocument> unless Message::DOM::DOMCore::ManakaiDOMImplementation->isa (q<Message::DOM::Document::ManakaiDOMImplementationDocument>);
17  our $VERSION = 20060401.1743;  sub create_document ($;$$$) {
18  push our @ISA, 'Message::DOM::TreeCore::ManakaiDOMNode',  my ($self, $namespaceURI, $qualifiedName, $doctype) = @_;
 'Message::DOM::IF::Document',  
 'Message::DOM::IF::Node',  
 'Message::DOM::IFLatest::Document',  
 'Message::DOM::IFLatest::Node',  
 'Message::DOM::IFLevel1::Document',  
 'Message::DOM::IFLevel1::Node',  
 'Message::DOM::IFLevel2::Document',  
 'Message::DOM::IFLevel2::Node',  
 'Message::DOM::IFLevel3::Document',  
 'Message::DOM::IFLevel3::Node';  
 use Char::Class::XML 'InXMLNCNameChar10',  
 'InXMLNCNameChar11',  
 'InXMLNCNameStartChar11',  
 'InXMLNameChar10',  
 'InXMLNameChar11',  
 'InXMLNameStartChar11',  
 'InXML_NCNameStartChar10',  
 'InXML_NameStartChar10';  
 sub ___create_node_stem ($$$$) {  
 my ($self, $bag, $obj, $opt) = @_;  
 my $r = {};  
19    
20  {  {
21    
22    if
23    (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {
24      require Message::DOM::DOMMain;
25      
26    report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/main#empty-namespace-uri', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:tag:suika.fam.cx,2005-09:1167450139:7187:cCkYT15288+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
27    
28  $obj->{  ;
 'child'  
 } = [];  
 $obj->{  
 'do'  
 } = {};  
 $obj->{  
 'http://www.w3.org/2001/04/infoset#version'  
 } = '1.0';  
29    
30      
31    
32  {  {
33    
34    
35  $obj->{'impl'} = $opt->{'impl'}->{  $namespaceURI = undef;
36  'id'    
 };  
 $bag->{${$opt->{'impl'}->{  
 'id'  
 }}}  
     ->{'lpmi'}->{${$obj->{  
 'id'  
 }}}  
   = $obj->{  
 'id'  
 };  
37    
38    
39  ;}  }
40    
41  ;  ;
42  $r = $obj;  }
43    
44    
45  ;}  }
 $r}  
 sub ___create_node_ref ($$$) {  
 my ($self, $obj, $opt) = @_;  
46  my $r;  my $r;
47    
48  {  {
49    
50  my  require
51  $class;  Scalar::Util;
52  CLS: {  $r = bless \{
53    if (defined $opt->{    
54  'nrcls'  'child'
55  }) {   => [],
56      $class = $opt->{    
57  'nrcls'  'impl'
58  };   => $self,
59      IFCHK: {    
60        for (@{$opt->{  'http://www.w3.org/2001/04/infoset#version'
61  'nrifs'   => '1.0',
62  } or []}) {    
63          last IFCHK unless $$class->isa ($_);  'chk'
64        }   => 1,
65        last CLS;  },
66      } # IFCHK  'Message::DOM::Document::ManakaiDOMDocument'
67    }  ;
68    
69    if (defined $doctype) {
70        
71    
72  {  {
73    
74    local $Error::Depth = $Error::Depth + 1;
75    
76  $class = $obj->{  {
 'b'  
 }->{${$obj->{  
 'id'  
 }}}  
          ->{'dnrcls'};  
77    
78    
 ;}  
   
 ;  
   if (defined $class) {  
     IFCHK: {  
       for (@{$opt->{  
 'nrifs'  
 } or []}) {  
         last IFCHK unless $$class->isa ($_);  
       }  
       last CLS;  
     } # IFCHK  
   }  
79    
80    my $cns;      $r->
81    append_child
82     ($doctype);
83        
84    
 {  
   
85    
86  $cns = $obj->{  }
 'b'  
 }->{${$obj->{  
 'id'  
 }}}  
          ->{'child'};  
87    
88    
89  ;}  ;}
90    
91  ;  ;
   my $bag =  
 $obj->{'b'}  
 ;  
   my $deh;  
   DC: for my $cnid (@$cns) {  
     my $cnh =  
 {  
   'id' => $cnid,  
   'b' => $bag,  
92  }  }
 ;  
     my $cncls;  
       
93    
94  {  if (defined $qualifiedName) {
95      
   
 $cncls = $cnh->{  
 'b'  
 }->{${$cnh->{  
 'id'  
 }}}  
          ->{'cls'};  
   
   
 ;}  
   
 ;  
     if ($$cncls eq  
 'Message::DOM::Element::ManakaiDOMElement'  
 ) {  
       $deh = $cnh;  
       last DC;  
     }  
   } # DC  
   my $dens;  
   my $deln;  
   if (defined $deh) {  
       
96    
97  {  {
98    
99    local $Error::Depth = $Error::Depth + 1;
 $dens = $deh->{  
 'b'  
 }->{${$deh->{  
 'id'  
 }}}  
          ->{'ns'};  
   
   
 ;}  
   
 ;  
     $dens = \'' unless defined $dens;  
       
100    
101  {  {
102    
103    
104  $deln = $deh->{      my
105  'b'  $el = $r->
106  }->{${$deh->{  create_element_ns
 'id'  
 }}}  
          ->{'ln'};  
   
   
 ;}  
107    
108                       ($namespaceURI, $qualifiedName);
109        $r->
110    append_child
111     ($el);
112        $r = $el->
113    owner_document
114  ;  ;
115    } else {             ## Choose the class based on document element type
116      $dens = \'*';    
     $deln = \'*';  
   }  
117    
   A: {  
     ## Use cases:  
     ##   - Document element is |html5:html|  
     ##   - Document element is |NULL:rfc|  
   
     for my $nm (  
       [$dens, $deln],  
       [$dens, \'*'],  
     ) {  
       for my $__class (sort {  
         $Message::DOM::ClassPoint{$b} <=> $Message::DOM::ClassPoint{$a}  
       } grep {  
         $Message::DOM::DOMFeature::ClassInfo  
             ->{  
 'Message::DOM::Document::ManakaiDOMDocument'  
 }  
             ->{compat_class_by_type}  
             ->{${$nm->[0]}}->{${$nm->[1]}}->{$_}  
       } keys %{$Message::DOM::DOMFeature::ClassInfo  
                    ->{  
 'Message::DOM::Document::ManakaiDOMDocument'  
 }  
                    ->{compat_class_by_type}  
                    ->{${$nm->[0]}}->{${$nm->[1]}} or {}}) {  
         if ($Message::DOM::DOMFeature::ClassInfo->{$__class}  
                 ->{has_feature}->{xml}->{'3.0'}) {  
           $class = \$__class;  
           IFCHK: {  
             for (@{$opt->{  
 'nrifs'  
 } or []}) {  
               last IFCHK unless $$class->isa ($_);  
             }  
             last A;  
           } # IFCHK  
         }  
       }  
     }  
118    
     ## Generic  
     CLASS: for my $__class (sort {  
       $Message::DOM::ClassPoint{$b} <=> $Message::DOM::ClassPoint{$a}  
     } grep {  
       $Message::DOM::DOMFeature::ClassInfo  
           ->{  
 'Message::DOM::Document::ManakaiDOMDocument'  
119  }  }
           ->{compat_class}->{$_}  
     } keys %{$Message::DOM::DOMFeature::ClassInfo  
                  ->{  
 'Message::DOM::Document::ManakaiDOMDocument'  
 }  
                  ->{compat_class} or {}}) {  
       if ($Message::DOM::DOMFeature::ClassInfo->{$__class}  
               ->{has_feature}->{xml}->{'3.0'}) {  
         $class = \$__class;  
         IFCHK: {  
           for (@{$opt->{  
 'nrifs'  
 } or []}) {  
             last IFCHK unless $$class->isa ($_);  
           }  
           last A;  
         } # IFCHK  
       }  
     }  
   
     ## Default  
     $class = \$self;  
   } # A  
   
   if (defined $deh) {  
       
   
 {  
   
   
 $obj->{  
 'b'  
 }->{${$obj->{  
 'id'  
 }}}  
     ->{'dnrcls'} = $class;  
120    
121    
122  ;}  ;}
123    
124  ;  ;
125    }  } elsif (defined $namespaceURI) {
126  } # CLS    
127  $r = bless $obj, $$class;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'create_document', 'http://www.w3.org/2001/04/infoset#namespaceURI' => $namespaceURI, '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_NS_NULL_QNAME_WITH_NON_NULL_URI', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMImplementationDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'namespaceURI';
128    
129    ;
130    }
131    
132  ;}  
133    }
134  $r}  $r}
135    $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::Document::ManakaiDOMImplementationDocument>}->{has_feature} = {};
136    $Message::DOM::ClassPoint{q<Message::DOM::Document::ManakaiDOMImplementationDocument>} = 0;
137    package Message::DOM::IFLatest::Document;
138    our $VERSION = 20061230.0424;
139    package Message::DOM::Document::ManakaiDOMDocument;
140    our $VERSION = 20061230.0424;
141    push our @ISA, 'Message::DOM::TreeCore::ManakaiDOMNode',
142    'Message::DOM::IFLatest::Document',
143    'Message::DOM::IFLatest::Node';
144  sub node_type ($;$) {  sub node_type ($;$) {
145  if (@_ == 1) {my ($self) = @_;  if (@_ == 1) {my ($self) = @_;
146  my $r;  my $r;
# Line 400  local $Error::Depth = $Error::Depth - 1; Line 223  local $Error::Depth = $Error::Depth - 1;
223  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
224    
225    
226  ;}  }
227    
228    
229  ;}  ;}
# Line 436  local $Error::Depth = $Error::Depth - 1; Line 259  local $Error::Depth = $Error::Depth - 1;
259  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
260    
261    
262  ;}  }
263    
264    
265  ;}  ;}
# Line 470  local $Error::Depth = $Error::Depth - 1; Line 293  local $Error::Depth = $Error::Depth - 1;
293  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/18/dom-core#HIERARCHY_WRONG_DOCTYPE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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/18/dom-core#HIERARCHY_WRONG_DOCTYPE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
294    
295    
296  ;}  }
297    
298    
299  ;}  ;}
# Line 490  local $Error::Depth = $Error::Depth - 1; Line 313  local $Error::Depth = $Error::Depth - 1;
313  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#MDOM_SECOND_DOCTYPE', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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#MDOM_SECOND_DOCTYPE', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
314    
315    
316  ;}  }
317    
318    
319  ;}  ;}
# Line 505  previous_sibling Line 328  previous_sibling
328        
329    
330    
331  ;}  }
332    
333    
334  ;}  ;}
# Line 569  local $Error::Depth = $Error::Depth - 1; Line 392  local $Error::Depth = $Error::Depth - 1;
392  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
393    
394    
395  ;}  }
396    
397    
398  ;}  ;}
# Line 590  local $Error::Depth = $Error::Depth - 1; Line 413  local $Error::Depth = $Error::Depth - 1;
413  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
414    
415    
416  ;}  }
417    
418    
419  ;}  ;}
# Line 618  local $Error::Depth = $Error::Depth - 1; Line 441  local $Error::Depth = $Error::Depth - 1;
441  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'WRONG_DOCUMENT_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#DIFFERENT_DOCUMENT_ERR', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'WRONG_DOCUMENT_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#DIFFERENT_DOCUMENT_ERR', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
442    
443    
444  ;}  }
445    
446    
447  ;}  ;}
# Line 641  local $Error::Depth = $Error::Depth - 1; Line 464  local $Error::Depth = $Error::Depth - 1;
464  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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
465    
466    
467  ;}  }
468    
469    
470  ;}  ;}
# Line 664  local $Error::Depth = $Error::Depth - 1; Line 487  local $Error::Depth = $Error::Depth - 1;
487  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_SRC_PARENT', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  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_SRC_PARENT', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
488    
489    
490  ;}  }
491    
492    
493  ;}  ;}
# Line 685  report Message::DOM::DOMCore::ManakaiDOM Line 508  report Message::DOM::DOMCore::ManakaiDOM
508      if ($child_nt ==      if ($child_nt ==
509  11  11
510  ) {  ) {
511                $$newChild->{
512    'child'
513  {  } = [];
   
   
 $newChild->{  
 'b'  
 }->{${$newChild->{  
 'id'  
 }}}  
     ->{'child'} = [];  
   
   
 ;}  
   
 ;  
514      } else {      } else {
515        my $v;        my $v = $$nc_parent->{
516          'child'
517    };
 {  
   
   
 $v = $nc_parent->{  
 'b'  
 }->{${$nc_parent->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 ;}  
   
 ;  
518        RP: for my $i (0..$#$v) {        RP: for my $i (0..$#$v) {
519          my $nodeid = $v->[$i];          if ($v->[$i] eq $new_child[0]) {
         if (  
 (${$new_child[0]->{'id'}} eq ${$nodeid})  
 ) {  
520            splice @$v, $i, 1, ();            splice @$v, $i, 1, ();
521            last RP;            last RP;
522          }          }
# Line 733  $v = $nc_parent->{ Line 526  $v = $nc_parent->{
526    
527    ## -- Rewrite the |parentNode| properties    ## -- Rewrite the |parentNode| properties
528    for my $nc (@new_child) {    for my $nc (@new_child) {
529            $$nc->{
530    'parent'
531  {  } = $self;
532        Scalar::Util::weaken ($$nc->{
533    'parent'
534  $nc->{  });
 'b'  
 }->{${$nc->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 ;}  
   
 ;  
535    }    }
536    
537    my $children;    my $children = $$self->{
538      'child'
539    };
 {  
   
   
 $children = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 ;}  
   
 ;  
540    
541        
542    
# Line 777  $children = $self->{ Line 544  $children = $self->{
544    
545    
546  ## -- Adds to children list  ## -- Adds to children list
547      push @$children, map {      push @$children, @new_child;
         
 $_->{'id'}  
   
     } @new_child;  
548      $r = $newChild;      $r = $newChild;
549        
550    
551    
552  ;}  }
553    
554  ;  ;
555    
# Line 800  $_->{'id'} Line 563  $_->{'id'}
563    
564    
565    
566  ;}  }
567    
568    
569  ;}  ;}
# Line 808  $_->{'id'} Line 571  $_->{'id'}
571  ;  ;
572    
573    
574  ;}  }
575    
576  ;  ;
577  if ($child_nt ==  if ($child_nt ==
# Line 817  if ($child_nt == Line 580  if ($child_nt ==
580  not defined $newChild->  not defined $newChild->
581  owner_document  owner_document
582  ) {  ) {
583    my $bag =    CORE::delete $$newChild->{
584  $self->{'b'}  'impl'
 ;  
     
   
 {  
   
 CORE::delete  
 $bag->{${$bag->{${$newChild->{  
 'id'  
 }}}  
                           ->{'impl'} or \''}}  
                  ->{'lpmi'};  
 push @{$bag->{  
 'm'  
 }},  
      $bag->{${$newChild->{  
 'id'  
 }}}->{'impl'};  
 CORE::delete $bag->{${$newChild->{  
 'id'  
 }}}  
                  ->{'impl'};  
   
   
 ;}  
   
 ;  
     
   
 {  
   
   
 $bag->{${$newChild->{  
 'id'  
 }}}->{'od'}  
   = $self->{  
 'id'  
 };  
 $bag->{${$self->{  
 'id'  
 }}}  
     ->{'do'}->{${$newChild->{  
 'id'  
 }}}  
   = $newChild->{  
 'id'  
585  };  };
586      $$newChild->{
587    'od'
588  ;}  } = $self;
589      Scalar::Util::weaken ($$newChild->{
590  ;  'od'
591    });
592  }  }
593    
594    
595  ;}  }
596  $r}  $r}
597  sub insert_before ($$;$) {  sub insert_before ($$;$) {
598  my ($self, $newChild, $refChild) = @_;  my ($self, $newChild, $refChild) = @_;
# Line 948  local $Error::Depth = $Error::Depth - 1; Line 667  local $Error::Depth = $Error::Depth - 1;
667  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
668    
669    
670  ;}  }
671    
672    
673  ;}  ;}
# Line 987  local $Error::Depth = $Error::Depth - 1; Line 706  local $Error::Depth = $Error::Depth - 1;
706  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
707    
708    
709  ;}  }
710    
711    
712  ;}  ;}
# Line 1017  local $Error::Depth = $Error::Depth - 1; Line 736  local $Error::Depth = $Error::Depth - 1;
736  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
737    
738    
739  ;}  }
740    
741    
742  ;}  ;}
# Line 1037  local $Error::Depth = $Error::Depth - 1; Line 756  local $Error::Depth = $Error::Depth - 1;
756  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/18/dom-core#HIERARCHY_WRONG_DOCTYPE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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/18/dom-core#HIERARCHY_WRONG_DOCTYPE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
757    
758    
759  ;}  }
760    
761    
762  ;}  ;}
# Line 1074  local $Error::Depth = $Error::Depth - 1; Line 793  local $Error::Depth = $Error::Depth - 1;
793  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/18/dom-core#HIERARCHY_WRONG_DOCTYPE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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/18/dom-core#HIERARCHY_WRONG_DOCTYPE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
794    
795    
796  ;}  }
797    
798    
799  ;}  ;}
# Line 1094  local $Error::Depth = $Error::Depth - 1; Line 813  local $Error::Depth = $Error::Depth - 1;
813  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#MDOM_SECOND_DOCTYPE', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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#MDOM_SECOND_DOCTYPE', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
814    
815    
816  ;}  }
817    
818    
819  ;}  ;}
# Line 1124  local $Error::Depth = $Error::Depth - 1; Line 843  local $Error::Depth = $Error::Depth - 1;
843  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#MDOM_SECOND_DOCTYPE', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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#MDOM_SECOND_DOCTYPE', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
844    
845    
846  ;}  }
847    
848    
849  ;}  ;}
# Line 1139  next_sibling Line 858  next_sibling
858        
859    
860    
861  ;}  }
862    
863    
864  ;}  ;}
# Line 1203  local $Error::Depth = $Error::Depth - 1; Line 922  local $Error::Depth = $Error::Depth - 1;
922  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
923    
924    
925  ;}  }
926    
927    
928  ;}  ;}
# Line 1224  local $Error::Depth = $Error::Depth - 1; Line 943  local $Error::Depth = $Error::Depth - 1;
943  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
944    
945    
946  ;}  }
947    
948    
949  ;}  ;}
# Line 1252  local $Error::Depth = $Error::Depth - 1; Line 971  local $Error::Depth = $Error::Depth - 1;
971  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'WRONG_DOCUMENT_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#DIFFERENT_DOCUMENT_ERR', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'WRONG_DOCUMENT_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#DIFFERENT_DOCUMENT_ERR', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
972    
973    
974  ;}  }
975    
976    
977  ;}  ;}
# Line 1275  local $Error::Depth = $Error::Depth - 1; Line 994  local $Error::Depth = $Error::Depth - 1;
994  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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
995    
996    
997  ;}  }
998    
999    
1000  ;}  ;}
# Line 1298  local $Error::Depth = $Error::Depth - 1; Line 1017  local $Error::Depth = $Error::Depth - 1;
1017  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_SRC_PARENT', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  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_SRC_PARENT', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
1018    
1019    
1020  ;}  }
1021    
1022    
1023  ;}  ;}
# Line 1332  local $Error::Depth = $Error::Depth - 1; Line 1051  local $Error::Depth = $Error::Depth - 1;
1051  report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/tree#insert-before-itself', 'rdata' => $refChild, '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/tree#insert-before-itself', 'rdata' => $refChild, '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
1052    
1053    
1054  ;}  }
1055    
1056    
1057  ;}  ;}
# Line 1341  report Message::DOM::DOMCore::ManakaiDOM Line 1060  report Message::DOM::DOMCore::ManakaiDOM
1060                    
1061    
1062    
1063  ;}  }
1064    
1065  ;  ;
1066                    
# Line 1378  local $Error::Depth = $Error::Depth - 1; Line 1097  local $Error::Depth = $Error::Depth - 1;
1097  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_FOUND_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NOT_CHILD_ERR', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'refChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $refChild;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_FOUND_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NOT_CHILD_ERR', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'refChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $refChild;
1098    
1099    
1100  ;}  }
1101    
1102    
1103  ;}  ;}
# Line 1387  report Message::DOM::DOMCore::ManakaiDOM Line 1106  report Message::DOM::DOMCore::ManakaiDOM
1106                    
1107    
1108    
1109  ;}  }
1110    
1111  ;  ;
1112                    
# Line 1402  report Message::DOM::DOMCore::ManakaiDOM Line 1121  report Message::DOM::DOMCore::ManakaiDOM
1121        
1122    
1123    
1124  ;}  }
1125    
1126  ; # FOR !tc:ForAppendChild  ; # FOR !tc:ForAppendChild
1127    
# Line 1411  report Message::DOM::DOMCore::ManakaiDOM Line 1130  report Message::DOM::DOMCore::ManakaiDOM
1130      if ($child_nt ==      if ($child_nt ==
1131  11  11
1132  ) {  ) {
1133                $$newChild->{
1134    'child'
1135  {  } = [];
   
   
 $newChild->{  
 'b'  
 }->{${$newChild->{  
 'id'  
 }}}  
     ->{'child'} = [];  
   
   
 ;}  
   
 ;  
1136      } else {      } else {
1137        my $v;        my $v = $$nc_parent->{
1138          'child'
1139    };
 {  
   
   
 $v = $nc_parent->{  
 'b'  
 }->{${$nc_parent->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 ;}  
   
 ;  
1140        RP: for my $i (0..$#$v) {        RP: for my $i (0..$#$v) {
1141          my $nodeid = $v->[$i];          if ($v->[$i] eq $new_child[0]) {
         if (  
 (${$new_child[0]->{'id'}} eq ${$nodeid})  
 ) {  
1142            splice @$v, $i, 1, ();            splice @$v, $i, 1, ();
1143            last RP;            last RP;
1144          }          }
# Line 1459  $v = $nc_parent->{ Line 1148  $v = $nc_parent->{
1148    
1149    ## -- Rewrite the |parentNode| properties    ## -- Rewrite the |parentNode| properties
1150    for my $nc (@new_child) {    for my $nc (@new_child) {
1151            $$nc->{
1152    'parent'
1153  {  } = $self;
1154        Scalar::Util::weaken ($$nc->{
1155    'parent'
1156  $nc->{  });
 'b'  
 }->{${$nc->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 ;}  
   
 ;  
1157    }    }
1158    
1159    my $children;    my $children = $$self->{
1160      'child'
1161    };
 {  
   
   
 $children = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 ;}  
   
 ;  
1162    
1163        
1164    
# Line 1508  $children = $self->{ Line 1171  $children = $self->{
1171    
1172  ## -- Adds to children list  ## -- Adds to children list
1173      if ($index == -1) {      if ($index == -1) {
1174        push @$children, map {        push @$children, @new_child;
           
 $_->{'id'}  
   
       } @new_child;  
1175      } else {      } else {
1176        splice @$children, $index, 0, map {        splice @$children, $index, 0, @new_child;
           
 $_->{'id'}  
   
       } @new_child;  
1177      }      }
1178      $r = $newChild;      $r = $newChild;
1179        
1180    
1181    
1182  ;}  }
1183    
1184  ;  ;
1185    
# Line 1534  $_->{'id'} Line 1189  $_->{'id'}
1189    
1190    
1191    
1192  ;}  }
1193    
1194    
1195  ;}  ;}
# Line 1542  $_->{'id'} Line 1197  $_->{'id'}
1197  ;  ;
1198    
1199    
1200  ;}  }
1201    
1202  ;  ;
1203  if ($child_nt ==  if ($child_nt ==
# Line 1551  if ($child_nt == Line 1206  if ($child_nt ==
1206  not defined $newChild->  not defined $newChild->
1207  owner_document  owner_document
1208  ) {  ) {
1209    my $bag =    CORE::delete $$newChild->{
1210  $self->{'b'}  'impl'
 ;  
     
   
 {  
   
 CORE::delete  
 $bag->{${$bag->{${$newChild->{  
 'id'  
 }}}  
                           ->{'impl'} or \''}}  
                  ->{'lpmi'};  
 push @{$bag->{  
 'm'  
 }},  
      $bag->{${$newChild->{  
 'id'  
 }}}->{'impl'};  
 CORE::delete $bag->{${$newChild->{  
 'id'  
 }}}  
                  ->{'impl'};  
   
   
 ;}  
   
 ;  
     
   
 {  
   
   
 $bag->{${$newChild->{  
 'id'  
 }}}->{'od'}  
   = $self->{  
 'id'  
 };  
 $bag->{${$self->{  
 'id'  
 }}}  
     ->{'do'}->{${$newChild->{  
 'id'  
 }}}  
   = $newChild->{  
 'id'  
1211  };  };
1212      $$newChild->{
1213    'od'
1214  ;}  } = $self;
1215      Scalar::Util::weaken ($$newChild->{
1216  ;  'od'
1217    });
1218  }  }
1219    
1220    
1221  ;}  }
1222  $r}  $r}
1223  sub replace_child ($$$) {  sub replace_child ($$$) {
1224  my ($self, $newChild, $oldChild) = @_;  my ($self, $newChild, $oldChild) = @_;
# Line 1682  local $Error::Depth = $Error::Depth - 1; Line 1293  local $Error::Depth = $Error::Depth - 1;
1293  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
1294    
1295    
1296  ;}  }
1297    
1298    
1299  ;}  ;}
# Line 1718  local $Error::Depth = $Error::Depth - 1; Line 1329  local $Error::Depth = $Error::Depth - 1;
1329  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
1330    
1331    
1332  ;}  }
1333    
1334    
1335  ;}  ;}
# Line 1750  local $Error::Depth = $Error::Depth - 1; Line 1361  local $Error::Depth = $Error::Depth - 1;
1361  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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#MDOM_SECOND_DOC_ELEMENT', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
1362    
1363    
1364  ;}  }
1365    
1366    
1367  ;}  ;}
# Line 1770  local $Error::Depth = $Error::Depth - 1; Line 1381  local $Error::Depth = $Error::Depth - 1;
1381  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/18/dom-core#HIERARCHY_WRONG_DOCTYPE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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/18/dom-core#HIERARCHY_WRONG_DOCTYPE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
1382    
1383    
1384  ;}  }
1385    
1386    
1387  ;}  ;}
# Line 1804  local $Error::Depth = $Error::Depth - 1; Line 1415  local $Error::Depth = $Error::Depth - 1;
1415  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/18/dom-core#HIERARCHY_WRONG_DOCTYPE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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/18/dom-core#HIERARCHY_WRONG_DOCTYPE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
1416    
1417    
1418  ;}  }
1419    
1420    
1421  ;}  ;}
# Line 1824  local $Error::Depth = $Error::Depth - 1; Line 1435  local $Error::Depth = $Error::Depth - 1;
1435  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#MDOM_SECOND_DOCTYPE', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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#MDOM_SECOND_DOCTYPE', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
1436    
1437    
1438  ;}  }
1439    
1440    
1441  ;}  ;}
# Line 1856  local $Error::Depth = $Error::Depth - 1; Line 1467  local $Error::Depth = $Error::Depth - 1;
1467  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#MDOM_SECOND_DOCTYPE', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;  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#MDOM_SECOND_DOCTYPE', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', '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;
1468    
1469    
1470  ;}  }
1471    
1472    
1473  ;}  ;}
# Line 1871  next_sibling Line 1482  next_sibling
1482        
1483    
1484    
1485  ;}  }
1486    
1487    
1488  ;}  ;}
# Line 1935  local $Error::Depth = $Error::Depth - 1; Line 1546  local $Error::Depth = $Error::Depth - 1;
1546  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
1547    
1548    
1549  ;}  }
1550    
1551    
1552  ;}  ;}
# Line 1956  local $Error::Depth = $Error::Depth - 1; Line 1567  local $Error::Depth = $Error::Depth - 1;
1567  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
1568    
1569    
1570  ;}  }
1571    
1572    
1573  ;}  ;}
# Line 1984  local $Error::Depth = $Error::Depth - 1; Line 1595  local $Error::Depth = $Error::Depth - 1;
1595  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'WRONG_DOCUMENT_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#DIFFERENT_DOCUMENT_ERR', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'WRONG_DOCUMENT_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#DIFFERENT_DOCUMENT_ERR', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
1596    
1597    
1598  ;}  }
1599    
1600    
1601  ;}  ;}
# Line 2007  local $Error::Depth = $Error::Depth - 1; Line 1618  local $Error::Depth = $Error::Depth - 1;
1618  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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
1619    
1620    
1621  ;}  }
1622    
1623    
1624  ;}  ;}
# Line 2030  local $Error::Depth = $Error::Depth - 1; Line 1641  local $Error::Depth = $Error::Depth - 1;
1641  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_SRC_PARENT', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  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_SRC_PARENT', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
1642    
1643    
1644  ;}  }
1645    
1646    
1647  ;}  ;}
# Line 2067  local $Error::Depth = $Error::Depth - 1; Line 1678  local $Error::Depth = $Error::Depth - 1;
1678  report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/tree#replace-by-itself', 'rdata' => $oldChild, '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/tree#replace-by-itself', 'rdata' => $oldChild, '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
1679    
1680    
1681  ;}  }
1682    
1683    
1684  ;}  ;}
# Line 2076  report Message::DOM::DOMCore::ManakaiDOM Line 1687  report Message::DOM::DOMCore::ManakaiDOM
1687                    
1688    
1689    
1690  ;}  }
1691    
1692  ;  ;
1693        }        }
# Line 2113  local $Error::Depth = $Error::Depth - 1; Line 1724  local $Error::Depth = $Error::Depth - 1;
1724  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_FOUND_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NOT_CHILD_ERR', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'oldChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $oldChild;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_FOUND_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NOT_CHILD_ERR', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'oldChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $oldChild;
1725    
1726    
1727  ;}  }
1728    
1729    
1730  ;}  ;}
# Line 2122  report Message::DOM::DOMCore::ManakaiDOM Line 1733  report Message::DOM::DOMCore::ManakaiDOM
1733                    
1734    
1735    
1736  ;}  }
1737    
1738  ;  ;
1739        } # C        } # C
# Line 2141  local $Error::Depth = $Error::Depth - 1; Line 1752  local $Error::Depth = $Error::Depth - 1;
1752  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_FOUND_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NOT_CHILD_ERR', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'oldChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $oldChild;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_FOUND_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NOT_CHILD_ERR', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'oldChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $oldChild;
1753    
1754    
1755  ;}  }
1756    
1757    
1758  ;}  ;}
# Line 2150  report Message::DOM::DOMCore::ManakaiDOM Line 1761  report Message::DOM::DOMCore::ManakaiDOM
1761                
1762    
1763    
1764  ;}  }
1765    
1766  ;  ;
1767      }      }
1768        
1769    
1770    
1771  ;}  }
1772    
1773  ; # FOR !tc:ForAppendChild  ; # FOR !tc:ForAppendChild
1774    
# Line 2166  report Message::DOM::DOMCore::ManakaiDOM Line 1777  report Message::DOM::DOMCore::ManakaiDOM
1777      if ($child_nt ==      if ($child_nt ==
1778  11  11
1779  ) {  ) {
1780                $$newChild->{
1781    'child'
1782  {  } = [];
   
   
 $newChild->{  
 'b'  
 }->{${$newChild->{  
 'id'  
 }}}  
     ->{'child'} = [];  
   
   
 ;}  
   
 ;  
1783      } else {      } else {
1784        my $v;        my $v = $$nc_parent->{
1785          'child'
1786    };
 {  
   
   
 $v = $nc_parent->{  
 'b'  
 }->{${$nc_parent->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 ;}  
   
 ;  
1787        RP: for my $i (0..$#$v) {        RP: for my $i (0..$#$v) {
1788          my $nodeid = $v->[$i];          if ($v->[$i] eq $new_child[0]) {
         if (  
 (${$new_child[0]->{'id'}} eq ${$nodeid})  
 ) {  
1789            splice @$v, $i, 1, ();            splice @$v, $i, 1, ();
1790            last RP;            last RP;
1791          }          }
# Line 2214  $v = $nc_parent->{ Line 1795  $v = $nc_parent->{
1795    
1796    ## -- Rewrite the |parentNode| properties    ## -- Rewrite the |parentNode| properties
1797    for my $nc (@new_child) {    for my $nc (@new_child) {
1798            $$nc->{
1799    'parent'
1800  {  } = $self;
1801        Scalar::Util::weaken ($$nc->{
1802    'parent'
1803  $nc->{  });
 'b'  
 }->{${$nc->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 ;}  
   
 ;  
1804    }    }
1805    
1806    my $children;    my $children = $$self->{
1807      'child'
1808    };
 {  
   
   
 $children = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 ;}  
   
 ;  
1809    
1810        
1811    
# Line 2266  $children = $self->{ Line 1821  $children = $self->{
1821    
1822    
1823  ## -- Replaces the node  ## -- Replaces the node
1824      splice @$children, $index, 1, map {      splice @$children, $index, 1, @new_child;
1825              CORE::delete $$oldChild->{
1826  $_->{'id'}  'parent'
1827    };
     } @new_child;  
       
   
 {  
   
 CORE::delete  
 $oldChild->{  
 'b'  
 }->{${$oldChild->{  
 'id'  
 }}}  
                  ->{'parent'};  
   
   
 ;}  
   
 ;  
1828      $r = $oldChild;      $r = $oldChild;
1829        
1830    
1831    
1832  ;}  }
1833    
1834  ;  ;
1835    
1836    
1837    
1838  ;}  }
1839    
1840    
1841  ;}  ;}
# Line 2305  $oldChild->{ Line 1843  $oldChild->{
1843  ;  ;
1844    
1845    
1846  ;}  }
1847    
1848  ;  ;
1849  if ($child_nt ==  if ($child_nt ==
# Line 2314  if ($child_nt == Line 1852  if ($child_nt ==
1852  not defined $newChild->  not defined $newChild->
1853  owner_document  owner_document
1854  ) {  ) {
1855    my $bag =    CORE::delete $$newChild->{
1856  $self->{'b'}  'impl'
 ;  
     
   
 {  
   
 CORE::delete  
 $bag->{${$bag->{${$newChild->{  
 'id'  
 }}}  
                           ->{'impl'} or \''}}  
                  ->{'lpmi'};  
 push @{$bag->{  
 'm'  
 }},  
      $bag->{${$newChild->{  
 'id'  
 }}}->{'impl'};  
 CORE::delete $bag->{${$newChild->{  
 'id'  
 }}}  
                  ->{'impl'};  
   
   
 ;}  
   
 ;  
     
   
 {  
   
   
 $bag->{${$newChild->{  
 'id'  
 }}}->{'od'}  
   = $self->{  
 'id'  
1857  };  };
1858  $bag->{${$self->{    $$newChild->{
1859  'id'  'od'
1860  }}}  } = $self;
1861      ->{'do'}->{${$newChild->{    Scalar::Util::weaken ($$newChild->{
1862  'id'  'od'
1863  }}}  });
   = $newChild->{  
 'id'  
 };  
   
   
 ;}  
   
 ;  
1864  }  }
1865    
1866    
1867  ;}  }
1868  $r}  $r}
1869  sub manakai_append_text ($$) {  sub manakai_append_text ($$) {
1870  my ($self, $string) = @_;  my ($self, $string) = @_;
# Line 2423  append_child Line 1917  append_child
1917    
1918    
1919    
1920  ;}  }
1921    
1922    
1923  ;}  ;}
# Line 2431  append_child Line 1925  append_child
1925  ;  ;
1926    
1927    
1928  ;}  }
1929  $r}  $r}
1930  sub remove_child ($$) {  sub remove_child ($$) {
1931  my ($self, $oldChild) = @_;  my ($self, $oldChild) = @_;
# Line 2458  report Message::DOM::DOMCore::ManakaiDOM Line 1952  report Message::DOM::DOMCore::ManakaiDOM
1952  F:  F:
1953  {  {
1954    my $i = -1;    my $i = -1;
1955    for my $cld (@{$self->    my $v = $$self->{
1956  child_nodes  'child'
1957  }) {  };
1958      for my $cld (@$v) {
1959      $i++;      $i++;
1960      if ($cld eq $oldChild) {      if ($cld eq $oldChild) {
       my $v;  
         
   
 {  
   
   
 $v = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 ;}  
   
 ;  
1961        splice @$v, $i, 1, ();        splice @$v, $i, 1, ();
1962                CORE::delete $$oldChild->{
1963    'parent'
1964  {  };
   
 CORE::delete  
 $oldChild->{  
 'b'  
 }->{${$oldChild->{  
 'id'  
 }}}  
                  ->{'parent'};  
   
   
 ;}  
   
 ;  
1965        $r = $oldChild;        $r = $oldChild;
1966        last F;        last F;
1967      }      }
# Line 2508  report Message::DOM::DOMCore::ManakaiDOM Line 1973  report Message::DOM::DOMCore::ManakaiDOM
1973  } # F  } # F
1974    
1975    
1976  ;}  }
1977    
1978  ;  ;
1979    
1980    
1981  ;}  }
1982  $r}  $r}
1983  sub node_name ($;$) {  sub node_name ($;$) {
1984  if (@_ == 1) {my ($self) = @_;  if (@_ == 1) {my ($self) = @_;
# Line 2587  child_nodes Line 2052  child_nodes
2052    
2053    
2054    
2055  ;}  }
2056    
2057    
2058  ;}  ;}
# Line 2595  child_nodes Line 2060  child_nodes
2060  ;  ;
2061    
2062    
2063  ;}  }
2064  $r;  $r;
2065  } else {my ($self, $given) = @_;  } else {my ($self, $given) = @_;
2066    
# Line 2634  report Message::DOM::DOMCore::ManakaiDOM Line 2099  report Message::DOM::DOMCore::ManakaiDOM
2099  }  }
2100    
2101    
2102  ;}  }
2103    
2104  ;  ;
2105    
2106  my @__old_children = @{$self->  for my $__old_child (@{${$self}->{
2107  child_nodes  'child'
2108    }}) {
2109      CORE::delete $$__old_child->{
2110    'parent'
2111  };  };
 for my $__old_child (@__old_children) {  
     
   
 {  
   
 CORE::delete  
 $__old_child->{  
 'b'  
 }->{${$__old_child->{  
 'id'  
 }}}  
                  ->{'parent'};  
   
   
 ;}  
   
 ;  
2112  }  }
2113    
2114  my @__new_children;  my @__new_children;
# Line 2665  if (defined $given and length $given) { Line 2116  if (defined $given and length $given) {
2116    my $__text = $self->    my $__text = $self->
2117  create_text_node  create_text_node
2118   ($given);   ($given);
2119    push @__new_children,    push @__new_children, $__text;
2120  $__text->{'id'}    $$__text->{
2121  ;  'parent'
2122      } = $self;
2123      Scalar::Util::weaken ($$__text->{
2124  {  'parent'
2125    });
   
 $__text->{  
 'b'  
 }->{${$__text->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 ;}  
   
 ;  
2126  }  }
2127    
2128    ${$self}->{
2129    'child'
2130    } = \@__new_children;
2131    
2132    
2133  {  }
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'child'} = \@__new_children;  
   
   
 ;}  
   
 ;  
   
   
 ;}  
2134    
2135  ;  ;
2136  }  }
2137    
2138    
2139  ;}  }
2140  }  }
2141  }  }
2142  sub get_feature ($$$) {  sub get_feature ($$$) {
# Line 2724  my ($self, $feature, $version) = @_; Line 2148  my ($self, $feature, $version) = @_;
2148  $feature = lc $feature;  $feature = lc $feature;
2149    
2150    
2151  ;}  }
2152    
2153  {  {
2154    
# Line 2732  $feature = lc $feature; Line 2156  $feature = lc $feature;
2156  $version = '' unless defined $version;  $version = '' unless defined $version;
2157    
2158    
2159  ;}  }
2160  my $r;  my $r;
2161    
2162  {  {
# Line 2740  my $r; Line 2164  my $r;
2164    
2165  $feature =~ s/^\+//;  $feature =~ s/^\+//;
2166    
 ## TODO: Remove this code and implement autoload  
 if ($feature eq  
 'http://suika.fam.cx/www/2006/feature/xdoctype'  
 ) {  
   require Message::DOM::XDoctype;  
 }  
   
   
2167    
2168  {  {
2169    
2170  if  if
2171  ($Message::DOM::DOMFeature::ClassInfo->{ref $self}  ($Message::Util::AutoLoad::Registry::Feature->{$feature}->{$version}) {
       ->{has_feature}->{$feature}->{$version}) {  
2172    $r = $self;    $r = $self;
 } else {  
   CLASS: for my $__class (sort {  
     $Message::DOM::ClassPoint{$b} <=> $Message::DOM::ClassPoint{$a}  
   } grep {  
     $Message::DOM::DOMFeature::ClassInfo->{'Message::DOM::Document::ManakaiDOMDocument'}  
         ->{compat_class}->{$_}  
   } keys %{$Message::DOM::DOMFeature::ClassInfo->{'Message::DOM::Document::ManakaiDOMDocument'}  
                ->{compat_class} or {}}) {  
     if ($Message::DOM::DOMFeature::ClassInfo->{$__class}  
             ->{has_feature}->{$feature}->{$version}) {  
         
   
 {  
   
   
 $r = ${($self->{'b'})->{${($self->{'id'})}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => ($self->{'id'}),  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
           'nrcls' => \$__class,  
         });  
 ($self->{'b'})->{${($self->{'id'})}}->{  
 'rc'  
 }++;  
   
   
 ;}  
   
 ;  
       last CLASS;  
     }  
   } # CLASS  
2173  }  }
2174    
2175    
2176  ;}  }
2177    
2178  ;  ;
2179  unless (defined $r) {  unless (defined $r) {
# Line 2814  local $Error::Depth = $Error::Depth + 1; Line 2191  local $Error::Depth = $Error::Depth + 1;
2191        
2192    
2193    
2194  ;}  }
2195    
2196    
2197  ;}  ;}
# Line 2823  local $Error::Depth = $Error::Depth + 1; Line 2200  local $Error::Depth = $Error::Depth + 1;
2200  }  }
2201    
2202    
2203  ;}  }
2204  $r}  $r}
2205  sub base_uri ($;$) {  sub base_uri ($;$) {
2206  if (@_ == 1) {my ($self) = @_;  if (@_ == 1) {my ($self) = @_;
# Line 2832  my $r = ''; Line 2209  my $r = '';
2209  {  {
2210    
2211    
2212  {  $r = $$self->{
2213    'buri'
2214    };
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'buri'};  
   
   
 ;}  
   
 ;  
2215  unless (defined $r) {  unless (defined $r) {
2216        $r = $$self->{
2217    'duri'
2218  {  };
   
   
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'duri'};  
   
   
 ;}  
   
 ;  
2219  }  }
2220    
2221    
2222  ;}  }
2223  $r;  $r;
2224  } else {my ($self) = @_;  } else {my ($self) = @_;
2225  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::Document::ManakaiDOMDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'base_uri';  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::Document::ManakaiDOMDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'base_uri';
2226  }  }
2227  }  }
 sub create_element ($$) {  
 my ($self, $tagName) = @_;  
 my $r;  
   
 {  
   
 my  
 $strict = $self->  
 strict_error_checking  
 ;  
 if ($strict) {  
   my $version = $self->  
 xml_version  
 ;  
     
   
 {  
   
 if  
 (defined $tagName) {  
     
   
 {  
   
 if  
 (((not defined $version or $version eq '1.0') and  
          not  
 ($tagName =~ /\A\p{InXML_NameStartChar10}\p{InXMLNameChar10}*\z/)  
 ) or  
         (defined $version and $version eq '1.1' and  
          not  
 ($tagName =~ /\A\p{InXMLNameStartChar11}\p{InXMLNameChar11}*\z/)  
 )) {  
         
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'INVALID_CHARACTER_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#MDOM_BAD_NAME', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#name' => $tagName, 'http://www.w3.org/2001/04/infoset#version' => $version, '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/2004/dom/main%23ensureXMLName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => '$INPUT_PARAM_NAME';  
   
 ;  
     }  
     
   
   
 ;}  
   
 ;  
     
   
 ;  
 }  
   
   
 ;}  
   
 ;  
 }  
   
   
 {  
   
 local $Error::Depth = $Error::Depth + 1;  
   
 {  
   
   
   
   $self->  
 strict_error_checking  
  (  
 0  
 );  
   $r = $self->  
 create_element_ns  
  (  
 undef  
 , [  
 undef  
 , $tagName]);  
   $self->  
 strict_error_checking  
  ($strict);  
   
   
   
 ;}  
   
   
 ;}  
   
 ;  
   
   
 ;}  
 $r}  
 sub create_element_ns ($$$) {  
 my ($self, $namespaceURI, $qualifiedName) = @_;  
   
 {  
   
 if  
 (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {  
     
 report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/main#empty-namespace-uri', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:tag:suika.fam.cx,2005-09:1143811080:18264:zbjED29418+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   
     
   
 {  
   
   
 $namespaceURI = undef;  
     
   
   
 ;}  
   
 ;  
 }  
   
   
 ;}  
 my $r;  
   
 {  
   
 require  
 Message::DOM::Element;  
   
 my ($prefix, $lname) = ref $qualifiedName eq 'ARRAY'  
                          ? @$qualifiedName  
                          : split /:/, $qualifiedName, 2;  
 ($prefix, $lname) = (  
 undef  
 , $prefix) unless defined $lname;  
 $qualifiedName = defined $prefix ? $prefix.':'.$lname : $lname;  
   
 if ($self->  
 strict_error_checking  
 ) {  
   my $version = $self->  
 xml_version  
 ;  
     
   
 {  
   
 if  
 (defined $version and $version eq '1.1') {  
     unless (  
 ($qualifiedName =~ /\A\p{InXMLNameStartChar11}\p{InXMLNameChar11}*\z/)  
 ) {  
         
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'INVALID_CHARACTER_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#MDOM_BAD_NAME', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#name' => $qualifiedName, 'http://www.w3.org/2001/04/infoset#version' => '1.1', '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/2004/dom/main%23ensureXMLQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => '$INPUT_NAME';  
   
 ;  
     }  
     unless (  
 ($qualifiedName =~ /\A\p{InXMLNCNameStartChar11}\p{InXMLNCNameChar11}*(?::\p{InXMLNCNameStartChar11}\p{InXMLNCNameChar11}*)?\z/)  
 ) {  
         
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_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#MDOM_NS_MALFORMED_QNAME', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#name' => $qualifiedName, 'http://www.w3.org/2001/04/infoset#version' => '1.1', '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/2004/dom/main%23ensureXMLQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => '$INPUT_NAME';  
   
 ;  
     }  
   } else {  
     unless (  
 ($qualifiedName =~ /\A\p{InXML_NameStartChar10}\p{InXMLNameChar10}*\z/)  
 ) {  
         
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'INVALID_CHARACTER_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#MDOM_BAD_NAME', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#name' => $qualifiedName, 'http://www.w3.org/2001/04/infoset#version' => $version, '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/2004/dom/main%23ensureXMLQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => '$INPUT_NAME';  
   
 ;  
     }  
     unless (  
 ($qualifiedName =~ /\A\p{InXML_NCNameStartChar10}\p{InXMLNCNameChar10}*(?::\p{InXML_NCNameStartChar10}\p{InXMLNCNameChar10}*)?\z/)  
 ) {  
         
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_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#MDOM_NS_MALFORMED_QNAME', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#name' => $qualifiedName, 'http://www.w3.org/2001/04/infoset#version' => $version, '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/2004/dom/main%23ensureXMLQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => '$INPUT_NAME';  
   
 ;  
     }  
   }  
   
   
 ;}  
   
 ;  
     
   
 {  
   
 if  
 (defined $prefix) {  
   if (not defined $namespaceURI) {  
       
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#prefix' => $prefix, '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_NS_PREFIX_WITH_NULL_URI', '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/2004/dom/main%23checkXMLNamesQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   } elsif ($prefix eq 'xml' and $namespaceURI ne  
 'http://www.w3.org/XML/1998/namespace'  
 ) {  
       
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#namespaceName' => $namespaceURI, '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_NS_XML_WITH_OTHER_URI', '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/2004/dom/main%23checkXMLNamesQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   } elsif ($prefix eq 'xmlns' and $namespaceURI ne  
 'http://www.w3.org/2000/xmlns/'  
 ) {  
       
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#namespaceName' => $namespaceURI, '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_NS_XMLNS_WITH_OTHER_URI', '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/2004/dom/main%23checkXMLNamesQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   } elsif ($namespaceURI eq  
 'http://www.w3.org/XML/1998/namespace' and  
 $prefix ne 'xml') {  
       
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#prefix' => $prefix, '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_NS_OTHER_WITH_XML_URI', '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/2004/dom/main%23checkXMLNamesQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   } elsif ($namespaceURI eq  
 'http://www.w3.org/2000/xmlns/' and  
 $prefix ne 'xmlns') {  
       
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#prefix' => $prefix, '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_NS_OTHER_WITH_XMLNS_URI', '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/2004/dom/main%23checkXMLNamesQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   }  
 } else { ## No prefix  
   if (not defined $namespaceURI) {  
     #  
   } elsif ($namespaceURI eq  
 'http://www.w3.org/2000/xmlns/' and  
 $lname ne 'xmlns') {  
       
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#prefix' => undef, '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_NS_OTHER_WITH_XMLNS_URI', '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/2004/dom/main%23checkXMLNamesQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   }  
 }  
   
   
 ;}  
   
 ;  
   if (defined $namespaceURI and $namespaceURI eq  
 'http://www.w3.org/2000/xmlns/' and  
         
 ($qualifiedName eq 'xmlns' or  
        (defined $prefix and $prefix eq 'xmlns'))) {  
       
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#method' => 'create_element_ns', 'http://www.w3.org/2001/04/infoset#prefix' => $prefix, 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'qualifiedName', 'http://www.w3.org/2001/04/infoset#localName' => $lname, 'http://www.w3.org/2001/04/infoset#namespaceName' => $namespaceURI, '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_NS_OTHER_WITH_XMLNS_URI';  
   
 ;  
   }  
 }  
   
 my $bag =  
 $self->{'b'}  
 ;  
 my $stem;  
   
   
 {  
   
   
 $stem = 'Message::DOM::Element::ManakaiDOMElement'->___create_node_stem ($bag, {  
     
 'rc'  
  => 0,  
     
 'id'  
  => \  
 (  
   'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .  
   ($Message::Util::ManakaiNode::UniqueIDR ||=  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62]) .  
   (++$Message::Util::ManakaiNode::UniqueIDN)  
 )  
 ,  
 }, {  
     'od' => $self,  
     'ns' => \$namespaceURI,  
     'pfx' => \$prefix,  
     'ln' => \$lname,  
   });  
   
   
 {  
   
 if  
 (defined 'Message::DOM::Element::ManakaiDOMElement') {  
   if (ref 'Message::DOM::Element::ManakaiDOMElement' eq 'SCALAR') {  
     $stem->{'cls'} = 'Message::DOM::Element::ManakaiDOMElement';  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMElement'}) {  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMElement'};  
   } else {  
     require Scalar::Util;  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMElement'} = \('Message::DOM::Element::ManakaiDOMElement');  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMElement'});  
   }  
 } else {  
   CORE::delete $stem->{'cls'};  
 }  
   
   
 ;}  
   
 ;  
 $bag->{${$stem->{  
 'id'  
 }}} = $stem;  
   
   
 ;}  
   
 ;  
   
   
 {  
   
   
 $r = ${$stem->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $stem->{  
 'id'  
 },  
     
 'b'  
  => $bag,  
 }, {  
     'nrifs' => ['Message::DOM::IFLatest::Element'],  
   });  
 $stem->{  
 'rc'  
 }++;  
   
   
 ;}  
   
 ;  
   
 ## Default attributes  
   
   
 {  
   
   
 {  
   
 local $Error::Depth = $Error::Depth + 1;  
   
 {  
   
   
   my  
 $__doctype = $self->  
 doctype  
 ;  
   my $__cfg = $self->  
 dom_config  
 ;  
   undef $__doctype unless $__cfg->  
 get_parameter  
   
                                     (  
 'http://suika.fam.cx/www/2006/dom-config/dtd-default-attributes'  
 );  
   $__doctype = $__doctype->  
 get_feature  
   
                              (  
 'http://suika.fam.cx/www/2006/feature/XDoctype'  
  => '3.0')  
     if $__doctype;  
   if ($__doctype) {  
     my $__et = $__doctype->  
 get_element_type_definition_node  
   
                              ($qualifiedName);  
     if ($__et) {  
       my $__orig_strict = $self->  
 strict_error_checking  
 ;  
       $self->  
 strict_error_checking  
  (  
 0  
 );  
       my %__gattr;  
       my %__has_attr;  
       my %__pfx_to_uri;  
       my $__copy_asis = $__cfg->  
 get_parameter  
   
                                (  
 'http://suika.fam.cx/www/2006/dom-config/clone-entity-reference-subtree'  
 );  
       $__cfg->  
 set_parameter  
   
                     (  
 'http://suika.fam.cx/www/2006/dom-config/clone-entity-reference-subtree'  
  =>  
 1  
 );  
       for my $__at (@{$__et->  
 attribute_definitions  
 }) {  
         my $__at_default = $__at->  
 default_type  
 ;  
         if ($__at_default ==  
 4 or  
               
 $__at_default ==  
 1  
 ) {  
           my ($__nn1, $__nn2) = split /:/, $__at->  
 node_name  
 ;  
           if (defined $__nn2) { # prefixed  
             if ($__nn1 eq 'xmlns') {  
               ## TODO: NCName check, prefix check and NSURI check  
               my $__attr = $self->  
 create_attribute_ns  
   
                                         (  
 'http://www.w3.org/2000/xmlns/'  
 , [$__nn1, $__nn2]);  
               for my $__at_child (@{$__at->  
 child_nodes  
 }) {  
                 $__attr->  
 append_child  
   
                            ($__at_child->  
 clone_node  
  (  
 1  
 ));  
               }  
               $__attr->  
 manakai_attribute_type  
   
                          ($__at->  
 declared_type  
 );  
               my $__nsuri = $__attr->  
 value  
 ;  
               ## TODO: Namespace well-formedness check (NSURI), v1.1 chk  
               $__pfx_to_uri{$__nn2} = $__nsuri;  
               $r->  
 set_attribute_node_ns  
  ($__attr);  
                        ## This method changes |specified| flag  
               $__attr->  
 specified  
  (  
 0  
 );  
               $__has_attr{  
 'http://www.w3.org/2000/xmlns/'  
 }->{$__nn2} =  
 1  
 ;  
             } else {  
               ## TODO: NCName check  
               $__gattr{$__nn1}->{$__nn2} = $__at;  
             }  
           } else {            # no prefixed  
             my $__attr;  
             if ($__nn1 eq 'xmlns') {  
               $__attr = $self->  
 create_attribute_ns  
   
                                         (  
 'http://www.w3.org/2000/xmlns/'  
 , 'xmlns');  
               $__has_attr{  
 'http://www.w3.org/2000/xmlns/'  
 }->{xmlns} =  
 1  
 ;  
             } else {  
               $__attr = $self->  
 create_attribute_ns  
   
                                         (  
 undef  
 , $__nn1);  
               ## TODO: NCName check  
             }  
             for my $__at_child (@{$__at->  
 child_nodes  
 }) {  
               $__attr->  
 append_child  
   
                          ($__at_child->  
 clone_node  
  (  
 1  
 ));  
             }  
             $__attr->  
 manakai_attribute_type  
   
                        ($__at->  
 declared_type  
 );  
             ## TODO: Namespace well-formedness check (NSURI)  
             $r->  
 set_attribute_node_ns  
  ($__attr);  
                        ## This method changes |specified| flag  
             $__attr->  
 specified  
  (  
 0  
 );  
           }  
         }  
       } # attrdefs  
       for my $__pfx (keys %__gattr) {  
         my $__nsuri = $__pfx_to_uri{$__pfx};  
         unless (defined $__nsuri) {  
           ## TODO: Namespace well-formedness error  
         }  
         LN: for my $__ln (keys %{$__gattr{$__pfx}}) {  
           if ($__has_attr{defined $__nsuri ? $__nsuri : ''}->{$__ln}) {  
             ## TODO: Namespace well-formedness error  
             next LN;  
           }  
           ## TODO: NCName check, prefix check and NSURI check  
           my $__at = $__gattr{$__pfx}->{$__ln};  
           my $__attr = $self->  
 create_attribute_ns  
   
                                     ($__nsuri, [$__pfx, $__ln]);  
           for my $__at_child (@{$__at->  
 child_nodes  
 }) {  
             $__attr->  
 append_child  
   
                        ($__at_child->  
 clone_node  
  (  
 1  
 ));  
           }  
           $__attr->  
 manakai_attribute_type  
   
                      ($__at->  
 declared_type  
 );  
           $r->  
 set_attribute_node_ns  
  ($__attr);  
                        ## This method changes |specified| flag  
           $__attr->  
 specified  
  (  
 0  
 );  
           $__has_attr{defined $__nsuri ? $__nsuri : ''}->{$__ln} =  
 1  
 ;  
         } # LN  
       } # pfx  
       $__cfg->  
 set_parameter  
   
               (  
 'http://suika.fam.cx/www/2006/dom-config/clone-entity-reference-subtree'  
  => $__copy_asis);  
       $self->  
 strict_error_checking  
  ($__orig_strict);  
     }  
   }  
   
   
   
 ;}  
   
   
 ;}  
   
 ;  
   
   
 ;}  
   
 ;  
   
   
 ;}  
 $r}  
 sub create_attribute ($$) {  
 my ($self, $name) = @_;  
 my $r;  
   
 {  
   
 my  
 $strict = $self->  
 strict_error_checking  
 ;  
 if ($strict) {  
   my $version = $self->  
 xml_version  
 ;  
     
   
 {  
   
 if  
 (defined $name) {  
     
   
 {  
   
 if  
 (((not defined $version or $version eq '1.0') and  
          not  
 ($name =~ /\A\p{InXML_NameStartChar10}\p{InXMLNameChar10}*\z/)  
 ) or  
         (defined $version and $version eq '1.1' and  
          not  
 ($name =~ /\A\p{InXMLNameStartChar11}\p{InXMLNameChar11}*\z/)  
 )) {  
         
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'INVALID_CHARACTER_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#MDOM_BAD_NAME', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#name' => $name, 'http://www.w3.org/2001/04/infoset#version' => $version, '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/2004/dom/main%23ensureXMLName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => '$INPUT_PARAM_NAME';  
   
 ;  
     }  
     
   
   
 ;}  
   
 ;  
     
   
 ;  
 }  
   
   
 ;}  
   
 ;  
 }  
   
   
 {  
   
 local $Error::Depth = $Error::Depth + 1;  
   
 {  
   
   
   
   $self->  
 strict_error_checking  
  (  
 0  
 );  
   $r = $self->  
 create_attribute_ns  
  (  
 undef  
 , [  
 undef  
 , $name]);  
   $self->  
 strict_error_checking  
  ($strict);  
   
   
   
 ;}  
   
   
 ;}  
   
 ;  
   
   
 ;}  
 $r}  
 sub create_attribute_ns ($$$) {  
 my ($self, $namespaceURI, $qualifiedName) = @_;  
   
 {  
   
 if  
 (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {  
     
 report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/main#empty-namespace-uri', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:tag:suika.fam.cx,2005-09:1143811080:18264:zbjED29418+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   
     
   
 {  
   
   
 $namespaceURI = undef;  
     
   
   
 ;}  
   
 ;  
 }  
   
   
 ;}  
 my $r;  
   
 {  
   
 require  
 Message::DOM::Element;  
   
 my ($prefix, $lname) = ref $qualifiedName eq 'ARRAY'  
                          ? @$qualifiedName  
                          : split /:/, $qualifiedName, 2;  
 ($prefix, $lname) = (  
 undef  
 , $prefix) unless defined $lname;  
   
 ## TODO: autoload  
 if ((defined $namespaceURI and $namespaceURI eq  
 'http://www.w3.org/XML/1998/namespace'  
 ) or  
     ($lname =~ /^xml:/)) {  
   require Message::DOM::XML;  
 }  
   
 if ($self->  
 strict_error_checking  
 ) {  
   my $version = $self->  
 xml_version  
 ;  
   $qualifiedName = defined $prefix ? $prefix.':'.$lname  
                                    : $lname;  
     
   
 {  
   
 if  
 (defined $version and $version eq '1.1') {  
     unless (  
 ($qualifiedName =~ /\A\p{InXMLNameStartChar11}\p{InXMLNameChar11}*\z/)  
 ) {  
         
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'INVALID_CHARACTER_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#MDOM_BAD_NAME', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#name' => $qualifiedName, 'http://www.w3.org/2001/04/infoset#version' => '1.1', '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/2004/dom/main%23ensureXMLQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => '$INPUT_NAME';  
   
 ;  
     }  
     unless (  
 ($qualifiedName =~ /\A\p{InXMLNCNameStartChar11}\p{InXMLNCNameChar11}*(?::\p{InXMLNCNameStartChar11}\p{InXMLNCNameChar11}*)?\z/)  
 ) {  
         
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_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#MDOM_NS_MALFORMED_QNAME', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#name' => $qualifiedName, 'http://www.w3.org/2001/04/infoset#version' => '1.1', '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/2004/dom/main%23ensureXMLQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => '$INPUT_NAME';  
   
 ;  
     }  
   } else {  
     unless (  
 ($qualifiedName =~ /\A\p{InXML_NameStartChar10}\p{InXMLNameChar10}*\z/)  
 ) {  
         
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'INVALID_CHARACTER_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#MDOM_BAD_NAME', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#name' => $qualifiedName, 'http://www.w3.org/2001/04/infoset#version' => $version, '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/2004/dom/main%23ensureXMLQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => '$INPUT_NAME';  
   
 ;  
     }  
     unless (  
 ($qualifiedName =~ /\A\p{InXML_NCNameStartChar10}\p{InXMLNCNameChar10}*(?::\p{InXML_NCNameStartChar10}\p{InXMLNCNameChar10}*)?\z/)  
 ) {  
         
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_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#MDOM_NS_MALFORMED_QNAME', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#name' => $qualifiedName, 'http://www.w3.org/2001/04/infoset#version' => $version, '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/2004/dom/main%23ensureXMLQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => '$INPUT_NAME';  
   
 ;  
     }  
   }  
   
   
 ;}  
   
 ;  
     
   
 {  
   
 if  
 (defined $prefix) {  
   if (not defined $namespaceURI) {  
       
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#prefix' => $prefix, '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_NS_PREFIX_WITH_NULL_URI', '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/2004/dom/main%23checkXMLNamesQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   } elsif ($prefix eq 'xml' and $namespaceURI ne  
 'http://www.w3.org/XML/1998/namespace'  
 ) {  
       
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#namespaceName' => $namespaceURI, '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_NS_XML_WITH_OTHER_URI', '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/2004/dom/main%23checkXMLNamesQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   } elsif ($prefix eq 'xmlns' and $namespaceURI ne  
 'http://www.w3.org/2000/xmlns/'  
 ) {  
       
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#namespaceName' => $namespaceURI, '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_NS_XMLNS_WITH_OTHER_URI', '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/2004/dom/main%23checkXMLNamesQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   } elsif ($namespaceURI eq  
 'http://www.w3.org/XML/1998/namespace' and  
 $prefix ne 'xml') {  
       
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#prefix' => $prefix, '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_NS_OTHER_WITH_XML_URI', '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/2004/dom/main%23checkXMLNamesQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   } elsif ($namespaceURI eq  
 'http://www.w3.org/2000/xmlns/' and  
 $prefix ne 'xmlns') {  
       
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#prefix' => $prefix, '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_NS_OTHER_WITH_XMLNS_URI', '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/2004/dom/main%23checkXMLNamesQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   }  
 } else { ## No prefix  
   if (not defined $namespaceURI) {  
     #  
   } elsif ($namespaceURI eq  
 'http://www.w3.org/2000/xmlns/' and  
 $lname ne 'xmlns') {  
       
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#prefix' => undef, '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_NS_OTHER_WITH_XMLNS_URI', '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/2004/dom/main%23checkXMLNamesQName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  
   
 ;  
   }  
 }  
   
   
 ;}  
   
 ;  
 }  
   
 my $bag =  
 $self->{'b'}  
 ;  
 my $stem;  
   
   
 {  
   
   
 $stem = 'Message::DOM::Element::ManakaiDOMAttr'->___create_node_stem ($bag, {  
     
 'rc'  
  => 0,  
     
 'id'  
  => \  
 (  
   'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .  
   ($Message::Util::ManakaiNode::UniqueIDR ||=  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62]) .  
   (++$Message::Util::ManakaiNode::UniqueIDN)  
 )  
 ,  
 }, {  
     'od' => $self,  
     'ns' => \$namespaceURI,  
     'pfx' => \$prefix,  
     'ln' => \$lname,  
     'specified' => 1,  
   });  
   
   
 {  
   
 if  
 (defined 'Message::DOM::Element::ManakaiDOMAttr') {  
   if (ref 'Message::DOM::Element::ManakaiDOMAttr' eq 'SCALAR') {  
     $stem->{'cls'} = 'Message::DOM::Element::ManakaiDOMAttr';  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMAttr'}) {  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMAttr'};  
   } else {  
     require Scalar::Util;  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMAttr'} = \('Message::DOM::Element::ManakaiDOMAttr');  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMAttr'});  
   }  
 } else {  
   CORE::delete $stem->{'cls'};  
 }  
   
   
 ;}  
   
 ;  
 $bag->{${$stem->{  
 'id'  
 }}} = $stem;  
   
   
 ;}  
   
 ;  
   
   
 {  
   
   
 $r = ${$stem->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $stem->{  
 'id'  
 },  
     
 'b'  
  => $bag,  
 }, {  
     'nrifs' => ['Message::DOM::IFLatest::Attr'],  
   });  
 $stem->{  
 'rc'  
 }++;  
   
   
 ;}  
   
 ;  
   
 ## Attribute type information  
 if ((defined $namespaceURI and $namespaceURI eq  
 'http://www.w3.org/XML/1998/namespace' and  
       
 $lname eq 'id') or  
     (not defined $namespaceURI and $lname eq 'xml:id')) {  
     
   
 {  
   
 local $Error::Depth = $Error::Depth + 1;  
   
 {  
   
   
     if  
 ($self->  
 dom_config  
   
              ->  
 get_parameter  
   
                  (  
 'http://suika.fam.cx/www/2006/dom-config/xml-id'  
 )) {  
       $r->  
 manakai_attribute_type  
  (  
 2  
 );  
     }  
     
   
   
 ;}  
   
   
 ;}  
   
 ;  
 }  
   
   
 ;}  
 $r}  
 sub create_text_node ($$) {  
 my ($self, $data) = @_;  
 my $r;  
   
 {  
   
 my  
 $bag =  
 $self->{'b'}  
 ;  
 my $stem;  
   
   
 {  
   
   
 $stem = 'Message::DOM::TreeCore::ManakaiDOMText'->___create_node_stem ($bag, {  
     
 'rc'  
  => 0,  
     
 'id'  
  => \  
 (  
   'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .  
   ($Message::Util::ManakaiNode::UniqueIDR ||=  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62]) .  
   (++$Message::Util::ManakaiNode::UniqueIDN)  
 )  
 ,  
 }, {  
     'od' => $self,  
     'con' => \$data,  
   });  
   
   
 {  
   
 if  
 (defined 'Message::DOM::TreeCore::ManakaiDOMText') {  
   if (ref 'Message::DOM::TreeCore::ManakaiDOMText' eq 'SCALAR') {  
     $stem->{'cls'} = 'Message::DOM::TreeCore::ManakaiDOMText';  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{'Message::DOM::TreeCore::ManakaiDOMText'}) {  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::TreeCore::ManakaiDOMText'};  
   } else {  
     require Scalar::Util;  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::TreeCore::ManakaiDOMText'} = \('Message::DOM::TreeCore::ManakaiDOMText');  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{'Message::DOM::TreeCore::ManakaiDOMText'});  
   }  
 } else {  
   CORE::delete $stem->{'cls'};  
 }  
   
   
 ;}  
   
 ;  
 $bag->{${$stem->{  
 'id'  
 }}} = $stem;  
   
   
 ;}  
   
 ;  
   
   
 {  
   
   
 $r = ${$stem->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $stem->{  
 'id'  
 },  
     
 'b'  
  => $bag,  
 }, {  
     'nrifs' => ['Message::DOM::IFLatest::Text'],  
   });  
 $stem->{  
 'rc'  
 }++;  
   
   
 ;}  
   
 ;  
   
   
 ;}  
 $r}  
 sub create_cdata_section ($$) {  
 my ($self, $data) = @_;  
 my $r;  
   
 {  
   
 require  
 Message::DOM::XML;  
 my $bag =  
 $self->{'b'}  
 ;  
 my $stem;  
   
   
 {  
   
   
 $stem = 'Message::DOM::XML::ManakaiDOMCDATASection'->___create_node_stem ($bag, {  
     
 'rc'  
  => 0,  
     
 'id'  
  => \  
 (  
   'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .  
   ($Message::Util::ManakaiNode::UniqueIDR ||=  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62]) .  
   (++$Message::Util::ManakaiNode::UniqueIDN)  
 )  
 ,  
 }, {  
     'od' => $self,  
     'con' => \$data,  
   });  
   
   
 {  
   
 if  
 (defined 'Message::DOM::XML::ManakaiDOMCDATASection') {  
   if (ref 'Message::DOM::XML::ManakaiDOMCDATASection' eq 'SCALAR') {  
     $stem->{'cls'} = 'Message::DOM::XML::ManakaiDOMCDATASection';  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{'Message::DOM::XML::ManakaiDOMCDATASection'}) {  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::XML::ManakaiDOMCDATASection'};  
   } else {  
     require Scalar::Util;  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::XML::ManakaiDOMCDATASection'} = \('Message::DOM::XML::ManakaiDOMCDATASection');  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{'Message::DOM::XML::ManakaiDOMCDATASection'});  
   }  
 } else {  
   CORE::delete $stem->{'cls'};  
 }  
   
   
 ;}  
   
 ;  
 $bag->{${$stem->{  
 'id'  
 }}} = $stem;  
   
   
 ;}  
   
 ;  
   
   
 {  
   
   
 $r = ${$stem->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $stem->{  
 'id'  
 },  
     
 'b'  
  => $bag,  
 }, {  
     'nrifs' => ['Message::DOM::IFLatest::CDATASection'],  
   });  
 $stem->{  
 'rc'  
 }++;  
   
   
 ;}  
   
 ;  
   
   
 ;}  
 $r}  
 sub create_comment ($$) {  
 my ($self, $data) = @_;  
 my $r;  
   
 {  
   
 my  
 $bag =  
 $self->{'b'}  
 ;  
 my $stem;  
   
   
 {  
   
   
 $stem = 'Message::DOM::TreeCore::ManakaiDOMComment'->___create_node_stem ($bag, {  
     
 'rc'  
  => 0,  
     
 'id'  
  => \  
 (  
   'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .  
   ($Message::Util::ManakaiNode::UniqueIDR ||=  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62]) .  
   (++$Message::Util::ManakaiNode::UniqueIDN)  
 )  
 ,  
 }, {  
     'od' => $self,  
     'con' => \$data,  
   });  
   
   
 {  
   
 if  
 (defined 'Message::DOM::TreeCore::ManakaiDOMComment') {  
   if (ref 'Message::DOM::TreeCore::ManakaiDOMComment' eq 'SCALAR') {  
     $stem->{'cls'} = 'Message::DOM::TreeCore::ManakaiDOMComment';  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{'Message::DOM::TreeCore::ManakaiDOMComment'}) {  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::TreeCore::ManakaiDOMComment'};  
   } else {  
     require Scalar::Util;  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::TreeCore::ManakaiDOMComment'} = \('Message::DOM::TreeCore::ManakaiDOMComment');  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{'Message::DOM::TreeCore::ManakaiDOMComment'});  
   }  
 } else {  
   CORE::delete $stem->{'cls'};  
 }  
   
   
 ;}  
   
 ;  
 $bag->{${$stem->{  
 'id'  
 }}} = $stem;  
   
   
 ;}  
   
 ;  
   
   
 {  
   
   
 $r = ${$stem->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $stem->{  
 'id'  
 },  
     
 'b'  
  => $bag,  
 }, {  
     'nrifs' => ['Message::DOM::IFLatest::Comment'],  
   });  
 $stem->{  
 'rc'  
 }++;  
   
   
 ;}  
   
 ;  
   
   
 ;}  
 $r}  
2228  sub create_document_fragment ($) {  sub create_document_fragment ($) {
2229  my ($self) = @_;  my ($self) = @_;
2230  my $r;  my $r;
2231    
2232  {  {
2233    
 my  
 $bag =  
 $self->{'b'}  
 ;  
 my $stem;  
   
   
 {  
   
   
 $stem = 'Message::DOM::Document::ManakaiDOMDocumentFragment'->___create_node_stem ($bag, {  
     
 'rc'  
  => 0,  
     
 'id'  
  => \  
 (  
   'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .  
   ($Message::Util::ManakaiNode::UniqueIDR ||=  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62]) .  
   (++$Message::Util::ManakaiNode::UniqueIDN)  
 )  
 ,  
 }, {  
     'od' => $self,  
   });  
   
   
 {  
   
 if  
 (defined 'Message::DOM::Document::ManakaiDOMDocumentFragment') {  
   if (ref 'Message::DOM::Document::ManakaiDOMDocumentFragment' eq 'SCALAR') {  
     $stem->{'cls'} = 'Message::DOM::Document::ManakaiDOMDocumentFragment';  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{'Message::DOM::Document::ManakaiDOMDocumentFragment'}) {  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::Document::ManakaiDOMDocumentFragment'};  
   } else {  
     require Scalar::Util;  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::Document::ManakaiDOMDocumentFragment'} = \('Message::DOM::Document::ManakaiDOMDocumentFragment');  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{'Message::DOM::Document::ManakaiDOMDocumentFragment'});  
   }  
 } else {  
   CORE::delete $stem->{'cls'};  
 }  
   
   
 ;}  
   
 ;  
 $bag->{${$stem->{  
 'id'  
 }}} = $stem;  
   
   
 ;}  
   
 ;  
   
   
 {  
   
   
 $r = ${$stem->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $stem->{  
 'id'  
 },  
     
 'b'  
  => $bag,  
 }, {  
     'nrifs' => ['Message::DOM::IFLatest::DocumentFragment'],  
   });  
 $stem->{  
 'rc'  
 }++;  
   
   
 ;}  
   
 ;  
   
   
 ;}  
 $r}  
 sub create_entity_reference ($$) {  
 my ($self, $name) = @_;  
 my $r;  
   
 {  
   
 require  
 Message::DOM::XML;  
 our $CreateEntityReference_OpenEntity;  
   ## NOTE: Multithread unsafe  
   
 my $orig_strict = $self->  
 strict_error_checking  
 ;  
 if ($orig_strict) {  
   my $version = $self->  
 xml_version  
 ;  
     
   
 {  
   
 if  
 (defined $name) {  
     
   
 {  
   
 if  
 (((not defined $version or $version eq '1.0') and  
          not  
 ($name =~ /\A\p{InXML_NameStartChar10}\p{InXMLNameChar10}*\z/)  
 ) or  
         (defined $version and $version eq '1.1' and  
          not  
 ($name =~ /\A\p{InXMLNameStartChar11}\p{InXMLNameChar11}*\z/)  
 )) {  
         
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'INVALID_CHARACTER_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#MDOM_BAD_NAME', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#name' => $name, 'http://www.w3.org/2001/04/infoset#version' => $version, '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/2004/dom/main%23ensureXMLName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => '$INPUT_PARAM_NAME';  
   
 ;  
     }  
     
   
   
 ;}  
   
 ;  
     
   
 ;  
 }  
   
   
 ;}  
   
 ;  
 }  
   
 my $bag =  
 $self->{'b'}  
 ;  
 my $stem;  
   
   
 {  
   
   
 $stem = 'Message::DOM::XML::ManakaiDOMEntityReference'->___create_node_stem ($bag, {  
     
 'rc'  
  => 0,  
     
 'id'  
  => \  
 (  
   'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .  
   ($Message::Util::ManakaiNode::UniqueIDR ||=  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62]) .  
   (++$Message::Util::ManakaiNode::UniqueIDN)  
 )  
 ,  
 }, {  
     'xname' => \$name,  
     'od' => $self,  
   });  
   
   
 {  
   
 if  
 (defined 'Message::DOM::XML::ManakaiDOMEntityReference') {  
   if (ref 'Message::DOM::XML::ManakaiDOMEntityReference' eq 'SCALAR') {  
     $stem->{'cls'} = 'Message::DOM::XML::ManakaiDOMEntityReference';  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{'Message::DOM::XML::ManakaiDOMEntityReference'}) {  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::XML::ManakaiDOMEntityReference'};  
   } else {  
     require Scalar::Util;  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::XML::ManakaiDOMEntityReference'} = \('Message::DOM::XML::ManakaiDOMEntityReference');  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{'Message::DOM::XML::ManakaiDOMEntityReference'});  
   }  
 } else {  
   CORE::delete $stem->{'cls'};  
 }  
   
   
 ;}  
   
 ;  
 $bag->{${$stem->{  
 'id'  
 }}} = $stem;  
   
   
 ;}  
   
 ;  
   
   
 {  
   
   
 $r = ${$stem->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $stem->{  
 'id'  
 },  
     
 'b'  
  => $bag,  
 }, {  
     'nrifs' => ['Message::DOM::IFLatest::EntityReference'],  
   });  
 $stem->{  
 'rc'  
 }++;  
   
   
 ;}  
   
 ;  
   
 ## Expansion  
   
   
 {  
   
 local $Error::Depth = $Error::Depth + 1;  
   
 {  
   
   
   unless  
 ($CreateEntityReference_OpenEntity->{$name}) {  
     local $CreateEntityReference_OpenEntity->{$name} =  
 1  
 ;  
     my $__doctype = $self->  
 doctype  
 ;  
     $__doctype = $__doctype->  
 get_feature  
   
                              (  
 'http://suika.fam.cx/www/2006/feature/XDoctype'  
  => '3.0')  
       if $__doctype;  
     if ($__doctype) {  
       my $__et = $__doctype->  
 get_general_entity_node  
  ($name);  
       if ($__et) {  
         $self->  
 strict_error_checking  
  (  
 0  
 );  
         my @node;  
         for my $c (@{$__et->  
 child_nodes  
 }) {  
           my $clone = $c->  
 clone_node  
  (  
 1  
 );  
           $r->  
 append_child  
  ($clone);  
           push @node, $clone;  
         }  
         $r->  
 manakai_expanded  
   
               ($__et->  
 has_replacement_tree  
 );  
         $self->  
 strict_error_checking  
  ($orig_strict);  
       } # entity  
     } # doctype  
   }  
   $r->  
 manakai_set_read_only  
  (  
 1  
 ,  
 1  
 );  
   
   
   
 ;}  
   
   
 ;}  
   
 ;  
   
   
 ;}  
 $r}  
 sub create_processing_instruction ($$$) {  
 my ($self, $target, $data) = @_;  
 my $r;  
   
 {  
   
 require  
 Message::DOM::XML;  
   
 if ($self->  
 strict_error_checking  
 ) {  
   my $version = $self->  
 xml_version  
 ;  
     
   
 {  
   
 if  
 (defined $target) {  
     
   
 {  
   
 if  
 (((not defined $version or $version eq '1.0') and  
          not  
 ($target =~ /\A\p{InXML_NameStartChar10}\p{InXMLNameChar10}*\z/)  
 ) or  
         (defined $version and $version eq '1.1' and  
          not  
 ($target =~ /\A\p{InXMLNameStartChar11}\p{InXMLNameChar11}*\z/)  
 )) {  
         
 report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'INVALID_CHARACTER_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#MDOM_BAD_NAME', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#name' => $target, 'http://www.w3.org/2001/04/infoset#version' => $version, '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/2004/dom/main%23ensureXMLName+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => '$INPUT_PARAM_NAME';  
   
 ;  
     }  
     
   
   
 ;}  
   
 ;  
     
   
 ;  
 }  
   
   
 ;}  
   
 ;  
 }  
   
 my $bag =  
 $self->{'b'}  
 ;  
 $data = '' unless defined $data;  
 my $stem;  
   
   
 {  
   
2234    
2235  $stem = 'Message::DOM::XML::ManakaiDOMProcessingInstruction'->___create_node_stem ($bag, {  $r = bless \{
2236        
2237  'rc'  'od'
2238   => 0,   => $self,
2239        
2240  'id'  'child'
2241   => \   => [],
2242  (  },
2243    'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .  'Message::DOM::Document::ManakaiDOMDocumentFragment'
2244    ($Message::Util::ManakaiNode::UniqueIDR ||=  ;
2245      [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  Scalar::Util::weaken ($$r->{
2246          a b c d e f g h i j k l m n o p q r s t u v w x y z  'od'
2247          0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  });
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62] .  
     [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  
         a b c d e f g h i j k l m n o p q r s t u v w x y z  
         0 1 2 3 4 5 6 7 8 9/]->[rand 62]) .  
   (++$Message::Util::ManakaiNode::UniqueIDN)  
 )  
 ,  
 }, {  
     'target' => \$target,  
     'con' => \$data,  
     'od' => $self,  
   });  
2248    
2249    
 {  
   
 if  
 (defined 'Message::DOM::XML::ManakaiDOMProcessingInstruction') {  
   if (ref 'Message::DOM::XML::ManakaiDOMProcessingInstruction' eq 'SCALAR') {  
     $stem->{'cls'} = 'Message::DOM::XML::ManakaiDOMProcessingInstruction';  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{'Message::DOM::XML::ManakaiDOMProcessingInstruction'}) {  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::XML::ManakaiDOMProcessingInstruction'};  
   } else {  
     require Scalar::Util;  
     $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::XML::ManakaiDOMProcessingInstruction'} = \('Message::DOM::XML::ManakaiDOMProcessingInstruction');  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{'Message::DOM::XML::ManakaiDOMProcessingInstruction'});  
   }  
 } else {  
   CORE::delete $stem->{'cls'};  
2250  }  }
   
   
 ;}  
   
 ;  
 $bag->{${$stem->{  
 'id'  
 }}} = $stem;  
   
   
 ;}  
   
 ;  
   
   
 {  
   
   
 $r = ${$stem->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $stem->{  
 'id'  
 },  
     
 'b'  
  => $bag,  
 }, {  
     'nrifs' => ['Message::DOM::IFLatest::ProcessingInstruction'],  
   });  
 $stem->{  
 'rc'  
 }++;  
   
   
 ;}  
   
 ;  
   
   
 ;}  
2251  $r}  $r}
2252  sub strict_error_checking ($;$) {  sub strict_error_checking ($;$) {
2253  if (@_ == 1) {my ($self) = @_;  if (@_ == 1) {my ($self) = @_;
# Line 4739  my $r = 0; Line 2256  my $r = 0;
2256  {  {
2257    
2258    
2259  {  $r = $$self->{
2260    'chk'
2261    };
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'chk'};  
   
   
 ;}  
   
 ;  
 $r =  
 1 unless  
 defined $r;  
2262    
2263    
2264  ;}  }
2265  $r;  $r;
2266  } else {my ($self, $given) = @_;  } else {my ($self, $given) = @_;
2267    
2268  {  {
2269    
2270    
2271  {  $$self->{
2272    'chk'
2273    } = $given;
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'chk'} = $given ? 1 : 0;  
2274    
2275    
2276  ;}  }
   
 ;  
   
   
 ;}  
2277  }  }
2278  }  }
2279  sub dom_config ($;$) {  sub dom_config ($;$) {
# Line 4794  my $r; Line 2286  my $r;
2286  {  {
2287    
2288    
2289  $r = bless [$self, ($self->{'b'}->{${$self->{'id'}}}), 'Message::DOM::IFLatest::Document'],  $r = bless [$self, $$self, 'Message::DOM::IFLatest::Document'],
2290                                    
2291  'Message::DOM::DOMCore::ManakaiDOMConfiguration'  'Message::DOM::DOMCore::ManakaiDOMConfiguration'
2292  ;  ;
2293    
2294    
2295  ;}  }
2296    
2297  ;  ;
2298    
2299    
2300  ;}  }
2301  $r;  $r;
2302  } else {my ($self) = @_;  } else {my ($self) = @_;
2303  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::Document::ManakaiDOMDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'dom_config';  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::Document::ManakaiDOMDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'dom_config';
# Line 4841  node_type Line 2333  node_type
2333    
2334    
2335    
2336  ;}  }
2337    
2338    
2339  ;}  ;}
# Line 4849  node_type Line 2341  node_type
2341  ;  ;
2342    
2343    
2344  ;}  }
2345  $r;  $r;
2346  } else {my ($self) = @_;  } else {my ($self) = @_;
2347  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::Document::ManakaiDOMDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'document_element';  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::Document::ManakaiDOMDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'document_element';
# Line 4862  my $r; Line 2354  my $r;
2354  {  {
2355    
2356    
2357  {  $r = $$self->{
2358    'impl'
2359  my  };
 $__v = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
               ->{'impl'};  
 if (defined $__v) {  
     
   
 {  
   
   
 $r = ${$self->{'b'}->{${$__v}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $__v,  
     
 'b'  
  => $self->{'b'},  
 }, {  
     'nrifs' => ['Message::DOM::IFLatest::DOMImplementation'],  
   });  
 $self->{'b'}->{${$__v}}->{  
 'rc'  
 }++;  
   
2360    
 ;}  
2361    
 ;  
2362  }  }
   
   
 ;}  
   
 ;  
   
   
 ;}  
2363  $r;  $r;
2364  } else {my ($self) = @_;  } else {my ($self) = @_;
2365  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::Document::ManakaiDOMDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'implementation';  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::Document::ManakaiDOMDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'implementation';
# Line 4918  my $r = ''; Line 2372  my $r = '';
2372  {  {
2373    
2374    
2375  {  $r = $$self->{
2376    'http://www.w3.org/2001/04/infoset#version'
2377    };
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'http://www.w3.org/2001/04/infoset#version'};  
   
   
 ;}  
   
 ;  
 $r = '1.0' unless defined $r;  
2378    
2379    
2380  ;}  }
2381  $r;  $r;
2382  } else {my ($self, $given) = @_;  } else {my ($self, $given) = @_;
2383    
# Line 4955  report Message::DOM::DOMCore::ManakaiDOM Line 2397  report Message::DOM::DOMCore::ManakaiDOM
2397  }  }
2398    
2399    
2400  ;}  }
2401    
2402  ;  ;
2403  if (defined $given and  if (defined $given and
# Line 4963  if (defined $given and Line 2405  if (defined $given and
2405       not $self->       not $self->
2406  strict_error_checking  strict_error_checking
2407  )) {  )) {
2408        $$self->{
2409    'http://www.w3.org/2001/04/infoset#version'
2410  {  } = $given;
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'http://www.w3.org/2001/04/infoset#version'} = $given;  
   
   
 ;}  
   
 ;  
2411  } else {  } else {
2412        
2413  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_SUPPORTED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'set', '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_NOSUPPORT_XMLVER', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'xml_version', 'http://www.w3.org/2001/04/infoset#version' => $given;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_SUPPORTED_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'set', '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_NOSUPPORT_XMLVER', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#class' => 'Message::DOM::Document::ManakaiDOMDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'xml_version', 'http://www.w3.org/2001/04/infoset#version' => $given;
# Line 4987  report Message::DOM::DOMCore::ManakaiDOM Line 2416  report Message::DOM::DOMCore::ManakaiDOM
2416  }  }
2417    
2418    
2419  ;}  }
2420  }  }
2421  }  }
2422  sub doctype ($;$) {  sub doctype ($;$) {
# Line 5025  node_type Line 2454  node_type
2454    
2455    
2456    
2457  ;}  }
2458    
2459    
2460  ;}  ;}
# Line 5033  node_type Line 2462  node_type
2462  ;  ;
2463    
2464    
2465  ;}  }
2466  $r;  $r;
2467  } else {my ($self) = @_;  } else {my ($self) = @_;
2468  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::Document::ManakaiDOMDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'doctype';  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::Document::ManakaiDOMDocument', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'doctype';
# Line 5046  my $r = ''; Line 2475  my $r = '';
2475  {  {
2476    
2477    
2478  {  $r = $$self->{
2479    'duri'
2480    };
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'duri'};  
   
   
 ;}  
   
 ;  
2481    
2482    
2483  ;}  }
2484  $r;  $r;
2485  } else {my ($self, $given) = @_;  } else {my ($self, $given) = @_;
2486    
# Line 5082  report Message::DOM::DOMCore::ManakaiDOM Line 2500  report Message::DOM::DOMCore::ManakaiDOM
2500  }  }
2501    
2502    
2503  ;}  }
   
 ;  
   
   
 {  
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'duri'} = $given;  
   
   
 ;}  
2504    
2505  ;  ;
2506    $$self->{
2507    'duri'
2508    } = $given;
2509    
2510    
2511  ;}  }
2512  }  }
2513  }  }
2514  sub input_encoding ($;$) {  sub input_encoding ($;$) {
# Line 5113  my $r = ''; Line 2518  my $r = '';
2518  {  {
2519    
2520    
2521  {  $r = $$self->{
2522    'ces'
2523    };
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'ces'};  
   
   
 ;}  
   
 ;  
2524    
2525    
2526  ;}  }
2527  $r;  $r;
2528  } else {my ($self, $given) = @_;  } else {my ($self, $given) = @_;
2529    
# Line 5149  report Message::DOM::DOMCore::ManakaiDOM Line 2543  report Message::DOM::DOMCore::ManakaiDOM
2543  }  }
2544    
2545    
2546  ;}  }
   
 ;  
   
   
 {  
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'ces'} = $given;  
   
   
 ;}  
2547    
2548  ;  ;
2549    $$self->{
2550    'ces'
2551    } = $given;
2552    
2553    
2554  ;}  }
2555  }  }
2556  }  }
2557  sub xml_encoding ($;$) {  sub xml_encoding ($;$) {
# Line 5180  my $r = ''; Line 2561  my $r = '';
2561  {  {
2562    
2563    
2564  {  $r = $$self->{
2565    'xcs'
2566    };
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'xcs'};  
   
   
 ;}  
   
 ;  
2567    
2568    
2569  ;}  }
2570  $r;  $r;
2571  } else {my ($self, $given) = @_;  } else {my ($self, $given) = @_;
2572    
# Line 5216  report Message::DOM::DOMCore::ManakaiDOM Line 2586  report Message::DOM::DOMCore::ManakaiDOM
2586  }  }
2587    
2588    
2589  ;}  }
   
 ;  
   
   
 {  
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'xcs'} = $given;  
   
   
 ;}  
2590    
2591  ;  ;
2592    $$self->{
2593    'xcs'
2594    } = $given;
2595    
2596    
2597  ;}  }
2598  }  }
2599  }  }
2600  sub xml_standalone ($;$) {  sub xml_standalone ($;$) {
# Line 5247  my $r = 0; Line 2604  my $r = 0;
2604  {  {
2605    
2606    
2607  {  $r = $$self->{
2608    'http://www.w3.org/2001/04/infoset#standalone'
2609    };
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'http://www.w3.org/2001/04/infoset#standalone'};  
   
   
 ;}  
   
 ;  
2610    
2611    
2612  ;}  }
2613  $r;  $r;
2614  } else {my ($self, $given) = @_;  } else {my ($self, $given) = @_;
2615    
# Line 5283  report Message::DOM::DOMCore::ManakaiDOM Line 2629  report Message::DOM::DOMCore::ManakaiDOM
2629  }  }
2630    
2631    
2632  ;}  }
   
 ;  
   
   
 {  
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'http://www.w3.org/2001/04/infoset#standalone'} = $given;  
   
   
 ;}  
2633    
2634  ;  ;
2635    $$self->{
2636    'http://www.w3.org/2001/04/infoset#standalone'
2637    } = $given;
2638    
2639    
2640  ;}  }
2641  }  }
2642  }  }
2643  sub adopt_node ($$) {  sub adopt_node ($$) {
# Line 5313  my $r; Line 2646  my $r;
2646    
2647  {  {
2648    
2649  if  ADOPT:
2650  ($source->isa (  {
2651      last ADOPT
2652        unless $source->isa (
2653  'Message::DOM::TreeCore::ManakaiDOMNode'  'Message::DOM::TreeCore::ManakaiDOMNode'
2654  ) and  );
       
 $self->{'b'}  
         eq  
2655    
2656  $source->{'b'}    my $strict = $self->
2657  ) {  strict_error_checking
2658    if ($self->  ;
2659      if ($strict and $self->
2660  manakai_read_only  manakai_read_only
2661  ) {  ) {
2662            
# Line 5334  report Message::DOM::DOMCore::ManakaiDOM Line 2667  report Message::DOM::DOMCore::ManakaiDOM
2667    my $parent = $source->    my $parent = $source->
2668  parent_node  parent_node
2669  ;  ;
2670    if ($parent and $parent->    if ($strict and defined $parent and
2671          $parent->
2672  manakai_read_only  manakai_read_only
2673  ) {  ) {
2674            
# Line 5352  node_type Line 2686  node_type
2686      $oe = $source->      $oe = $source->
2687  owner_element  owner_element
2688  ;  ;
2689      if ($oe and $oe->      if ($strict and defined $oe and $oe->
2690  manakai_read_only  manakai_read_only
2691  ) {  ) {
2692                
# Line 5385  report Message::DOM::DOMCore::ManakaiDOM Line 2719  report Message::DOM::DOMCore::ManakaiDOM
2719      my $nt = $node->      my $nt = $node->
2720  node_type  node_type
2721  ;  ;
2722      if ($node->      if ($strict and $node->
2723  manakai_read_only  manakai_read_only
2724  ) {  ) {
2725                
# Line 5442  $nt == Line 2776  $nt ==
2776      }      }
2777    } # nodes    } # nodes
2778        
2779    if ($parent) {    
       
2780    
2781  {  {
2782    
# Line 5452  local $Error::Depth = $Error::Depth + 1; Line 2785  local $Error::Depth = $Error::Depth + 1;
2785  {  {
2786    
2787    
2788        if
2789    (defined $parent) {
2790        $parent->        $parent->
2791  remove_child  remove_child
2792   ($source);   ($source);
2793            } elsif (defined $oe) {
   
   
 ;}  
   
   
 ;}  
   
 ;  
   } elsif ($oe) {  
       
   
 {  
   
 local $Error::Depth = $Error::Depth + 1;  
   
 {  
   
   
   
2794        $oe->        $oe->
2795  remove_attribute_node  remove_attribute_node
2796   ($source);   ($source);
2797            }
2798      
2799    
2800    
2801  ;}  }
2802    
2803    
2804  ;}  ;}
2805    
2806  ;  ;
   }  
2807    
2808      $r = $source;
2809    my $old_od = $change_od[0]->    my $old_od = $change_od[0]->
2810  owner_document  owner_document
2811  ;  ;
# Line 5497  owner_document Line 2813  owner_document
2813                   ##       nodes by definition.  In addition,                   ##       nodes by definition.  In addition,
2814                   ##       it cannot contain document or document                   ##       it cannot contain document or document
2815                   ##       type nodes in current implementation.                   ##       type nodes in current implementation.
   my $old_od_list;  
     
   
 {  
   
   
 $old_od_list = $old_od->{  
 'b'  
 }->{${$old_od->{  
 'id'  
 }}}  
          ->{'do'};  
   
   
 ;}  
   
 ;  
   my $new_od_list;  
     
   
 {  
2816    
2817      if ($old_od eq $self) {
2818        last ADOPT;
2819      }
2820    
 $new_od_list = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'do'};  
   
   
 ;}  
   
 ;  
2821    for my $n (@change_od) {    for my $n (@change_od) {
2822            $$n->{
2823    'od'
2824  {  } = $self;
2825        Scalar::Util::weaken ($$n->{
2826    'od'
2827  $n->{  });
 'b'  
 }->{${$n->{  
 'id'  
 }}}  
     ->{'od'} = $self->{  
 'id'  
 };  
   
   
 ;}  
   
 ;  
     my $nid =  
 $n->{'id'}  
 ;  
     CORE::delete $old_od_list->{$$nid};  
     $new_od_list->{$$nid} = $nid;  
2828    }    }
2829    
2830    for my $src (@change_od) {    for my $src (@change_od) {
2831      my $src_ud;      my $src_ud = $$src->{
2832        'ud'
2833    };
 {  
   
   
 $src_ud = $src->{  
 'b'  
 }->{${$src->{  
 'id'  
 }}}  
          ->{'ud'};  
   
   
 ;}  
   
 ;  
2834      for my $key (keys %{$src_ud or {}}) {      for my $key (keys %{$src_ud or {}}) {
2835        my $dh = $src_ud->{$key}->[1];        my $dh = $src_ud->{$key}->[1];
2836        if ($dh) {        if ($dh) {
# Line 5590  undef Line 2846  undef
2846        }        }
2847      }      }
2848    }    }
2849    $r = $source;  } # ADOPT
 } # compatible class  
2850    
2851    
2852  ;}  }
2853  $r}  $r}
2854  sub get_element_by_id ($$) {  sub get_element_by_id ($$) {
2855  my ($self, $elementId) = @_;  my ($self, $elementId) = @_;
# Line 5641  child_nodes Line 2896  child_nodes
2896    
2897    
2898    
2899  ;}  }
2900    
2901    
2902  ;}  ;}
# Line 5649  child_nodes Line 2904  child_nodes
2904  ;  ;
2905    
2906    
2907  ;}  }
2908  $r}  $r}
2909  sub get_elements_by_tag_name ($$) {  sub get_elements_by_tag_name ($$) {
2910  my ($self, $name) = @_;  my ($self, $name) = @_;
# Line 5683  $r = bless \[$self, $chk], Line 2938  $r = bless \[$self, $chk],
2938  ;  ;
2939    
2940    
2941  ;}  }
2942    
2943  ;  ;
2944    
2945    
2946  ;}  }
2947  $r}  $r}
2948  sub get_elements_by_tag_name_ns ($$$) {  sub get_elements_by_tag_name_ns ($$$) {
2949  my ($self, $namespaceURI, $localName) = @_;  my ($self, $namespaceURI, $localName) = @_;
# Line 5697  my ($self, $namespaceURI, $localName) = Line 2952  my ($self, $namespaceURI, $localName) =
2952    
2953  if  if
2954  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {
2955      require Message::DOM::DOMMain;
2956        
2957  report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/main#empty-namespace-uri', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:tag:suika.fam.cx,2005-09:1143811080:18264:zbjED29418+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/main#empty-namespace-uri', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:tag:suika.fam.cx,2005-09:1167450139:7187:cCkYT15288+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
2958    
2959  ;  ;
2960    
# Line 5711  $namespaceURI = undef; Line 2967  $namespaceURI = undef;
2967        
2968    
2969    
2970  ;}  }
2971    
2972  ;  ;
2973  }  }
2974    
2975    
2976  ;}  }
2977  my $r;  my $r;
2978    
2979  {  {
# Line 5790  $r = bless \[$self, $chk], Line 3046  $r = bless \[$self, $chk],
3046  ;  ;
3047    
3048    
3049  ;}  }
3050    
3051  ;  ;
3052    
3053    
3054  ;}  }
3055  $r}  $r}
3056  sub import_node ($$;$) {  sub import_node ($$;$) {
3057  my ($self, $importedNode, $deep) = @_;  my ($self, $importedNode, $deep) = @_;
# Line 5813  my ($self, $n, $namespaceURI, $qualified Line 3069  my ($self, $n, $namespaceURI, $qualified
3069    
3070  if  if
3071  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {
3072      require Message::DOM::DOMMain;
3073        
3074  report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/main#empty-namespace-uri', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:tag:suika.fam.cx,2005-09:1143811080:18264:zbjED29418+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/main#empty-namespace-uri', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#resourceURI' => 'tag:suika.fam.cx,2005-09:tag:suika.fam.cx,2005-09:1167450139:7187:cCkYT15288+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
3075    
3076  ;  ;
3077    
# Line 5827  $namespaceURI = undef; Line 3084  $namespaceURI = undef;
3084        
3085    
3086    
3087  ;}  }
3088    
3089  ;  ;
3090  }  }
3091    
3092    
3093  ;}  }
3094  my $r;  my $r;
3095  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' => 'rename_node', '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::Document::ManakaiDOMDocument';  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' => 'rename_node', '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::Document::ManakaiDOMDocument';
3096  $r}  $r}
# Line 5844  my $r = ''; Line 3101  my $r = '';
3101  {  {
3102    
3103    
3104  {  $r = $$self->{
3105    'buri'
3106    };
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'buri'};  
   
   
 ;}  
   
 ;  
3107  unless (defined $r) {  unless (defined $r) {
3108        $r = $$self->{
3109    'duri'
3110  {  };
   
   
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'duri'};  
   
   
 ;}  
   
 ;  
3111  }  }
3112    
3113    
3114  ;}  }
3115  $r;  $r;
3116  } else {my ($self, $given) = @_;  } else {my ($self, $given) = @_;
3117    
# Line 5898  report Message::DOM::DOMCore::ManakaiDOM Line 3131  report Message::DOM::DOMCore::ManakaiDOM
3131  }  }
3132    
3133    
3134  ;}  }
   
 ;  
   
   
 {  
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'buri'} = $given;  
   
   
 ;}  
3135    
3136  ;  ;
3137    $$self->{
3138    'buri'
3139    } = $given;
3140    
3141    
3142  ;}  }
3143  }  }
3144  }  }
3145  sub all_declarations_processed ($;$) {  sub all_declarations_processed ($;$) {
# Line 5929  my $r = 0; Line 3149  my $r = 0;
3149  {  {
3150    
3151    
3152  {  $r = $$self->{
3153    'http://www.w3.org/2001/04/infoset#allDeclarationsProcessed'
3154    };
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'http://www.w3.org/2001/04/infoset#allDeclarationsProcessed'};  
   
   
 ;}  
   
 ;  
3155    
3156    
3157  ;}  }
3158  $r;  $r;
3159  } else {my ($self, $given) = @_;  } else {my ($self, $given) = @_;
3160    
# Line 5965  report Message::DOM::DOMCore::ManakaiDOM Line 3174  report Message::DOM::DOMCore::ManakaiDOM
3174  }  }
3175    
3176    
3177  ;}  }
   
 ;  
   
   
 {  
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'http://www.w3.org/2001/04/infoset#allDeclarationsProcessed'} = $given;  
   
   
 ;}  
3178    
3179  ;  ;
3180    $$self->{
3181    'http://www.w3.org/2001/04/infoset#allDeclarationsProcessed'
3182    } = $given;
3183    
3184    
3185  ;}  }
3186  }  }
3187  }  }
3188  $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::Document::ManakaiDOMDocument>}->{has_feature} = {'core',  $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::Document::ManakaiDOMDocument>}->{has_feature} = {'core',
# Line 6015  $Message::DOM::DOMFeature::ClassInfo->{q Line 3211  $Message::DOM::DOMFeature::ClassInfo->{q
3211  '1.1',  '1.1',
3212  '1'}};  '1'}};
3213  $Message::DOM::ClassPoint{q<Message::DOM::Document::ManakaiDOMDocument>} = 14.1;  $Message::DOM::ClassPoint{q<Message::DOM::Document::ManakaiDOMDocument>} = 14.1;
 $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::Document::ManakaiDOMDocument>}->{compat_class}->{q<Message::DOM::Document::ManakaiDOMDocument>} = 1;  
 $Message::Util::Grove::ClassProp{q<Message::DOM::Document::ManakaiDOMDocument>} = {'s1a',  
 ['child'],  
 'v1h',  
 ['do'],  
 'w0',  
 ['impl']};  
3214  package Message::DOM::IFLatest::DocumentFragment;  package Message::DOM::IFLatest::DocumentFragment;
3215  our $VERSION = 20060401.1743;  our $VERSION = 20061230.0424;
3216  package Message::DOM::Document::ManakaiDOMDocumentFragment;  package Message::DOM::Document::ManakaiDOMDocumentFragment;
3217  our $VERSION = 20060401.1743;  our $VERSION = 20061230.0424;
3218  push our @ISA, 'Message::DOM::TreeCore::ManakaiDOMNode',  push our @ISA, 'Message::DOM::TreeCore::ManakaiDOMNode',
 'Message::DOM::IF::DocumentFragment',  
 'Message::DOM::IF::Node',  
3219  'Message::DOM::IFLatest::DocumentFragment',  'Message::DOM::IFLatest::DocumentFragment',
3220  'Message::DOM::IFLatest::Node',  'Message::DOM::IFLatest::Node';
 'Message::DOM::IFLevel1::DocumentFragment',  
 'Message::DOM::IFLevel1::Node',  
 'Message::DOM::IFLevel2::DocumentFragment',  
 'Message::DOM::IFLevel2::Node',  
 'Message::DOM::IFLevel3::DocumentFragment',  
 'Message::DOM::IFLevel3::Node';  
 sub ___create_node_stem ($$$$) {  
 my ($self, $bag, $obj, $opt) = @_;  
 my $r = {};  
   
 {  
   
   
 $obj->{  
 'child'  
 } = [];  
   
   
 {  
   
   
 $obj->{'od'} = $opt->{'od'}->{  
 'id'  
 };  
 $bag->{${$opt->{'od'}->{  
 'id'  
 }}}  
     ->{'do'}->{${$obj->{  
 'id'  
 }}}  
   = $obj->{  
 'id'  
 };  
   
   
 ;}  
   
 ;  
 $r = $obj;  
   
   
 ;}  
 $r}  
3221  sub node_type ($;$) {  sub node_type ($;$) {
3222  if (@_ == 1) {my ($self) = @_;  if (@_ == 1) {my ($self) = @_;
3223  my $r;  my $r;
# Line 6160  local $Error::Depth = $Error::Depth - 1; Line 3304  local $Error::Depth = $Error::Depth - 1;
3304  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
3305    
3306    
3307  ;}  }
3308    
3309    
3310  ;}  ;}
# Line 6181  local $Error::Depth = $Error::Depth - 1; Line 3325  local $Error::Depth = $Error::Depth - 1;
3325  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
3326    
3327    
3328  ;}  }
3329    
3330    
3331  ;}  ;}
# Line 6209  local $Error::Depth = $Error::Depth - 1; Line 3353  local $Error::Depth = $Error::Depth - 1;
3353  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'WRONG_DOCUMENT_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#DIFFERENT_DOCUMENT_ERR', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'WRONG_DOCUMENT_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#DIFFERENT_DOCUMENT_ERR', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
3354    
3355    
3356  ;}  }
3357    
3358    
3359  ;}  ;}
# Line 6232  local $Error::Depth = $Error::Depth - 1; Line 3376  local $Error::Depth = $Error::Depth - 1;
3376  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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
3377    
3378    
3379  ;}  }
3380    
3381    
3382  ;}  ;}
# Line 6255  local $Error::Depth = $Error::Depth - 1; Line 3399  local $Error::Depth = $Error::Depth - 1;
3399  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_SRC_PARENT', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  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_SRC_PARENT', '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/appendChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
3400    
3401    
3402  ;}  }
3403    
3404    
3405  ;}  ;}
# Line 6276  report Message::DOM::DOMCore::ManakaiDOM Line 3420  report Message::DOM::DOMCore::ManakaiDOM
3420      if ($child_nt ==      if ($child_nt ==
3421  11  11
3422  ) {  ) {
3423                $$newChild->{
3424    'child'
3425  {  } = [];
   
   
 $newChild->{  
 'b'  
 }->{${$newChild->{  
 'id'  
 }}}  
     ->{'child'} = [];  
   
   
 ;}  
   
 ;  
3426      } else {      } else {
3427        my $v;        my $v = $$nc_parent->{
3428          'child'
3429    };
 {  
   
   
 $v = $nc_parent->{  
 'b'  
 }->{${$nc_parent->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 ;}  
   
 ;  
3430        RP: for my $i (0..$#$v) {        RP: for my $i (0..$#$v) {
3431          my $nodeid = $v->[$i];          if ($v->[$i] eq $new_child[0]) {
         if (  
 (${$new_child[0]->{'id'}} eq ${$nodeid})  
 ) {  
3432            splice @$v, $i, 1, ();            splice @$v, $i, 1, ();
3433            last RP;            last RP;
3434          }          }
# Line 6324  $v = $nc_parent->{ Line 3438  $v = $nc_parent->{
3438    
3439    ## -- Rewrite the |parentNode| properties    ## -- Rewrite the |parentNode| properties
3440    for my $nc (@new_child) {    for my $nc (@new_child) {
3441            $$nc->{
3442    'parent'
3443  {  } = $self;
3444        Scalar::Util::weaken ($$nc->{
3445    'parent'
3446  $nc->{  });
 'b'  
 }->{${$nc->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 ;}  
   
 ;  
3447    }    }
3448    
3449    my $children;    my $children = $$self->{
3450      'child'
3451    };
 {  
   
   
 $children = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 ;}  
   
 ;  
3452    
3453        
3454    
# Line 6368  $children = $self->{ Line 3456  $children = $self->{
3456    
3457    
3458  ## -- Adds to children list  ## -- Adds to children list
3459      push @$children, map {      push @$children, @new_child;
         
 $_->{'id'}  
   
     } @new_child;  
3460      $r = $newChild;      $r = $newChild;
3461        
3462    
3463    
3464  ;}  }
3465    
3466  ;  ;
3467    
# Line 6391  $_->{'id'} Line 3475  $_->{'id'}
3475    
3476    
3477    
3478  ;}  }
3479    
3480    
3481  ;}  ;}
# Line 6399  $_->{'id'} Line 3483  $_->{'id'}
3483  ;  ;
3484    
3485    
3486  ;}  }
3487    
3488  ;  ;
3489    
3490    
3491  ;}  }
3492  $r}  $r}
3493  sub insert_before ($$;$) {  sub insert_before ($$;$) {
3494  my ($self, $newChild, $refChild) = @_;  my ($self, $newChild, $refChild) = @_;
# Line 6483  local $Error::Depth = $Error::Depth - 1; Line 3567  local $Error::Depth = $Error::Depth - 1;
3567  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
3568    
3569    
3570  ;}  }
3571    
3572    
3573  ;}  ;}
# Line 6504  local $Error::Depth = $Error::Depth - 1; Line 3588  local $Error::Depth = $Error::Depth - 1;
3588  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
3589    
3590    
3591  ;}  }
3592    
3593    
3594  ;}  ;}
# Line 6532  local $Error::Depth = $Error::Depth - 1; Line 3616  local $Error::Depth = $Error::Depth - 1;
3616  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'WRONG_DOCUMENT_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#DIFFERENT_DOCUMENT_ERR', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'WRONG_DOCUMENT_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#DIFFERENT_DOCUMENT_ERR', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
3617    
3618    
3619  ;}  }
3620    
3621    
3622  ;}  ;}
# Line 6555  local $Error::Depth = $Error::Depth - 1; Line 3639  local $Error::Depth = $Error::Depth - 1;
3639  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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
3640    
3641    
3642  ;}  }
3643    
3644    
3645  ;}  ;}
# Line 6578  local $Error::Depth = $Error::Depth - 1; Line 3662  local $Error::Depth = $Error::Depth - 1;
3662  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_SRC_PARENT', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  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_SRC_PARENT', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
3663    
3664    
3665  ;}  }
3666    
3667    
3668  ;}  ;}
# Line 6612  local $Error::Depth = $Error::Depth - 1; Line 3696  local $Error::Depth = $Error::Depth - 1;
3696  report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/tree#insert-before-itself', 'rdata' => $refChild, '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/tree#insert-before-itself', 'rdata' => $refChild, '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
3697    
3698    
3699  ;}  }
3700    
3701    
3702  ;}  ;}
# Line 6621  report Message::DOM::DOMCore::ManakaiDOM Line 3705  report Message::DOM::DOMCore::ManakaiDOM
3705                    
3706    
3707    
3708  ;}  }
3709    
3710  ;  ;
3711                    
# Line 6658  local $Error::Depth = $Error::Depth - 1; Line 3742  local $Error::Depth = $Error::Depth - 1;
3742  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_FOUND_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NOT_CHILD_ERR', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'refChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $refChild;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_FOUND_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NOT_CHILD_ERR', '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/insertBeforeImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'refChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $refChild;
3743    
3744    
3745  ;}  }
3746    
3747    
3748  ;}  ;}
# Line 6667  report Message::DOM::DOMCore::ManakaiDOM Line 3751  report Message::DOM::DOMCore::ManakaiDOM
3751                    
3752    
3753    
3754  ;}  }
3755    
3756  ;  ;
3757                    
# Line 6682  report Message::DOM::DOMCore::ManakaiDOM Line 3766  report Message::DOM::DOMCore::ManakaiDOM
3766        
3767    
3768    
3769  ;}  }
3770    
3771  ; # FOR !tc:ForAppendChild  ; # FOR !tc:ForAppendChild
3772    
# Line 6691  report Message::DOM::DOMCore::ManakaiDOM Line 3775  report Message::DOM::DOMCore::ManakaiDOM
3775      if ($child_nt ==      if ($child_nt ==
3776  11  11
3777  ) {  ) {
3778                $$newChild->{
3779    'child'
3780  {  } = [];
   
   
 $newChild->{  
 'b'  
 }->{${$newChild->{  
 'id'  
 }}}  
     ->{'child'} = [];  
   
   
 ;}  
   
 ;  
3781      } else {      } else {
3782        my $v;        my $v = $$nc_parent->{
3783          'child'
3784    };
 {  
   
   
 $v = $nc_parent->{  
 'b'  
 }->{${$nc_parent->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 ;}  
   
 ;  
3785        RP: for my $i (0..$#$v) {        RP: for my $i (0..$#$v) {
3786          my $nodeid = $v->[$i];          if ($v->[$i] eq $new_child[0]) {
         if (  
 (${$new_child[0]->{'id'}} eq ${$nodeid})  
 ) {  
3787            splice @$v, $i, 1, ();            splice @$v, $i, 1, ();
3788            last RP;            last RP;
3789          }          }
# Line 6739  $v = $nc_parent->{ Line 3793  $v = $nc_parent->{
3793    
3794    ## -- Rewrite the |parentNode| properties    ## -- Rewrite the |parentNode| properties
3795    for my $nc (@new_child) {    for my $nc (@new_child) {
3796            $$nc->{
3797    'parent'
3798  {  } = $self;
3799        Scalar::Util::weaken ($$nc->{
3800    'parent'
3801  $nc->{  });
 'b'  
 }->{${$nc->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 ;}  
   
 ;  
3802    }    }
3803    
3804    my $children;    my $children = $$self->{
3805      'child'
3806    };
 {  
   
   
 $children = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 ;}  
   
 ;  
3807    
3808        
3809    
# Line 6788  $children = $self->{ Line 3816  $children = $self->{
3816    
3817  ## -- Adds to children list  ## -- Adds to children list
3818      if ($index == -1) {      if ($index == -1) {
3819        push @$children, map {        push @$children, @new_child;
           
 $_->{'id'}  
   
       } @new_child;  
3820      } else {      } else {
3821        splice @$children, $index, 0, map {        splice @$children, $index, 0, @new_child;
           
 $_->{'id'}  
   
       } @new_child;  
3822      }      }
3823      $r = $newChild;      $r = $newChild;
3824        
3825    
3826    
3827  ;}  }
3828    
3829  ;  ;
3830    
# Line 6814  $_->{'id'} Line 3834  $_->{'id'}
3834    
3835    
3836    
3837  ;}  }
3838    
3839    
3840  ;}  ;}
# Line 6822  $_->{'id'} Line 3842  $_->{'id'}
3842  ;  ;
3843    
3844    
3845  ;}  }
3846    
3847  ;  ;
3848    
3849    
3850  ;}  }
3851  $r}  $r}
3852  sub replace_child ($$$) {  sub replace_child ($$$) {
3853  my ($self, $newChild, $oldChild) = @_;  my ($self, $newChild, $oldChild) = @_;
# Line 6906  local $Error::Depth = $Error::Depth - 1; Line 3926  local $Error::Depth = $Error::Depth - 1;
3926  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
3927    
3928    
3929  ;}  }
3930    
3931    
3932  ;}  ;}
# Line 6927  local $Error::Depth = $Error::Depth - 1; Line 3947  local $Error::Depth = $Error::Depth - 1;
3947  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'HIERARCHY_REQUEST_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#HIERARCHY_BAD_TYPE', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
3948    
3949    
3950  ;}  }
3951    
3952    
3953  ;}  ;}
# Line 6955  local $Error::Depth = $Error::Depth - 1; Line 3975  local $Error::Depth = $Error::Depth - 1;
3975  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'WRONG_DOCUMENT_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#DIFFERENT_DOCUMENT_ERR', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'WRONG_DOCUMENT_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#DIFFERENT_DOCUMENT_ERR', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', '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;
3976    
3977    
3978  ;}  }
3979    
3980    
3981  ;}  ;}
# Line 6978  local $Error::Depth = $Error::Depth - 1; Line 3998  local $Error::Depth = $Error::Depth - 1;
3998  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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
3999    
4000    
4001  ;}  }
4002    
4003    
4004  ;}  ;}
# Line 7001  local $Error::Depth = $Error::Depth - 1; Line 4021  local $Error::Depth = $Error::Depth - 1;
4021  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_SRC_PARENT', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  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_SRC_PARENT', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
4022    
4023    
4024  ;}  }
4025    
4026    
4027  ;}  ;}
# Line 7038  local $Error::Depth = $Error::Depth - 1; Line 4058  local $Error::Depth = $Error::Depth - 1;
4058  report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/tree#replace-by-itself', 'rdata' => $oldChild, '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';  report Message::DOM::DOMCore::ManakaiDOMError -object => $self, '-type' => 'http://suika.fam.cx/~wakaba/archive/2004/dom/tree#replace-by-itself', 'rdata' => $oldChild, '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
4059    
4060    
4061  ;}  }
4062    
4063    
4064  ;}  ;}
# Line 7047  report Message::DOM::DOMCore::ManakaiDOM Line 4067  report Message::DOM::DOMCore::ManakaiDOM
4067                    
4068    
4069    
4070  ;}  }
4071    
4072  ;  ;
4073        }        }
# Line 7084  local $Error::Depth = $Error::Depth - 1; Line 4104  local $Error::Depth = $Error::Depth - 1;
4104  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_FOUND_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NOT_CHILD_ERR', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'oldChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $oldChild;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_FOUND_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NOT_CHILD_ERR', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'oldChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $oldChild;
4105    
4106    
4107  ;}  }
4108    
4109    
4110  ;}  ;}
# Line 7093  report Message::DOM::DOMCore::ManakaiDOM Line 4113  report Message::DOM::DOMCore::ManakaiDOM
4113                    
4114    
4115    
4116  ;}  }
4117    
4118  ;  ;
4119        } # C        } # C
# Line 7112  local $Error::Depth = $Error::Depth - 1; Line 4132  local $Error::Depth = $Error::Depth - 1;
4132  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_FOUND_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NOT_CHILD_ERR', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'oldChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $oldChild;  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NOT_FOUND_ERR', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#subtype' => 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#NOT_CHILD_ERR', '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/replaceChildImpl1+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#param-name' => 'oldChild', 'http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#node' => $oldChild;
4133    
4134    
4135  ;}  }
4136    
4137    
4138  ;}  ;}
# Line 7121  report Message::DOM::DOMCore::ManakaiDOM Line 4141  report Message::DOM::DOMCore::ManakaiDOM
4141                
4142    
4143    
4144  ;}  }
4145    
4146  ;  ;
4147      }      }
4148        
4149    
4150    
4151  ;}  }
4152    
4153  ; # FOR !tc:ForAppendChild  ; # FOR !tc:ForAppendChild
4154    
# Line 7137  report Message::DOM::DOMCore::ManakaiDOM Line 4157  report Message::DOM::DOMCore::ManakaiDOM
4157      if ($child_nt ==      if ($child_nt ==
4158  11  11
4159  ) {  ) {
4160                $$newChild->{
4161    'child'
4162  {  } = [];
   
   
 $newChild->{  
 'b'  
 }->{${$newChild->{  
 'id'  
 }}}  
     ->{'child'} = [];  
   
   
 ;}  
   
 ;  
4163      } else {      } else {
4164        my $v;        my $v = $$nc_parent->{
4165          'child'
4166    };
 {  
   
   
 $v = $nc_parent->{  
 'b'  
 }->{${$nc_parent->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 ;}  
   
 ;  
4167        RP: for my $i (0..$#$v) {        RP: for my $i (0..$#$v) {
4168          my $nodeid = $v->[$i];          if ($v->[$i] eq $new_child[0]) {
         if (  
 (${$new_child[0]->{'id'}} eq ${$nodeid})  
 ) {  
4169            splice @$v, $i, 1, ();            splice @$v, $i, 1, ();
4170            last RP;            last RP;
4171          }          }
# Line 7185  $v = $nc_parent->{ Line 4175  $v = $nc_parent->{
4175    
4176    ## -- Rewrite the |parentNode| properties    ## -- Rewrite the |parentNode| properties
4177    for my $nc (@new_child) {    for my $nc (@new_child) {
4178            $$nc->{
4179    'parent'
4180  {  } = $self;
4181        Scalar::Util::weaken ($$nc->{
4182    'parent'
4183  $nc->{  });
 'b'  
 }->{${$nc->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 ;}  
   
 ;  
4184    }    }
4185    
4186    my $children;    my $children = $$self->{
4187      'child'
4188    };
 {  
   
   
 $children = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 ;}  
   
 ;  
4189    
4190        
4191    
# Line 7237  $children = $self->{ Line 4201  $children = $self->{
4201    
4202    
4203  ## -- Replaces the node  ## -- Replaces the node
4204      splice @$children, $index, 1, map {      splice @$children, $index, 1, @new_child;
4205              CORE::delete $$oldChild->{
4206  $_->{'id'}  'parent'
4207    };
     } @new_child;  
       
   
 {  
   
 CORE::delete  
 $oldChild->{  
 'b'  
 }->{${$oldChild->{  
 'id'  
 }}}  
                  ->{'parent'};  
   
   
 ;}  
   
 ;  
4208      $r = $oldChild;      $r = $oldChild;
4209        
4210    
4211    
4212  ;}  }
4213    
4214  ;  ;
4215    
4216    
4217    
4218  ;}  }
4219    
4220    
4221  ;}  ;}
# Line 7276  $oldChild->{ Line 4223  $oldChild->{
4223  ;  ;
4224    
4225    
4226  ;}  }
4227    
4228  ;  ;
4229    
4230    
4231  ;}  }
4232  $r}  $r}
4233  sub node_name ($;$) {  sub node_name ($;$) {
4234  if (@_ == 1) {my ($self) = @_;  if (@_ == 1) {my ($self) = @_;
# Line 7336  append_child Line 4283  append_child
4283    
4284    
4285    
4286  ;}  }
4287    
4288    
4289  ;}  ;}
# Line 7344  append_child Line 4291  append_child
4291  ;  ;
4292    
4293    
4294  ;}  }
4295  $r}  $r}
4296  sub get_feature ($$$) {  sub get_feature ($$$) {
4297  my ($self, $feature, $version) = @_;  my ($self, $feature, $version) = @_;
# Line 7355  my ($self, $feature, $version) = @_; Line 4302  my ($self, $feature, $version) = @_;
4302  $feature = lc $feature;  $feature = lc $feature;
4303    
4304    
4305  ;}  }
4306    
4307  {  {
4308    
# Line 7363  $feature = lc $feature; Line 4310  $feature = lc $feature;
4310  $version = '' unless defined $version;  $version = '' unless defined $version;
4311    
4312    
4313  ;}  }
4314  my $r;  my $r;
4315    
4316  {  {
# Line 7375  $feature =~ s/^\+//; Line 4322  $feature =~ s/^\+//;
4322  {  {
4323    
4324  if  if
4325  ($Message::DOM::DOMFeature::ClassInfo->{ref $self}  ($Message::Util::AutoLoad::Registry::Feature->{$feature}->{$version}) {
       ->{has_feature}->{$feature}->{$version}) {  
4326    $r = $self;    $r = $self;
 } else {  
   CLASS: for my $__class (sort {  
     $Message::DOM::ClassPoint{$b} <=> $Message::DOM::ClassPoint{$a}  
   } grep {  
     $Message::DOM::DOMFeature::ClassInfo->{'Message::DOM::Document::ManakaiDOMDocumentFragment'}  
         ->{compat_class}->{$_}  
   } keys %{$Message::DOM::DOMFeature::ClassInfo->{'Message::DOM::Document::ManakaiDOMDocumentFragment'}  
                ->{compat_class} or {}}) {  
     if ($Message::DOM::DOMFeature::ClassInfo->{$__class}  
             ->{has_feature}->{$feature}->{$version}) {  
         
   
 {  
   
   
 $r = ${($self->{'b'})->{${($self->{'id'})}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => ($self->{'id'}),  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
           'nrcls' => \$__class,  
         });  
 ($self->{'b'})->{${($self->{'id'})}}->{  
 'rc'  
 }++;  
   
   
 ;}  
   
 ;  
       last CLASS;  
     }  
   } # CLASS  
4327  }  }
4328    
4329    
4330  ;}  }
4331    
4332  ;  ;
4333  unless (defined $r) {  unless (defined $r) {
# Line 7437  local $Error::Depth = $Error::Depth + 1; Line 4345  local $Error::Depth = $Error::Depth + 1;
4345        
4346    
4347    
4348  ;}  }
4349    
4350    
4351  ;}  ;}
# Line 7446  local $Error::Depth = $Error::Depth + 1; Line 4354  local $Error::Depth = $Error::Depth + 1;
4354  }  }
4355    
4356    
4357  ;}  }
4358  $r}  $r}
4359  sub base_uri ($;$) {  sub base_uri ($;$) {
4360  if (@_ == 1) {my ($self) = @_;  if (@_ == 1) {my ($self) = @_;
# Line 7471  base_uri Line 4379  base_uri
4379    
4380    
4381    
4382  ;}  }
4383    
4384    
4385  ;}  ;}
# Line 7479  base_uri Line 4387  base_uri
4387  ;  ;
4388    
4389    
4390  ;}  }
4391  $r;  $r;
4392  } else {my ($self) = @_;  } else {my ($self) = @_;
4393  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::Document::ManakaiDOMDocumentFragment', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'base_uri';  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::Document::ManakaiDOMDocumentFragment', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'base_uri';
# Line 7511  $Message::DOM::DOMFeature::ClassInfo->{q Line 4419  $Message::DOM::DOMFeature::ClassInfo->{q
4419  '1.1',  '1.1',
4420  '1'}};  '1'}};
4421  $Message::DOM::ClassPoint{q<Message::DOM::Document::ManakaiDOMDocumentFragment>} = 14.1;  $Message::DOM::ClassPoint{q<Message::DOM::Document::ManakaiDOMDocumentFragment>} = 14.1;
4422  $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::Document::ManakaiDOMDocumentFragment>}->{compat_class}->{q<Message::DOM::Document::ManakaiDOMDocumentFragment>} = 1;  for ($Message::DOM::IFLatest::Node::){}
 $Message::Util::Grove::ClassProp{q<Message::DOM::Document::ManakaiDOMDocumentFragment>} = {'s1a',  
 ['child'],  
 'w0',  
 ['od']};  
 for ($Message::DOM::IF::Document::, $Message::DOM::IF::DocumentFragment::, $Message::DOM::IF::Node::, $Message::DOM::IFLatest::Node::, $Message::DOM::IFLevel1::Document::, $Message::DOM::IFLevel1::DocumentFragment::, $Message::DOM::IFLevel1::Node::, $Message::DOM::IFLevel2::Document::, $Message::DOM::IFLevel2::DocumentFragment::, $Message::DOM::IFLevel2::Node::, $Message::DOM::IFLevel3::Document::, $Message::DOM::IFLevel3::DocumentFragment::, $Message::DOM::IFLevel3::Node::){}  
4423  ## License: <http://suika.fam.cx/~wakaba/archive/2004/8/18/license#Perl+MPL>  ## License: <http://suika.fam.cx/~wakaba/archive/2004/8/18/license#Perl+MPL>
4424  1;  1;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.14

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24