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

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

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

revision 1.12 by wakaba, Sun Dec 3 05:40:33 2006 UTC revision 1.13 by wakaba, Fri Dec 29 14:45:41 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-12-03T04:32:02+00:00,  ##      at 2006-12-29T06:45:07+00:00,
4  ##      from file "Element.dis",  ##      from file "Element.dis",
5  ##      module <http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOM.Element>,  ##      module <http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOM.Element>,
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>.
# Line 11  require Message::DOM::Document; Line 11  require Message::DOM::Document;
11  require Message::DOM::TreeCore;  require Message::DOM::TreeCore;
12  require Message::Util::Error::DOMException;  require Message::Util::Error::DOMException;
13  package Message::DOM::Element;  package Message::DOM::Element;
14  our $VERSION = 20061203.0432;  our $VERSION = 20061229.0645;
15  sub DERIVATION_EXTENSION ();  sub DERIVATION_EXTENSION ();
16  sub DERIVATION_LIST ();  sub DERIVATION_LIST ();
17  sub DERIVATION_RESTRICTION ();  sub DERIVATION_RESTRICTION ();
# Line 69  our @EXPORT_OK = ('DERIVATION_EXTENSION' Line 69  our @EXPORT_OK = ('DERIVATION_EXTENSION'
69  'DERIVATION_UNION');  'DERIVATION_UNION');
70  use Exporter; push our @ISA, 'Exporter';  use Exporter; push our @ISA, 'Exporter';
71  package Message::DOM::Element::ManakaiDOMDocumentElement;  package Message::DOM::Element::ManakaiDOMDocumentElement;
72  our $VERSION = 20061203.0432;  our $VERSION = 20061229.0645;
73  push @Message::DOM::Document::ManakaiDOMDocument::ISA, q<Message::DOM::Element::ManakaiDOMDocumentElement> unless Message::DOM::Document::ManakaiDOMDocument->isa (q<Message::DOM::Element::ManakaiDOMDocumentElement>);  push @Message::DOM::Document::ManakaiDOMDocument::ISA, q<Message::DOM::Element::ManakaiDOMDocumentElement> unless Message::DOM::Document::ManakaiDOMDocument->isa (q<Message::DOM::Element::ManakaiDOMDocumentElement>);
74  use Char::Class::XML 'InXMLNCNameChar10',  use Char::Class::XML 'InXMLNCNameChar10',
75  'InXMLNCNameChar11',  'InXMLNCNameChar11',
# Line 180  if Line 180  if
180  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {
181    require Message::DOM::DOMMain;    require Message::DOM::DOMMain;
182        
183  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:1165118814:1861:wAUT122229+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:1167371291:21034:x54Sv15711+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
184    
185  ;  ;
186    
# Line 333  report Message::DOM::DOMCore::ManakaiDOM Line 333  report Message::DOM::DOMCore::ManakaiDOM
333    }    }
334  }  }
335    
336  my $bag =  ## -- Choose the most apppropriate class for the element
337  $self->{'b'}  my $class =
338    'Message::DOM::Element::ManakaiDOMElement'
339  ;  ;
340  my $stem;  CLS: {
341      my $nsuri = defined $namespaceURI ? $namespaceURI : '';
342    
343  {    ## Use cases:
344      ##   - |html5:a| element type
345      ##   - |html5:*| element types
346      A: for my $nm (
347        [$nsuri, $lname],
348        [$nsuri, '*'],
349      ) {
350        unless ($Message::DOM::Element::ElementClass
351            ->{$nm->[0]}->{$nm->[1]}) {
352          if ($Message::Util::AutoLoad::Registry::ElementType
353              ->{$nm->[0]}->{$nm->[1]}) {
354            eval qq{require
355                $Message::Util::AutoLoad::Registry::ElementType->{
356                $nm->[0]}->{$nm->[1]}->{module}};
357            die $@ if $@;
358          }
359        }
360    
361        if ($Message::DOM::Element::ElementClass
362            ->{$nm->[0]}->{$nm->[1]}) {
363          $class = $Message::DOM::Element::ElementClass
364              ->{$nm->[0]}->{$nm->[1]};
365          last A;
366        }
367      } # A
368    } # CLS
369    
370  $stem = 'Message::DOM::Element::ManakaiDOMElement'->___create_node_stem ($bag, {  $r = bless \({
371        
372  'rc'  'od'
373   => 0,   => $self,
374        
375  'id'  'child'
376   => \   => [],
377  (    
378    'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .  'attr'
379    (++$Message::Util::ManakaiNode::UniqueIDN)   => {},
380  )  }), $class;
381  ,  Scalar::Util::weaken ($$r->{
382  }, {  'od'
383      'od' => $self,  });
     'ns' => \$namespaceURI,  
     'pfx' => \$prefix,  
     'ln' => \$lname,  
   });  
384    
385    
386  {  {
387    
388  if  if
389  (defined 'Message::DOM::Element::ManakaiDOMElement') {  (defined $namespaceURI) {
390    if (ref 'Message::DOM::Element::ManakaiDOMElement' eq 'SCALAR') {    if (ref $namespaceURI eq 'SCALAR') {
391      $stem->{'cls'} = 'Message::DOM::Element::ManakaiDOMElement';      $$r->{'ns'} = $namespaceURI;
392    } elsif (defined $Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMElement'}) {    } elsif (defined $Message::Util::ManakaiStringRef::Value{$namespaceURI}) {
393      $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMElement'};      $$r->{'ns'} = $Message::Util::ManakaiStringRef::Value{$namespaceURI};
394    } else {    } else {
395      require Scalar::Util;      require Scalar::Util;
396      $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMElement'} = \('Message::DOM::Element::ManakaiDOMElement');      $$r->{'ns'} = $Message::Util::ManakaiStringRef::Value{$namespaceURI} = \($namespaceURI);
397      Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMElement'});      Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{$namespaceURI});
398    }    }
399  } else {  } else {
400    CORE::delete $stem->{'cls'};    CORE::delete $$r->{'ns'};
401  }  }
402    
403    
404  }  }
405    
406  ;  ;
407  $bag->{${$stem->{  
408  'id'  
409  }}} = $stem;  {
410    
411    if
412    (defined $prefix) {
413      if (ref $prefix eq 'SCALAR') {
414        $$r->{'pfx'} = $prefix;
415      } elsif (defined $Message::Util::ManakaiStringRef::Value{$prefix}) {
416        $$r->{'pfx'} = $Message::Util::ManakaiStringRef::Value{$prefix};
417      } else {
418        require Scalar::Util;
419        $$r->{'pfx'} = $Message::Util::ManakaiStringRef::Value{$prefix} = \($prefix);
420        Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{$prefix});
421      }
422    } else {
423      CORE::delete $$r->{'pfx'};
424    }
425    
426    
427  }  }
# Line 395  $bag->{${$stem->{ Line 431  $bag->{${$stem->{
431    
432  {  {
433    
434    if
435  $r = ${$stem->{  (defined $lname) {
436  'cls'    if (ref $lname eq 'SCALAR') {
437  }}->___create_node_ref ({      $$r->{'ln'} = $lname;
438        } elsif (defined $Message::Util::ManakaiStringRef::Value{$lname}) {
439  'id'      $$r->{'ln'} = $Message::Util::ManakaiStringRef::Value{$lname};
440   => $stem->{    } else {
441  'id'      require Scalar::Util;
442  },      $$r->{'ln'} = $Message::Util::ManakaiStringRef::Value{$lname} = \($lname);
443          Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{$lname});
444  'b'    }
445   => $bag,  } else {
446  }, {    CORE::delete $$r->{'ln'};
447    });  }
 $stem->{  
 'rc'  
 }++;  
448    
449    
450  }  }
# Line 780  if Line 813  if
813  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {
814    require Message::DOM::DOMMain;    require Message::DOM::DOMMain;
815        
816  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:1165118814:1861:wAUT122229+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:1167371291:21034:x54Sv15711+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
817    
818  ;  ;
819    
# Line 932  report Message::DOM::DOMCore::ManakaiDOM Line 965  report Message::DOM::DOMCore::ManakaiDOM
965  ;  ;
966  }  }
967    
968  my $bag =  $r = bless \{
 $self->{'b'}  
 ;  
 my $stem;  
   
   
 {  
   
   
 $stem = 'Message::DOM::Element::ManakaiDOMAttr'->___create_node_stem ($bag, {  
969        
970  'rc'  'od'
971   => 0,   => $self,
972        
973  'id'  'child'
974   => \   => [],
975  (    
976    'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .  'specified'
977    (++$Message::Util::ManakaiNode::UniqueIDN)   => 1,
978  )  },
979  ,  'Message::DOM::Element::ManakaiDOMAttr'
980  }, {  ;
981      'od' => $self,  Scalar::Util::weaken ($$r->{
982      'ns' => \$namespaceURI,  'od'
983      'pfx' => \$prefix,  });
     'ln' => \$lname,  
     'specified' => 1,  
   });  
984    
985    
986  {  {
987    
988  if  if
989  (defined 'Message::DOM::Element::ManakaiDOMAttr') {  (defined $namespaceURI) {
990    if (ref 'Message::DOM::Element::ManakaiDOMAttr' eq 'SCALAR') {    if (ref $namespaceURI eq 'SCALAR') {
991      $stem->{'cls'} = 'Message::DOM::Element::ManakaiDOMAttr';      $$r->{'ns'} = $namespaceURI;
992    } elsif (defined $Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMAttr'}) {    } elsif (defined $Message::Util::ManakaiStringRef::Value{$namespaceURI}) {
993      $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMAttr'};      $$r->{'ns'} = $Message::Util::ManakaiStringRef::Value{$namespaceURI};
994    } else {    } else {
995      require Scalar::Util;      require Scalar::Util;
996      $stem->{'cls'} = $Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMAttr'} = \('Message::DOM::Element::ManakaiDOMAttr');      $$r->{'ns'} = $Message::Util::ManakaiStringRef::Value{$namespaceURI} = \($namespaceURI);
997      Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{'Message::DOM::Element::ManakaiDOMAttr'});      Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{$namespaceURI});
998    }    }
999  } else {  } else {
1000    CORE::delete $stem->{'cls'};    CORE::delete $$r->{'ns'};
1001  }  }
1002    
1003    
1004  }  }
1005    
1006  ;  ;
1007  $bag->{${$stem->{  
1008  'id'  
1009  }}} = $stem;  {
1010    
1011    if
1012    (defined $prefix) {
1013      if (ref $prefix eq 'SCALAR') {
1014        $$r->{'pfx'} = $prefix;
1015      } elsif (defined $Message::Util::ManakaiStringRef::Value{$prefix}) {
1016        $$r->{'pfx'} = $Message::Util::ManakaiStringRef::Value{$prefix};
1017      } else {
1018        require Scalar::Util;
1019        $$r->{'pfx'} = $Message::Util::ManakaiStringRef::Value{$prefix} = \($prefix);
1020        Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{$prefix});
1021      }
1022    } else {
1023      CORE::delete $$r->{'pfx'};
1024    }
1025    
1026    
1027  }  }
# Line 995  $bag->{${$stem->{ Line 1031  $bag->{${$stem->{
1031    
1032  {  {
1033    
1034    if
1035  $r = ${$stem->{  (defined $lname) {
1036  'cls'    if (ref $lname eq 'SCALAR') {
1037  }}->___create_node_ref ({      $$r->{'ln'} = $lname;
1038        } elsif (defined $Message::Util::ManakaiStringRef::Value{$lname}) {
1039  'id'      $$r->{'ln'} = $Message::Util::ManakaiStringRef::Value{$lname};
1040   => $stem->{    } else {
1041  'id'      require Scalar::Util;
1042  },      $$r->{'ln'} = $Message::Util::ManakaiStringRef::Value{$lname} = \($lname);
1043          Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{$lname});
1044  'b'    }
1045   => $bag,  } else {
1046  }, {    CORE::delete $$r->{'ln'};
1047    });  }
 $stem->{  
 'rc'  
 }++;  
1048    
1049    
1050  }  }
1051    
1052  ;  ;
1053    
1054    
1055  ## Attribute type information  ## Attribute type information
1056  if ((defined $namespaceURI and $namespaceURI eq  if ((defined $namespaceURI and $namespaceURI eq
1057  'http://www.w3.org/XML/1998/namespace' and  'http://www.w3.org/XML/1998/namespace' and
# Line 1066  $r} Line 1100  $r}
1100  $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::Element::ManakaiDOMDocumentElement>}->{has_feature} = {};  $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::Element::ManakaiDOMDocumentElement>}->{has_feature} = {};
1101  $Message::DOM::ClassPoint{q<Message::DOM::Element::ManakaiDOMDocumentElement>} = 0;  $Message::DOM::ClassPoint{q<Message::DOM::Element::ManakaiDOMDocumentElement>} = 0;
1102  package Message::DOM::IFLatest::Element;  package Message::DOM::IFLatest::Element;
1103  our $VERSION = 20061203.0432;  our $VERSION = 20061229.0645;
1104  package Message::DOM::Element::ManakaiDOMElement;  package Message::DOM::Element::ManakaiDOMElement;
1105  our $VERSION = 20061203.0432;  our $VERSION = 20061229.0645;
1106  push our @ISA, 'Message::DOM::TreeCore::ManakaiDOMNode',  push our @ISA, 'Message::DOM::TreeCore::ManakaiDOMNode',
1107  'Message::DOM::IF::Element',  'Message::DOM::IF::Element',
1108  'Message::DOM::IF::Node',  'Message::DOM::IF::Node',
# Line 1088  use Char::Class::XML 'InXMLNCNameChar10' Line 1122  use Char::Class::XML 'InXMLNCNameChar10'
1122  'InXMLNameStartChar11',  'InXMLNameStartChar11',
1123  'InXML_NCNameStartChar10',  'InXML_NCNameStartChar10',
1124  'InXML_NameStartChar10';  'InXML_NameStartChar10';
 sub ___create_node_stem ($$$$) {  
 my ($self, $bag, $obj, $opt) = @_;  
 my $r = {};  
   
 {  
   
   
 $obj->{  
 'child'  
 } = [];  
 $obj->{  
 'attr'  
 } = {};  
   
   
 {  
   
 if  
 (defined ${$opt->{'ns'}}) {  
   if (ref ${$opt->{'ns'}} eq 'SCALAR') {  
     $obj->{'ns'} = ${$opt->{'ns'}};  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{${$opt->{'ns'}}}) {  
     $obj->{'ns'} = $Message::Util::ManakaiStringRef::Value{${$opt->{'ns'}}};  
   } else {  
     require Scalar::Util;  
     $obj->{'ns'} = $Message::Util::ManakaiStringRef::Value{${$opt->{'ns'}}} = \(${$opt->{'ns'}});  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{${$opt->{'ns'}}});  
   }  
 } else {  
   CORE::delete $obj->{'ns'};  
 }  
   
   
 }  
   
 ;  
   
   
 {  
   
 if  
 (defined ${$opt->{'pfx'}}) {  
   if (ref ${$opt->{'pfx'}} eq 'SCALAR') {  
     $obj->{'pfx'} = ${$opt->{'pfx'}};  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{${$opt->{'pfx'}}}) {  
     $obj->{'pfx'} = $Message::Util::ManakaiStringRef::Value{${$opt->{'pfx'}}};  
   } else {  
     require Scalar::Util;  
     $obj->{'pfx'} = $Message::Util::ManakaiStringRef::Value{${$opt->{'pfx'}}} = \(${$opt->{'pfx'}});  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{${$opt->{'pfx'}}});  
   }  
 } else {  
   CORE::delete $obj->{'pfx'};  
 }  
   
   
 }  
   
 ;  
   
   
 {  
   
 if  
 (defined ${$opt->{'ln'}}) {  
   if (ref ${$opt->{'ln'}} eq 'SCALAR') {  
     $obj->{'ln'} = ${$opt->{'ln'}};  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{${$opt->{'ln'}}}) {  
     $obj->{'ln'} = $Message::Util::ManakaiStringRef::Value{${$opt->{'ln'}}};  
   } else {  
     require Scalar::Util;  
     $obj->{'ln'} = $Message::Util::ManakaiStringRef::Value{${$opt->{'ln'}}} = \(${$opt->{'ln'}});  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{${$opt->{'ln'}}});  
   }  
 } else {  
   CORE::delete $obj->{'ln'};  
 }  
   
   
 }  
   
 ;  
   
   
 {  
   
   
 $obj->{'od'} = $opt->{'od'}->{  
 'id'  
 };  
 $bag->{${$opt->{'od'}->{  
 'id'  
 }}}  
     ->{'do'}->{${$obj->{  
 'id'  
 }}}  
   = $obj->{  
 'id'  
 };  
   
   
 }  
   
 ;  
 $r = $obj;  
   
   
 }  
 $r}  
 sub ___create_node_ref ($$$) {  
 my ($self, $obj, $opt) = @_;  
 my $r;  
   
 {  
   
 my  
 $class;  
 CLS: {  
   ## From the cache  
     
   
 {  
   
   
 $class = $obj->{  
 'b'  
 }->{${$obj->{  
 'id'  
 }}}  
          ->{'dnrcls'};  
   
   
 }  
   
 ;  
   if (defined $class) {  
     last CLS;  
   } else {  
     $class = \$self;  
   }  
   
   my $nsuri;  
     
   
 {  
   
   
 $nsuri = $obj->{  
 'b'  
 }->{${$obj->{  
 'id'  
 }}}  
          ->{'ns'};  
   
   
 }  
   
 ;  
   $nsuri = \'' unless defined $nsuri;  
   my $ln;  
     
   
 {  
   
   
 $ln = $obj->{  
 'b'  
 }->{${$obj->{  
 'id'  
 }}}  
          ->{'ln'};  
   
   
 }  
   
 ;  
   
   ## Use cases:  
   ##   - |html5:a| element type  
   ##   - |html5:*| element types  
   A: for my $nm (  
     [$nsuri, $ln],  
     [$nsuri, \'*'],  
   ) {  
     unless ($Message::DOM::Element::ElementClass  
         ->{${$nm->[0]}}->{${$nm->[1]}}) {  
       if ($Message::Util::AutoLoad::Registry::ElementType  
           ->{${$nm->[0]}}->{${$nm->[1]}}) {  
         eval qq{require  
             $Message::Util::AutoLoad::Registry::ElementType->{  
             ${$nm->[0]}}->{${$nm->[1]}}->{module}};  
         die $@ if $@;  
       }  
     }  
   
     if ($Message::DOM::Element::ElementClass  
         ->{${$nm->[0]}}->{${$nm->[1]}}) {  
       $class = \($Message::DOM::Element::ElementClass  
           ->{${$nm->[0]}}->{${$nm->[1]}});  
       last A;  
     }  
   } # A  
   
     
   
 {  
   
   
 $obj->{  
 'b'  
 }->{${$obj->{  
 'id'  
 }}}  
     ->{'dnrcls'} = $class;  
   
   
 }  
   
 ;  
 } # CLS  
 $r = bless $obj, $$class;  
   
   
 }  
 $r}  
1125  sub node_type ($;$) {  sub node_type ($;$) {
1126  if (@_ == 1) {my ($self) = @_;  if (@_ == 1) {my ($self) = @_;
1127  my $r;  my $r;
# Line 1329  my $r = ''; Line 1138  my $r = '';
1138  {  {
1139    
1140  my  my
1141  $v;  $v = $$self->{
1142    'pfx'
1143    };
1144  {  $r = defined $v ? $$v : undef;
   
   
 $v = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'pfx'};  
   
   
 }  
   
 ;  
 $r = defined $v ? $$v :  
 undef  
 ;  
1145    
1146    
1147  }  }
# Line 1382  report Message::DOM::DOMCore::ManakaiDOM Line 1175  report Message::DOM::DOMCore::ManakaiDOM
1175  }  }
1176    
1177  ;  ;
1178    my $nsuri;    my $nsuri = $$self->{
1179      'ns'
1180    };
 {  
   
   
 $nsuri = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'ns'};  
   
   
 }  
   
 ;  
1181    if (not defined $nsuri) {    if (not defined $nsuri) {
1182            
1183  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#namespaceName' => undef, 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'set', 'http://www.w3.org/2001/04/infoset#prefix' => $given, '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#class' => 'Message::DOM::Element::ManakaiDOMElement', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'prefix';  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#namespaceName' => undef, 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'set', 'http://www.w3.org/2001/04/infoset#prefix' => $given, '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#class' => 'Message::DOM::Element::ManakaiDOMElement', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'prefix';
# Line 1455  report Message::DOM::DOMCore::ManakaiDOM Line 1234  report Message::DOM::DOMCore::ManakaiDOM
1234    
1235  ;  ;
1236  } # strict  } # strict
1237  my $v = defined $given ? \$given :  if (defined $given) {
1238  undef    $$self->{
1239  ;  'pfx'
1240    } = \$given;
1241    } else {
1242  {    CORE::delete $$self->{
1243    'pfx'
1244    };
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'pfx'} = $v;  
   
   
1245  }  }
1246    
 ;  
   
1247    
1248  }  }
1249  }  }
# Line 1682  report Message::DOM::DOMCore::ManakaiDOM Line 1451  report Message::DOM::DOMCore::ManakaiDOM
1451      if ($child_nt ==      if ($child_nt ==
1452  11  11
1453  ) {  ) {
1454                $$newChild->{
1455    'child'
1456  {  } = [];
   
   
 $newChild->{  
 'b'  
 }->{${$newChild->{  
 'id'  
 }}}  
     ->{'child'} = [];  
   
   
 }  
   
 ;  
1457      } else {      } else {
1458        my $v;        my $v = $$nc_parent->{
1459          'child'
1460    };
 {  
   
   
 $v = $nc_parent->{  
 'b'  
 }->{${$nc_parent->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 }  
   
 ;  
1461        RP: for my $i (0..$#$v) {        RP: for my $i (0..$#$v) {
1462          my $nodeid = $v->[$i];          if ($v->[$i] eq $new_child[0]) {
         if (  
 (${$new_child[0]->{'id'}} eq ${$nodeid})  
 ) {  
1463            splice @$v, $i, 1, ();            splice @$v, $i, 1, ();
1464            last RP;            last RP;
1465          }          }
# Line 1730  $v = $nc_parent->{ Line 1469  $v = $nc_parent->{
1469    
1470    ## -- Rewrite the |parentNode| properties    ## -- Rewrite the |parentNode| properties
1471    for my $nc (@new_child) {    for my $nc (@new_child) {
1472            $$nc->{
1473    'parent'
1474  {  } = $self;
1475        Scalar::Util::weaken ($$nc->{
1476    'parent'
1477  $nc->{  });
 'b'  
 }->{${$nc->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 }  
   
 ;  
1478    }    }
1479    
1480    my $children;    my $children = $$self->{
1481      'child'
1482    };
 {  
   
   
 $children = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 }  
   
 ;  
1483    
1484        
1485    
# Line 1774  $children = $self->{ Line 1487  $children = $self->{
1487    
1488    
1489  ## -- Adds to children list  ## -- Adds to children list
1490      push @$children, map {      push @$children, @new_child;
         
 $_->{'id'}  
   
     } @new_child;  
1491      $r = $newChild;      $r = $newChild;
1492        
1493    
# Line 2107  report Message::DOM::DOMCore::ManakaiDOM Line 1816  report Message::DOM::DOMCore::ManakaiDOM
1816      if ($child_nt ==      if ($child_nt ==
1817  11  11
1818  ) {  ) {
1819                $$newChild->{
1820    'child'
1821  {  } = [];
   
   
 $newChild->{  
 'b'  
 }->{${$newChild->{  
 'id'  
 }}}  
     ->{'child'} = [];  
   
   
 }  
   
 ;  
1822      } else {      } else {
1823        my $v;        my $v = $$nc_parent->{
1824          'child'
1825    };
 {  
   
   
 $v = $nc_parent->{  
 'b'  
 }->{${$nc_parent->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 }  
   
 ;  
1826        RP: for my $i (0..$#$v) {        RP: for my $i (0..$#$v) {
1827          my $nodeid = $v->[$i];          if ($v->[$i] eq $new_child[0]) {
         if (  
 (${$new_child[0]->{'id'}} eq ${$nodeid})  
 ) {  
1828            splice @$v, $i, 1, ();            splice @$v, $i, 1, ();
1829            last RP;            last RP;
1830          }          }
# Line 2155  $v = $nc_parent->{ Line 1834  $v = $nc_parent->{
1834    
1835    ## -- Rewrite the |parentNode| properties    ## -- Rewrite the |parentNode| properties
1836    for my $nc (@new_child) {    for my $nc (@new_child) {
1837            $$nc->{
1838    'parent'
1839  {  } = $self;
1840        Scalar::Util::weaken ($$nc->{
1841    'parent'
1842  $nc->{  });
 'b'  
 }->{${$nc->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 }  
   
 ;  
1843    }    }
1844    
1845    my $children;    my $children = $$self->{
1846      'child'
1847    };
 {  
   
   
 $children = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 }  
   
 ;  
1848    
1849        
1850    
# Line 2204  $children = $self->{ Line 1857  $children = $self->{
1857    
1858  ## -- Adds to children list  ## -- Adds to children list
1859      if ($index == -1) {      if ($index == -1) {
1860        push @$children, map {        push @$children, @new_child;
           
 $_->{'id'}  
   
       } @new_child;  
1861      } else {      } else {
1862        splice @$children, $index, 0, map {        splice @$children, $index, 0, @new_child;
           
 $_->{'id'}  
   
       } @new_child;  
1863      }      }
1864      $r = $newChild;      $r = $newChild;
1865        
# Line 2563  report Message::DOM::DOMCore::ManakaiDOM Line 2208  report Message::DOM::DOMCore::ManakaiDOM
2208      if ($child_nt ==      if ($child_nt ==
2209  11  11
2210  ) {  ) {
2211                $$newChild->{
2212    'child'
2213  {  } = [];
   
   
 $newChild->{  
 'b'  
 }->{${$newChild->{  
 'id'  
 }}}  
     ->{'child'} = [];  
   
   
 }  
   
 ;  
2214      } else {      } else {
2215        my $v;        my $v = $$nc_parent->{
2216          'child'
2217    };
 {  
   
   
 $v = $nc_parent->{  
 'b'  
 }->{${$nc_parent->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 }  
   
 ;  
2218        RP: for my $i (0..$#$v) {        RP: for my $i (0..$#$v) {
2219          my $nodeid = $v->[$i];          if ($v->[$i] eq $new_child[0]) {
         if (  
 (${$new_child[0]->{'id'}} eq ${$nodeid})  
 ) {  
2220            splice @$v, $i, 1, ();            splice @$v, $i, 1, ();
2221            last RP;            last RP;
2222          }          }
# Line 2611  $v = $nc_parent->{ Line 2226  $v = $nc_parent->{
2226    
2227    ## -- Rewrite the |parentNode| properties    ## -- Rewrite the |parentNode| properties
2228    for my $nc (@new_child) {    for my $nc (@new_child) {
2229            $$nc->{
2230    'parent'
2231  {  } = $self;
2232        Scalar::Util::weaken ($$nc->{
2233    'parent'
2234  $nc->{  });
 'b'  
 }->{${$nc->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 }  
   
 ;  
2235    }    }
2236    
2237    my $children;    my $children = $$self->{
2238      'child'
2239    };
 {  
   
   
 $children = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 }  
   
 ;  
2240    
2241        
2242    
# Line 2663  $children = $self->{ Line 2252  $children = $self->{
2252    
2253    
2254  ## -- Replaces the node  ## -- Replaces the node
2255      splice @$children, $index, 1, map {      splice @$children, $index, 1, @new_child;
2256              CORE::delete $$oldChild->{
2257  $_->{'id'}  'parent'
2258    };
     } @new_child;  
       
   
 {  
   
 CORE::delete  
 $oldChild->{  
 'b'  
 }->{${$oldChild->{  
 'id'  
 }}}  
                  ->{'parent'};  
   
   
 }  
   
 ;  
2259      $r = $oldChild;      $r = $oldChild;
2260        
2261    
# Line 2722  my $r; Line 2294  my $r;
2294  $r = bless \\($self),  $r = bless \\($self),
2295  'Message::DOM::TreeCore::ManakaiDOMAttrMap'  'Message::DOM::TreeCore::ManakaiDOMAttrMap'
2296  ;  ;
2297    $$self->{
2298    'hpos'
2299  {  } ||= -1;
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'hpos'} ||= -1;  
   
   
 }  
   
 ;  
2300    
2301    
2302  }  }
# Line 2758  my $r = ''; Line 2317  my $r = '';
2317  {  {
2318    
2319  my  my
2320  $prefix;  $prefix = $$self->{
2321    'pfx'
2322    };
2323  {  my $lname = $$self->{
2324    'ln'
2325    };
 $prefix = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'pfx'};  
   
   
 }  
   
 ;  
 my $lname;  
   
   
 {  
   
   
 $lname = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'ln'};  
   
   
 }  
   
 ;  
2326  $r = defined $prefix ? $$prefix.':'.$$lname : $$lname;  $r = defined $prefix ? $$prefix.':'.$$lname : $$lname;
2327    
2328    
# Line 2808  my $r = ''; Line 2339  my $r = '';
2339  {  {
2340    
2341  my  my
2342  $prefix;  $prefix = $$self->{
2343    'pfx'
2344    };
2345  {  my $lname = $$self->{
2346    'ln'
2347    };
 $prefix = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'pfx'};  
   
   
 }  
   
 ;  
 my $lname;  
   
   
 {  
   
   
 $lname = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'ln'};  
   
   
 }  
   
 ;  
2348  $r = defined $prefix ? $$prefix.':'.$$lname : $$lname;  $r = defined $prefix ? $$prefix.':'.$$lname : $$lname;
2349    
2350    
# Line 2975  my $r = ''; Line 2478  my $r = '';
2478  {  {
2479    
2480    
2481  {  $r = $$self->{
2482    'buri'
2483    };
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'buri'};  
   
   
 }  
   
 ;  
2484  unless (defined $r) {  unless (defined $r) {
2485        
2486    
# Line 3128  $node; Line 2620  $node;
2620  {  {
2621    
2622  my  my
2623  $__attr;  $__attr = ${$self}->{
2624    'attr'
2625    };
 {  
   
   
 $__attr = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
2626    
2627  ## Note that we no longer support DOM Level 1 nodes.  ## Note that we no longer support DOM Level 1 nodes.
2628    
# Line 3164  $__attr = $self->{ Line 2642  $__attr = $self->{
2642    
2643  NS: for my $__ns (sort {$a cmp $b} keys %$__attr) {  NS: for my $__ns (sort {$a cmp $b} keys %$__attr) {
2644    for my $__ln (sort {$a cmp $b} keys %{$__attr->{$__ns}}) {    for my $__ln (sort {$a cmp $b} keys %{$__attr->{$__ns}}) {
2645      my $__node;      my $__node = $__attr->{$__ns}->{$__ln};
       
   
 {  
   
   
 $__node = ${($self->{'b'})->{${$__attr->{$__ns}->{$__ln}}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $__attr->{$__ns}->{$__ln},  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
       });  
 ($self->{'b'})->{${$__attr->{$__ns}->{$__ln}}}->{  
 'rc'  
 }++;  
   
   
 }  
   
 ;  
2646      if ($__node->      if ($__node->
2647  node_name eq  node_name eq
2648  $name) {  $name) {
# Line 3238  if Line 2692  if
2692  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {
2693    require Message::DOM::DOMMain;    require Message::DOM::DOMMain;
2694        
2695  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:1165118814:1861:wAUT122229+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:1167371291:21034:x54Sv15711+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
2696    
2697  ;  ;
2698    
# Line 3269  $node; Line 2723  $node;
2723  {  {
2724    
2725  my  my
2726  $__attrs;  $__attrs = ${$self}->{
2727    'attr'
2728    };
 {  
   
   
 $__attrs = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
2729  if (defined $__attrs->{defined $namespaceURI ? $namespaceURI : ''}  if (defined $__attrs->{defined $namespaceURI ? $namespaceURI : ''}
2730                      ->{$localName}) {                      ->{$localName}) {
2731        $node = $__attrs->{defined $namespaceURI ? $namespaceURI : ''}
2732                            ->{$localName};
 {  
   
   
 $node = ${($self->{'b'})->{${$__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName}}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName},  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
     });  
 ($self->{'b'})->{${$__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName}}}->{  
 'rc'  
 }++;  
   
   
 }  
   
 ;  
2733  }  }
2734    
2735    
# Line 3344  my $r; Line 2759  my $r;
2759  {  {
2760    
2761  my  my
2762  $__attr;  $__attr = ${$self}->{
2763    'attr'
2764    };
 {  
   
   
 $__attr = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
2765    
2766  ## Note that we no longer support DOM Level 1 nodes.  ## Note that we no longer support DOM Level 1 nodes.
2767    
# Line 3380  $__attr = $self->{ Line 2781  $__attr = $self->{
2781    
2782  NS: for my $__ns (sort {$a cmp $b} keys %$__attr) {  NS: for my $__ns (sort {$a cmp $b} keys %$__attr) {
2783    for my $__ln (sort {$a cmp $b} keys %{$__attr->{$__ns}}) {    for my $__ln (sort {$a cmp $b} keys %{$__attr->{$__ns}}) {
2784      my $__node;      my $__node = $__attr->{$__ns}->{$__ln};
       
   
 {  
   
   
 $__node = ${($self->{'b'})->{${$__attr->{$__ns}->{$__ln}}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $__attr->{$__ns}->{$__ln},  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
       });  
 ($self->{'b'})->{${$__attr->{$__ns}->{$__ln}}}->{  
 'rc'  
 }++;  
   
   
 }  
   
 ;  
2785      if ($__node->      if ($__node->
2786  node_name eq  node_name eq
2787  $name) {  $name) {
# Line 3445  if Line 2822  if
2822  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {
2823    require Message::DOM::DOMMain;    require Message::DOM::DOMMain;
2824        
2825  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:1165118814:1861:wAUT122229+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:1167371291:21034:x54Sv15711+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
2826    
2827  ;  ;
2828    
# Line 3473  my $r; Line 2850  my $r;
2850  {  {
2851    
2852  my  my
2853  $__attrs;  $__attrs = ${$self}->{
2854    'attr'
2855    };
 {  
   
   
 $__attrs = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
2856  if (defined $__attrs->{defined $namespaceURI ? $namespaceURI : ''}  if (defined $__attrs->{defined $namespaceURI ? $namespaceURI : ''}
2857                      ->{$localName}) {                      ->{$localName}) {
2858        $r = $__attrs->{defined $namespaceURI ? $namespaceURI : ''}
2859                            ->{$localName};
 {  
   
   
 $r = ${($self->{'b'})->{${$__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName}}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName},  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
     });  
 ($self->{'b'})->{${$__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName}}}->{  
 'rc'  
 }++;  
   
   
 }  
   
 ;  
2860  }  }
2861    
2862    
# Line 3542  $node; Line 2880  $node;
2880  {  {
2881    
2882  my  my
2883  $__attr;  $__attr = ${$self}->{
2884    'attr'
2885    };
 {  
   
   
 $__attr = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
2886    
2887  ## Note that we no longer support DOM Level 1 nodes.  ## Note that we no longer support DOM Level 1 nodes.
2888    
# Line 3578  $__attr = $self->{ Line 2902  $__attr = $self->{
2902    
2903  NS: for my $__ns (sort {$a cmp $b} keys %$__attr) {  NS: for my $__ns (sort {$a cmp $b} keys %$__attr) {
2904    for my $__ln (sort {$a cmp $b} keys %{$__attr->{$__ns}}) {    for my $__ln (sort {$a cmp $b} keys %{$__attr->{$__ns}}) {
2905      my $__node;      my $__node = $__attr->{$__ns}->{$__ln};
       
   
 {  
   
   
 $__node = ${($self->{'b'})->{${$__attr->{$__ns}->{$__ln}}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $__attr->{$__ns}->{$__ln},  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
       });  
 ($self->{'b'})->{${$__attr->{$__ns}->{$__ln}}}->{  
 'rc'  
 }++;  
   
   
 }  
   
 ;  
2906      if ($__node->      if ($__node->
2907  node_name eq  node_name eq
2908  $name) {  $name) {
# Line 3644  if Line 2944  if
2944  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {
2945    require Message::DOM::DOMMain;    require Message::DOM::DOMMain;
2946        
2947  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:1165118814:1861:wAUT122229+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:1167371291:21034:x54Sv15711+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
2948    
2949  ;  ;
2950    
# Line 3675  $node; Line 2975  $node;
2975  {  {
2976    
2977  my  my
2978  $__attrs;  $__attrs = ${$self}->{
2979    'attr'
2980    };
 {  
   
   
 $__attrs = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
2981  if (defined $__attrs->{defined $namespaceURI ? $namespaceURI : ''}  if (defined $__attrs->{defined $namespaceURI ? $namespaceURI : ''}
2982                      ->{$localName}) {                      ->{$localName}) {
2983        $node = $__attrs->{defined $namespaceURI ? $namespaceURI : ''}
2984                            ->{$localName};
 {  
   
   
 $node = ${($self->{'b'})->{${$__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName}}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName},  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
     });  
 ($self->{'b'})->{${$__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName}}}->{  
 'rc'  
 }++;  
   
   
 }  
   
 ;  
2985  }  }
2986    
2987    
# Line 3802  my $__anode; Line 3063  my $__anode;
3063  {  {
3064    
3065  my  my
3066  $__attr;  $__attr = ${$self}->{
3067    'attr'
3068    };
 {  
   
   
 $__attr = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
3069    
3070  ## Note that we no longer support DOM Level 1 nodes.  ## Note that we no longer support DOM Level 1 nodes.
3071    
# Line 3838  $__attr = $self->{ Line 3085  $__attr = $self->{
3085    
3086  NS: for my $__ns (sort {$a cmp $b} keys %$__attr) {  NS: for my $__ns (sort {$a cmp $b} keys %$__attr) {
3087    for my $__ln (sort {$a cmp $b} keys %{$__attr->{$__ns}}) {    for my $__ln (sort {$a cmp $b} keys %{$__attr->{$__ns}}) {
3088      my $__node;      my $__node = $__attr->{$__ns}->{$__ln};
       
   
 {  
   
   
 $__node = ${($self->{'b'})->{${$__attr->{$__ns}->{$__ln}}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $__attr->{$__ns}->{$__ln},  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
       });  
 ($self->{'b'})->{${$__attr->{$__ns}->{$__ln}}}->{  
 'rc'  
 }++;  
   
   
 }  
   
 ;  
3089      if ($__node->      if ($__node->
3090  node_name eq  node_name eq
3091  $name) {  $name) {
# Line 3913  local $Error::Depth = $Error::Depth + 1; Line 3136  local $Error::Depth = $Error::Depth + 1;
3136      $__anode = $od->      $__anode = $od->
3137  create_attribute  create_attribute
3138   ($name);   ($name);
3139      my $__attrs;      my $__attrs = $$self->{
3140        'attr'
   
 {  
   
   
 $__attrs = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
     $__attrs->{''}->{$name}  
         =  
 $__anode->{'id'}  
 ;  
       
   
 {  
   
   
 $__anode->{  
 'b'  
 }->{${$__anode->{  
 'id'  
 }}}  
     ->{'owner'} = $self->{  
 'id'  
3141  };  };
3142        $__attrs->{''}->{$name} = $__anode;
3143        $$__anode->{
3144  }  'owner'
3145    } = $self;
3146  ;      Scalar::Util::weaken ($$__anode->{
3147    'owner'
3148    });
3149        
3150    
3151    
# Line 4076  if Line 3270  if
3270  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {
3271    require Message::DOM::DOMMain;    require Message::DOM::DOMMain;
3272        
3273  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:1165118814:1861:wAUT122229+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:1167371291:21034:x54Sv15711+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
3274    
3275  ;  ;
3276    
# Line 4240  $__anode; Line 3434  $__anode;
3434  {  {
3435    
3436  my  my
3437  $__attrs;  $__attrs = ${$self}->{
3438    'attr'
3439    };
 {  
   
   
 $__attrs = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
3440  if (defined $__attrs->{defined $namespaceURI ? $namespaceURI : ''}  if (defined $__attrs->{defined $namespaceURI ? $namespaceURI : ''}
3441                      ->{$localName}) {                      ->{$localName}) {
3442        $__anode = $__attrs->{defined $namespaceURI ? $namespaceURI : ''}
3443                            ->{$localName};
 {  
   
   
 $__anode = ${($self->{'b'})->{${$__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName}}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName},  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
     });  
 ($self->{'b'})->{${$__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName}}}->{  
 'rc'  
 }++;  
   
   
 }  
   
 ;  
3444  }  }
3445    
3446    
# Line 4320  local $Error::Depth = $Error::Depth + 1; Line 3475  local $Error::Depth = $Error::Depth + 1;
3475  create_attribute_ns  create_attribute_ns
3476    
3477                                  ($namespaceURI, [$prefix, $localName]);                                  ($namespaceURI, [$prefix, $localName]);
3478      my $__attrs;      my $__attrs = ${$self}->{
3479        'attr'
   
 {  
   
   
 $__attrs = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
     $__attrs->{defined $namespaceURI ? $namespaceURI : ''}->{$localName}  
         =  
 $__anode->{'id'}  
 ;  
       
   
 {  
   
   
 $__anode->{  
 'b'  
 }->{${$__anode->{  
 'id'  
 }}}  
     ->{'owner'} = $self->{  
 'id'  
3480  };  };
3481        $__attrs->{defined $namespaceURI ? $namespaceURI : ''}->{$localName}
3482            = $__anode;
3483  }      $$__anode->{
3484    'owner'
3485  ;  } = $self;
3486        Scalar::Util::weaken ($$__anode->{
3487    'owner'
3488    });
3489        
3490    
3491    
# Line 4510  $nsuri = '' unless defined $nsuri; Line 3637  $nsuri = '' unless defined $nsuri;
3637  my $ln = $newAttr->  my $ln = $newAttr->
3638  local_name  local_name
3639  ;  ;
3640  my $attrs;  my $attrs = $$self->{
3641    'attr'
3642    };
3643  {  my $current = $attrs->{$nsuri}->{$ln};
   
   
 $attrs = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
 my $current;  
 if (defined $attrs->{$nsuri}->{$ln}) {  
     
   
 {  
   
   
 $current = ${($self->{'b'})->{${$attrs->{$nsuri}->{$ln}}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $attrs->{$nsuri}->{$ln},  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
     });  
 ($self->{'b'})->{${$attrs->{$nsuri}->{$ln}}}->{  
 'rc'  
 }++;  
   
   
 }  
   
 ;  
 }  
3644    
3645  if (defined $newAttr->  if (defined $newAttr->
3646  owner_element  owner_element
# Line 4580  report Message::DOM::DOMCore::ManakaiDOM Line 3667  report Message::DOM::DOMCore::ManakaiDOM
3667  ;  ;
3668    }    }
3669    
3670    $attrs->{$nsuri}->{$ln} =    $attrs->{$nsuri}->{$ln} = $newAttr;
3671  $newAttr->{'id'}    $$newAttr->{
3672  ;  'owner'
3673      } = $self;
3674      Scalar::Util::weaken ($$newAttr->{
3675  {  'owner'
3676    });
   
 $newAttr->{  
 'b'  
 }->{${$newAttr->{  
 'id'  
 }}}  
     ->{'owner'} = $self->{  
 'id'  
 };  
   
   
 }  
   
 ;  
3677    $newAttr->    $newAttr->
3678  specified  specified
3679   (   (
# Line 4608  specified Line 3681  specified
3681  );  );
3682    
3683    if (defined $current) {    if (defined $current) {
3684            CORE::delete $$current->{
3685    'owner'
3686  {  };
   
 CORE::delete  
 $current->{  
 'b'  
 }->{${$current->{  
 'id'  
 }}}  
                  ->{'owner'};  
   
   
 }  
   
 ;  
3687      $r = $current;      $r = $current;
3688    }    }
3689  }  }
# Line 4661  $nsuri = '' unless defined $nsuri; Line 3721  $nsuri = '' unless defined $nsuri;
3721  my $ln = $newAttr->  my $ln = $newAttr->
3722  local_name  local_name
3723  ;  ;
3724  my $attrs;  my $attrs = $$self->{
3725    'attr'
3726    };
3727  {  my $current = $attrs->{$nsuri}->{$ln};
   
   
 $attrs = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
 my $current;  
 if (defined $attrs->{$nsuri}->{$ln}) {  
     
   
 {  
   
   
 $current = ${($self->{'b'})->{${$attrs->{$nsuri}->{$ln}}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $attrs->{$nsuri}->{$ln},  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
     });  
 ($self->{'b'})->{${$attrs->{$nsuri}->{$ln}}}->{  
 'rc'  
 }++;  
   
   
 }  
   
 ;  
 }  
3728    
3729  if (defined $newAttr->  if (defined $newAttr->
3730  owner_element  owner_element
# Line 4731  report Message::DOM::DOMCore::ManakaiDOM Line 3751  report Message::DOM::DOMCore::ManakaiDOM
3751  ;  ;
3752    }    }
3753    
3754    $attrs->{$nsuri}->{$ln} =    $attrs->{$nsuri}->{$ln} = $newAttr;
3755  $newAttr->{'id'}    $$newAttr->{
3756  ;  'owner'
3757      } = $self;
3758      Scalar::Util::weaken ($$newAttr->{
3759  {  'owner'
3760    });
   
 $newAttr->{  
 'b'  
 }->{${$newAttr->{  
 'id'  
 }}}  
     ->{'owner'} = $self->{  
 'id'  
 };  
   
   
 }  
   
 ;  
3761    $newAttr->    $newAttr->
3762  specified  specified
3763   (   (
# Line 4759  specified Line 3765  specified
3765  );  );
3766    
3767    if (defined $current) {    if (defined $current) {
3768            CORE::delete $$current->{
3769    'owner'
3770  {  };
   
 CORE::delete  
 $current->{  
 'b'  
 }->{${$current->{  
 'id'  
 }}}  
                  ->{'owner'};  
   
   
 }  
   
 ;  
3771      $r = $current;      $r = $current;
3772    }    }
3773  }  }
# Line 4796  my $attr; Line 3789  my $attr;
3789  {  {
3790    
3791  my  my
3792  $__attr;  $__attr = ${$self}->{
3793    'attr'
3794    };
 {  
   
   
 $__attr = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
3795    
3796  ## Note that we no longer support DOM Level 1 nodes.  ## Note that we no longer support DOM Level 1 nodes.
3797    
# Line 4832  $__attr = $self->{ Line 3811  $__attr = $self->{
3811    
3812  NS: for my $__ns (sort {$a cmp $b} keys %$__attr) {  NS: for my $__ns (sort {$a cmp $b} keys %$__attr) {
3813    for my $__ln (sort {$a cmp $b} keys %{$__attr->{$__ns}}) {    for my $__ln (sort {$a cmp $b} keys %{$__attr->{$__ns}}) {
3814      my $__node;      my $__node = $__attr->{$__ns}->{$__ln};
       
   
 {  
   
   
 $__node = ${($self->{'b'})->{${$__attr->{$__ns}->{$__ln}}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $__attr->{$__ns}->{$__ln},  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
       });  
 ($self->{'b'})->{${$__attr->{$__ns}->{$__ln}}}->{  
 'rc'  
 }++;  
   
   
 }  
   
 ;  
3815      if ($__node->      if ($__node->
3816  node_name eq  node_name eq
3817  $name) {  $name) {
# Line 4898  report Message::DOM::DOMCore::ManakaiDOM Line 3853  report Message::DOM::DOMCore::ManakaiDOM
3853    
3854    ## Remove the attribute node    ## Remove the attribute node
3855    CORE::delete $list->{$key};    CORE::delete $list->{$key};
3856        CORE::delete $$attr->{
3857    'owner'
3858  {  };
   
 CORE::delete  
 $attr->{  
 'b'  
 }->{${$attr->{  
 'id'  
 }}}  
                  ->{'owner'};  
   
   
 }  
   
 ;  
3859    
3860    ## Default attribute    ## Default attribute
3861    my $doc = $self->    my $doc = $self->
# Line 4986  set_parameter Line 3928  set_parameter
3928  );  );
3929          ADD: {          ADD: {
3930            my $__attr;            my $__attr;
3931            my $__attrs;            my $__attrs = ${$self}->{
3932              'attr'
3933    };
 {  
   
   
 $__attrs = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
3934            if (defined $prefix) {   ## prefixed attr            if (defined $prefix) {   ## prefixed attr
3935              my $__nsuri = $self->              my $__nsuri = $self->
3936  lookup_namespace_uri  lookup_namespace_uri
# Line 5113  if Line 4041  if
4041  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {
4042    require Message::DOM::DOMMain;    require Message::DOM::DOMMain;
4043        
4044  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:1165118814:1861:wAUT122229+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:1167371291:21034:x54Sv15711+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
4045    
4046  ;  ;
4047    
# Line 5144  my $attr; Line 4072  my $attr;
4072  {  {
4073    
4074  my  my
4075  $__attrs;  $__attrs = ${$self}->{
4076    'attr'
4077    };
 {  
   
   
 $__attrs = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
4078  $list = $__attrs->{defined $namespaceURI ? $namespaceURI : ''};  $list = $__attrs->{defined $namespaceURI ? $namespaceURI : ''};
4079  if (defined $list and defined $list->{$localName}) {  if (defined $list and defined $list->{$localName}) {
4080        $attr = $__attrs->{defined $namespaceURI ? $namespaceURI : ''}
4081                            ->{$localName};
 {  
   
   
 $attr = ${($self->{'b'})->{${$__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName}}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName},  
     
 'b'  
  => ($self->{'b'}),  
 }, {  
     });  
 ($self->{'b'})->{${$__attrs->{defined $namespaceURI ? $namespaceURI : ''}  
                         ->{$localName}}}->{  
 'rc'  
 }++;  
   
   
 }  
   
 ;  
4082  }  }
4083    
4084    
# Line 5208  report Message::DOM::DOMCore::ManakaiDOM Line 4097  report Message::DOM::DOMCore::ManakaiDOM
4097    
4098    ## Removes the attribute node    ## Removes the attribute node
4099    CORE::delete $list->{$localName};    CORE::delete $list->{$localName};
4100        CORE::delete $$attr->{
4101    'owner'
4102  {  };
   
 CORE::delete  
 $attr->{  
 'b'  
 }->{${$attr->{  
 'id'  
 }}}  
                  ->{'owner'};  
   
   
 }  
   
 ;  
4103    
4104    ## Default attribute    ## Default attribute
4105    my $doc = $self->    my $doc = $self->
# Line 5299  set_parameter Line 4175  set_parameter
4175  );  );
4176          ADD: {          ADD: {
4177            my $__attr;            my $__attr;
4178            my $__attrs;            my $__attrs = ${$self}->{
4179              'attr'
4180    };
 {  
   
   
 $__attrs = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
4181            if (defined $pfx) {   ## prefixed attr            if (defined $pfx) {   ## prefixed attr
4182              my $__nsuri = $self->              my $__nsuri = $self->
4183  lookup_namespace_uri  lookup_namespace_uri
# Line 5443  my $ln = $oldAttr-> Line 4305  my $ln = $oldAttr->
4305  local_name  local_name
4306  ;  ;
4307  FIND: {  FIND: {
4308    my $attrs;    my $attrs = $$self->{
4309      'attr'
4310    };
 {  
   
   
 $attrs = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
4311    my $nsuri = $oldAttr->    my $nsuri = $oldAttr->
4312  namespace_uri  namespace_uri
4313  ;  ;
4314    my $list = $attrs->{defined $nsuri ? $nsuri : ''};    my $list = $attrs->{defined $nsuri ? $nsuri : ''};
4315    my $list_nid = $list->{$ln};    my $list_node = $list->{$ln};
4316    if (defined $list_nid and    if (defined $list_node and $list_node eq $oldAttr) {
         
 (${$oldAttr->{'id'}} eq ${$list_nid})  
 ) {  
4317      CORE::delete $list->{$ln};      CORE::delete $list->{$ln};
4318      last FIND;      last FIND;
4319    }    }
# Line 5478  report Message::DOM::DOMCore::ManakaiDOM Line 4323  report Message::DOM::DOMCore::ManakaiDOM
4323  ;  ;
4324  } # FIND  } # FIND
4325    
4326    CORE::delete $$oldAttr->{
4327    'owner'
4328  {  };
   
 CORE::delete  
 $oldAttr->{  
 'b'  
 }->{${$oldAttr->{  
 'id'  
 }}}  
                  ->{'owner'};  
   
   
 }  
   
 ;  
4329  $r = $oldAttr;  $r = $oldAttr;
4330    
4331  ## Default attribute  ## Default attribute
# Line 5569  set_parameter Line 4401  set_parameter
4401  );  );
4402          ADD: {          ADD: {
4403            my $__attr;            my $__attr;
4404            my $__attrs;            my $__attrs = ${$self}->{
4405              'attr'
4406    };
 {  
   
   
 $__attrs = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'attr'};  
   
   
 }  
   
 ;  
4407            if (defined $pfx) {   ## prefixed attr            if (defined $pfx) {   ## prefixed attr
4408              my $__nsuri = $self->              my $__nsuri = $self->
4409  lookup_namespace_uri  lookup_namespace_uri
# Line 5761  if Line 4579  if
4579  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {
4580    require Message::DOM::DOMMain;    require Message::DOM::DOMMain;
4581        
4582  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:1165118814:1861:wAUT122229+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:1167371291:21034:x54Sv15711+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
4583    
4584  ;  ;
4585    
# Line 5867  my $r = ''; Line 4685  my $r = '';
4685  {  {
4686    
4687    
4688  {  $r = $$self->{
4689    'buri'
4690    };
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'buri'};  
   
   
 }  
   
 ;  
4691    
4692    
4693  }  }
# Line 5906  report Message::DOM::DOMCore::ManakaiDOM Line 4713  report Message::DOM::DOMCore::ManakaiDOM
4713  }  }
4714    
4715  ;  ;
4716    $$self->{
4717    'buri'
4718  {  } = $given;
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'buri'} = $given;  
   
   
 }  
   
 ;  
4719    
4720    
4721  }  }
# Line 5982  if Line 4776  if
4776  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {  (CORE::defined $namespaceURI and CORE::length $namespaceURI == 0) {
4777    require Message::DOM::DOMMain;    require Message::DOM::DOMMain;
4778        
4779  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:1165118814:1861:wAUT122229+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:1167371291:21034:x54Sv15711+http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom%23ManakaiDOMLatest';
4780    
4781  ;  ;
4782    
# Line 6121  $Message::DOM::DOMFeature::ClassInfo->{q Line 4915  $Message::DOM::DOMFeature::ClassInfo->{q
4915  '1'}};  '1'}};
4916  $Message::DOM::ClassPoint{q<Message::DOM::Element::ManakaiDOMElement>} = 14.1;  $Message::DOM::ClassPoint{q<Message::DOM::Element::ManakaiDOMElement>} = 14.1;
4917  $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::Element::ManakaiDOMElement>}->{compat_class}->{q<Message::DOM::Element::ManakaiDOMElement>} = 1;  $Message::DOM::DOMFeature::ClassInfo->{q<Message::DOM::Element::ManakaiDOMElement>}->{compat_class}->{q<Message::DOM::Element::ManakaiDOMElement>} = 1;
4918  $Message::Util::Grove::ClassProp{q<Message::DOM::Element::ManakaiDOMElement>} = {'o0',  $Message::Util::Grove::ClassProp{q<Message::DOM::Element::ManakaiDOMElement>} = {};
 ['parent'],  
 's1a',  
 ['child'],  
 's2hh',  
 ['attr'],  
 'w0',  
 ['od']};  
4919  package Message::DOM::IFLatest::Attr;  package Message::DOM::IFLatest::Attr;
4920  our $VERSION = 20061203.0432;  our $VERSION = 20061229.0645;
4921  package Message::DOM::Element::ManakaiDOMAttr;  package Message::DOM::Element::ManakaiDOMAttr;
4922  our $VERSION = 20061203.0432;  our $VERSION = 20061229.0645;
4923  push our @ISA, 'Message::DOM::TreeCore::ManakaiDOMNode',  push our @ISA, 'Message::DOM::TreeCore::ManakaiDOMNode',
4924  'Message::DOM::IF::Attr',  'Message::DOM::IF::Attr',
4925  'Message::DOM::IF::Node',  'Message::DOM::IF::Node',
# Line 6148  use Char::Class::XML 'InXMLNameChar10', Line 4935  use Char::Class::XML 'InXMLNameChar10',
4935  'InXMLNameChar11',  'InXMLNameChar11',
4936  'InXMLNameStartChar11',  'InXMLNameStartChar11',
4937  'InXML_NameStartChar10';  'InXML_NameStartChar10';
 sub ___create_node_stem ($$$$) {  
 my ($self, $bag, $obj, $opt) = @_;  
 my $r = {};  
   
 {  
   
   
 $obj->{  
 'child'  
 } = [];  
   
   
 {  
   
 if  
 (defined ${$opt->{'ns'}}) {  
   if (ref ${$opt->{'ns'}} eq 'SCALAR') {  
     $obj->{'ns'} = ${$opt->{'ns'}};  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{${$opt->{'ns'}}}) {  
     $obj->{'ns'} = $Message::Util::ManakaiStringRef::Value{${$opt->{'ns'}}};  
   } else {  
     require Scalar::Util;  
     $obj->{'ns'} = $Message::Util::ManakaiStringRef::Value{${$opt->{'ns'}}} = \(${$opt->{'ns'}});  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{${$opt->{'ns'}}});  
   }  
 } else {  
   CORE::delete $obj->{'ns'};  
 }  
   
   
 }  
   
 ;  
   
   
 {  
   
 if  
 (defined ${$opt->{'pfx'}}) {  
   if (ref ${$opt->{'pfx'}} eq 'SCALAR') {  
     $obj->{'pfx'} = ${$opt->{'pfx'}};  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{${$opt->{'pfx'}}}) {  
     $obj->{'pfx'} = $Message::Util::ManakaiStringRef::Value{${$opt->{'pfx'}}};  
   } else {  
     require Scalar::Util;  
     $obj->{'pfx'} = $Message::Util::ManakaiStringRef::Value{${$opt->{'pfx'}}} = \(${$opt->{'pfx'}});  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{${$opt->{'pfx'}}});  
   }  
 } else {  
   CORE::delete $obj->{'pfx'};  
 }  
   
   
 }  
   
 ;  
   
   
 {  
   
 if  
 (defined ${$opt->{'ln'}}) {  
   if (ref ${$opt->{'ln'}} eq 'SCALAR') {  
     $obj->{'ln'} = ${$opt->{'ln'}};  
   } elsif (defined $Message::Util::ManakaiStringRef::Value{${$opt->{'ln'}}}) {  
     $obj->{'ln'} = $Message::Util::ManakaiStringRef::Value{${$opt->{'ln'}}};  
   } else {  
     require Scalar::Util;  
     $obj->{'ln'} = $Message::Util::ManakaiStringRef::Value{${$opt->{'ln'}}} = \(${$opt->{'ln'}});  
     Scalar::Util::weaken ($Message::Util::ManakaiStringRef::Value{${$opt->{'ln'}}});  
   }  
 } else {  
   CORE::delete $obj->{'ln'};  
 }  
   
   
 }  
   
 ;  
 $obj->{  
 'specified'  
 } = $opt->{  
 'specified'  
 };  
   
   
 {  
   
   
 $obj->{'od'} = $opt->{'od'}->{  
 'id'  
 };  
 $bag->{${$opt->{'od'}->{  
 'id'  
 }}}  
     ->{'do'}->{${$obj->{  
 'id'  
 }}}  
   = $obj->{  
 'id'  
 };  
   
   
 }  
   
 ;  
 $r = $obj;  
   
   
 }  
 $r}  
4938  sub node_type ($;$) {  sub node_type ($;$) {
4939  if (@_ == 1) {my ($self) = @_;  if (@_ == 1) {my ($self) = @_;
4940  my $r;  my $r;
# Line 6275  my $r = ''; Line 4951  my $r = '';
4951  {  {
4952    
4953  my  my
4954  $v;  $v = $$self->{
4955    'pfx'
4956    };
 {  
   
   
 $v = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'pfx'};  
   
   
 }  
   
 ;  
4957  $r = defined $v ? $$v :  $r = defined $v ? $$v :
4958  undef  undef
4959  ;  ;
# Line 6328  report Message::DOM::DOMCore::ManakaiDOM Line 4990  report Message::DOM::DOMCore::ManakaiDOM
4990  }  }
4991    
4992  ;  ;
4993    my $nsuri;    my $nsuri = $$self->{
4994      'ns'
4995    };
 {  
   
   
 $nsuri = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'ns'};  
   
   
 }  
   
 ;  
4996    if (not defined $nsuri) {    if (not defined $nsuri) {
4997            
4998  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#namespaceName' => undef, 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'set', 'http://www.w3.org/2001/04/infoset#prefix' => $given, '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#class' => 'Message::DOM::Element::ManakaiDOMAttr', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'prefix';  report Message::DOM::DOMCore::ManakaiDOMException -object => $self, '-type' => 'NAMESPACE_ERR', 'http://www.w3.org/2001/04/infoset#namespaceName' => undef, 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#on' => 'set', 'http://www.w3.org/2001/04/infoset#prefix' => $given, '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#class' => 'Message::DOM::Element::ManakaiDOMAttr', 'http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#attr' => 'prefix';
# Line 6416  report Message::DOM::DOMCore::ManakaiDOM Line 5064  report Message::DOM::DOMCore::ManakaiDOM
5064    
5065  ;  ;
5066  } # strict  } # strict
5067  my $v = defined $given ? \$given :  if (defined $given) {
5068  undef    $$self->{
5069  ;  'pfx'
5070    } = \$given;
5071    } else {
5072  {    CORE::delete $$self->{
5073    'pfx'
5074    };
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'pfx'} = $v;  
   
   
5075  }  }
5076    
 ;  
   
5077    
5078  }  }
5079  }  }
# Line 6619  report Message::DOM::DOMCore::ManakaiDOM Line 5257  report Message::DOM::DOMCore::ManakaiDOM
5257      if ($child_nt ==      if ($child_nt ==
5258  11  11
5259  ) {  ) {
5260                $$newChild->{
5261    'child'
5262  {  } = [];
   
   
 $newChild->{  
 'b'  
 }->{${$newChild->{  
 'id'  
 }}}  
     ->{'child'} = [];  
   
   
 }  
   
 ;  
5263      } else {      } else {
5264        my $v;        my $v = $$nc_parent->{
5265          'child'
5266    };
 {  
   
   
 $v = $nc_parent->{  
 'b'  
 }->{${$nc_parent->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 }  
   
 ;  
5267        RP: for my $i (0..$#$v) {        RP: for my $i (0..$#$v) {
5268          my $nodeid = $v->[$i];          if ($v->[$i] eq $new_child[0]) {
         if (  
 (${$new_child[0]->{'id'}} eq ${$nodeid})  
 ) {  
5269            splice @$v, $i, 1, ();            splice @$v, $i, 1, ();
5270            last RP;            last RP;
5271          }          }
# Line 6667  $v = $nc_parent->{ Line 5275  $v = $nc_parent->{
5275    
5276    ## -- Rewrite the |parentNode| properties    ## -- Rewrite the |parentNode| properties
5277    for my $nc (@new_child) {    for my $nc (@new_child) {
5278            $$nc->{
5279    'parent'
5280  {  } = $self;
5281        Scalar::Util::weaken ($$nc->{
5282    'parent'
5283  $nc->{  });
 'b'  
 }->{${$nc->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 }  
   
 ;  
5284    }    }
5285    
5286    my $children;    my $children = $$self->{
5287      'child'
5288    };
 {  
   
   
 $children = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 }  
   
 ;  
5289    
5290        
5291    
# Line 6711  $children = $self->{ Line 5293  $children = $self->{
5293    
5294    
5295  ## -- Adds to children list  ## -- Adds to children list
5296      push @$children, map {      push @$children, @new_child;
         
 $_->{'id'}  
   
     } @new_child;  
5297      $r = $newChild;      $r = $newChild;
5298        
5299    
# Line 7020  report Message::DOM::DOMCore::ManakaiDOM Line 5598  report Message::DOM::DOMCore::ManakaiDOM
5598      if ($child_nt ==      if ($child_nt ==
5599  11  11
5600  ) {  ) {
5601                $$newChild->{
5602    'child'
5603  {  } = [];
   
   
 $newChild->{  
 'b'  
 }->{${$newChild->{  
 'id'  
 }}}  
     ->{'child'} = [];  
   
   
 }  
   
 ;  
5604      } else {      } else {
5605        my $v;        my $v = $$nc_parent->{
5606          'child'
5607    };
 {  
   
   
 $v = $nc_parent->{  
 'b'  
 }->{${$nc_parent->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 }  
   
 ;  
5608        RP: for my $i (0..$#$v) {        RP: for my $i (0..$#$v) {
5609          my $nodeid = $v->[$i];          if ($v->[$i] eq $new_child[0]) {
         if (  
 (${$new_child[0]->{'id'}} eq ${$nodeid})  
 ) {  
5610            splice @$v, $i, 1, ();            splice @$v, $i, 1, ();
5611            last RP;            last RP;
5612          }          }
# Line 7068  $v = $nc_parent->{ Line 5616  $v = $nc_parent->{
5616    
5617    ## -- Rewrite the |parentNode| properties    ## -- Rewrite the |parentNode| properties
5618    for my $nc (@new_child) {    for my $nc (@new_child) {
5619            $$nc->{
5620    'parent'
5621  {  } = $self;
5622        Scalar::Util::weaken ($$nc->{
5623    'parent'
5624  $nc->{  });
 'b'  
 }->{${$nc->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 }  
   
 ;  
5625    }    }
5626    
5627    my $children;    my $children = $$self->{
5628      'child'
5629    };
 {  
   
   
 $children = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 }  
   
 ;  
5630    
5631        
5632    
# Line 7117  $children = $self->{ Line 5639  $children = $self->{
5639    
5640  ## -- Adds to children list  ## -- Adds to children list
5641      if ($index == -1) {      if ($index == -1) {
5642        push @$children, map {        push @$children, @new_child;
           
 $_->{'id'}  
   
       } @new_child;  
5643      } else {      } else {
5644        splice @$children, $index, 0, map {        splice @$children, $index, 0, @new_child;
           
 $_->{'id'}  
   
       } @new_child;  
5645      }      }
5646      $r = $newChild;      $r = $newChild;
5647        
# Line 7452  report Message::DOM::DOMCore::ManakaiDOM Line 5966  report Message::DOM::DOMCore::ManakaiDOM
5966      if ($child_nt ==      if ($child_nt ==
5967  11  11
5968  ) {  ) {
5969                $$newChild->{
5970    'child'
5971  {  } = [];
   
   
 $newChild->{  
 'b'  
 }->{${$newChild->{  
 'id'  
 }}}  
     ->{'child'} = [];  
   
   
 }  
   
 ;  
5972      } else {      } else {
5973        my $v;        my $v = $$nc_parent->{
5974          'child'
5975    };
 {  
   
   
 $v = $nc_parent->{  
 'b'  
 }->{${$nc_parent->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 }  
   
 ;  
5976        RP: for my $i (0..$#$v) {        RP: for my $i (0..$#$v) {
5977          my $nodeid = $v->[$i];          if ($v->[$i] eq $new_child[0]) {
         if (  
 (${$new_child[0]->{'id'}} eq ${$nodeid})  
 ) {  
5978            splice @$v, $i, 1, ();            splice @$v, $i, 1, ();
5979            last RP;            last RP;
5980          }          }
# Line 7500  $v = $nc_parent->{ Line 5984  $v = $nc_parent->{
5984    
5985    ## -- Rewrite the |parentNode| properties    ## -- Rewrite the |parentNode| properties
5986    for my $nc (@new_child) {    for my $nc (@new_child) {
5987            $$nc->{
5988    'parent'
5989  {  } = $self;
5990        Scalar::Util::weaken ($$nc->{
5991    'parent'
5992  $nc->{  });
 'b'  
 }->{${$nc->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 }  
   
 ;  
5993    }    }
5994    
5995    my $children;    my $children = $$self->{
5996      'child'
5997    };
 {  
   
   
 $children = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'child'};  
   
   
 }  
   
 ;  
5998    
5999        
6000    
# Line 7552  $children = $self->{ Line 6010  $children = $self->{
6010    
6011    
6012  ## -- Replaces the node  ## -- Replaces the node
6013      splice @$children, $index, 1, map {      splice @$children, $index, 1, @new_child;
6014              CORE::delete $$oldChild->{
6015  $_->{'id'}  'parent'
6016    };
     } @new_child;  
       
   
 {  
   
 CORE::delete  
 $oldChild->{  
 'b'  
 }->{${$oldChild->{  
 'id'  
 }}}  
                  ->{'parent'};  
   
   
 }  
   
 ;  
6017      $r = $oldChild;      $r = $oldChild;
6018        
6019    
# Line 7605  my $r = ''; Line 6046  my $r = '';
6046  {  {
6047    
6048  my  my
6049  $prefix;  $prefix = $$self->{
6050    'pfx'
6051    };
6052  {  my $lname = $$self->{
6053    'ln'
6054    };
 $prefix = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'pfx'};  
   
   
 }  
   
 ;  
 my $lname;  
   
   
 {  
   
   
 $lname = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'ln'};  
   
   
 }  
   
 ;  
6055  $r = defined $prefix ? $$prefix.':'.$$lname : $$lname;  $r = defined $prefix ? $$prefix.':'.$$lname : $$lname;
6056    
6057    
# Line 7655  my $r = ''; Line 6068  my $r = '';
6068  {  {
6069    
6070  my  my
6071  $prefix;  $prefix = $$self->{
6072    'pfx'
6073    };
6074  {  my $lname = $$self->{
6075    'ln'
6076    };
 $prefix = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'pfx'};  
   
   
 }  
   
 ;  
 my $lname;  
   
   
 {  
   
   
 $lname = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'ln'};  
   
   
 }  
   
 ;  
6077  $r = defined $prefix ? $$prefix.':'.$$lname : $$lname;  $r = defined $prefix ? $$prefix.':'.$$lname : $$lname;
6078    
6079    
# Line 7734  text_content Line 6119  text_content
6119  ;  ;
6120       }       }
6121     } # childNodes     } # childNodes
6122     my $vt;     my $vt = $$self->{
6123      'at'
6124    };
 {  
   
   
 $vt = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'at'};  
   
   
 }  
   
 ;  
6125     unless (not defined $vt or     unless (not defined $vt or
6126             $vt ==             $vt ==
6127  0 or  0 or
# Line 7821  report Message::DOM::DOMCore::ManakaiDOM Line 6192  report Message::DOM::DOMCore::ManakaiDOM
6192    
6193  ;  ;
6194    
6195  my @__old_children = @{$self->  for my $__old_child (@{${$self}->{
6196  child_nodes  'child'
6197    }}) {
6198      CORE::delete $$__old_child->{
6199    'parent'
6200  };  };
 for my $__old_child (@__old_children) {  
     
   
 {  
   
 CORE::delete  
 $__old_child->{  
 'b'  
 }->{${$__old_child->{  
 'id'  
 }}}  
                  ->{'parent'};  
   
   
 }  
   
 ;  
6201  }  }
6202    
6203  my @__new_children;  my @__new_children;
# Line 7848  if (defined $given and length $given) { Line 6205  if (defined $given and length $given) {
6205    my $__text = $self->owner_document->    my $__text = $self->owner_document->
6206  create_text_node  create_text_node
6207   ($given);   ($given);
6208    push @__new_children,    push @__new_children, $__text;
6209  $__text->{'id'}    $$__text->{
6210  ;  'parent'
6211      } = $self;
6212      Scalar::Util::weaken ($$__text->{
6213  {  'parent'
6214    });
   
 $__text->{  
 'b'  
 }->{${$__text->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 }  
   
 ;  
 }  
   
   
   
 {  
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'child'} = \@__new_children;  
   
   
6215  }  }
6216    
6217  ;  ${$self}->{
6218    'child'
6219    } = \@__new_children;
6220    
6221    
6222  }  }
# Line 8089  my $r; Line 6419  my $r;
6419  {  {
6420    
6421    
6422  {  $r = $$self->{
6423    'owner'
6424  my  };
 $__v = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
               ->{'owner'};  
 if (defined $__v) {  
     
   
 {  
   
   
 $r = ${$self->{'b'}->{${$__v}}->{  
 'cls'  
 }}->___create_node_ref ({  
     
 'id'  
  => $__v,  
     
 'b'  
  => $self->{'b'},  
 }, {  
   });  
 $self->{'b'}->{${$__v}}->{  
 'rc'  
 }++;  
   
   
 }  
   
 ;  
 }  
   
   
 }  
   
 ;  
6425    
6426    
6427  }  }
# Line 8144  my $r = 0; Line 6437  my $r = 0;
6437  {  {
6438    
6439    
6440  {  $r = $$self->{
6441    'specified'
6442    };
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'specified'};  
   
   
 }  
   
 ;  
6443  unless ($r) {  unless ($r) {
6444    my $oe;    unless (defined $$self->{
6445      'owner'
6446    }) {
 {  
   
   
 $oe = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'owner'};  
   
   
 }  
   
 ;  
   unless (defined $oe) {  
6447      $r =      $r =
6448  1  1
6449  ;  ;
# Line 8208  report Message::DOM::DOMCore::ManakaiDOM Line 6475  report Message::DOM::DOMCore::ManakaiDOM
6475    
6476  ;  ;
6477  unless ($given) {  unless ($given) {
6478    my $oe;    $given = 1 unless defined $$self->{
6479      'owner'
6480    };
 {  
   
   
 $oe = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'owner'};  
   
   
 }  
   
 ;  
   $given =  
 1 unless  
 defined $oe;  
 }  
   
   
 {  
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'specified'} = $given;  
   
   
6481  }  }
6482    $$self->{
6483  ;  'specified'
6484    } = $given;
6485    
6486    
6487  }  }
# Line 8286  text_content Line 6523  text_content
6523  ;  ;
6524       }       }
6525     } # childNodes     } # childNodes
6526     my $vt;     my $vt = $$self->{
6527      'at'
6528    };
 {  
   
   
 $vt = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'at'};  
   
   
 }  
   
 ;  
6529     unless (not defined $vt or     unless (not defined $vt or
6530             $vt ==             $vt ==
6531  0 or  0 or
# Line 8373  report Message::DOM::DOMCore::ManakaiDOM Line 6596  report Message::DOM::DOMCore::ManakaiDOM
6596    
6597  ;  ;
6598    
6599  my @__old_children = @{$self->  for my $__old_child (@{${$self}->{
6600  child_nodes  'child'
6601    }}) {
6602      CORE::delete $$__old_child->{
6603    'parent'
6604  };  };
 for my $__old_child (@__old_children) {  
     
   
 {  
   
 CORE::delete  
 $__old_child->{  
 'b'  
 }->{${$__old_child->{  
 'id'  
 }}}  
                  ->{'parent'};  
   
   
 }  
   
 ;  
6605  }  }
6606    
6607  my @__new_children;  my @__new_children;
# Line 8400  if (defined $given and length $given) { Line 6609  if (defined $given and length $given) {
6609    my $__text = $self->owner_document->    my $__text = $self->owner_document->
6610  create_text_node  create_text_node
6611   ($given);   ($given);
6612    push @__new_children,    push @__new_children, $__text;
6613  $__text->{'id'}    $$__text->{
6614  ;  'parent'
6615      } = $self;
6616      Scalar::Util::weaken ($$__text->{
6617  {  'parent'
6618    });
   
 $__text->{  
 'b'  
 }->{${$__text->{  
 'id'  
 }}}  
     ->{'parent'} = $self->{  
 'id'  
 };  
   
   
 }  
   
 ;  
 }  
   
   
   
 {  
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'child'} = \@__new_children;  
   
   
6619  }  }
6620    
6621  ;  ${$self}->{
6622    'child'
6623    } = \@__new_children;
6624    
6625    
6626  }  }
# Line 8456  my $r; Line 6638  my $r;
6638  {  {
6639    
6640  my  my
6641  $type;  $type = $$self->{
6642    'at'
6643    };
 {  
   
   
 $type = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'at'};  
   
   
 }  
   
 ;  
6644    
6645    
6646  {  {
# Line 8504  my $r = 0; Line 6672  my $r = 0;
6672  T:  T:
6673  {  {
6674    ## DTD Attribute Type    ## DTD Attribute Type
6675    my $type;    my $type = $$self->{
6676      'at'
6677    };
 {  
   
   
 $type = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'at'};  
   
   
 }  
   
 ;  
6678    if (defined $type and $type ==    if (defined $type and $type ==
6679  2  2
6680  ) {  ) {
# Line 8531  $type = $self->{ Line 6685  $type = $self->{
6685    }    }
6686    
6687    ## User-determined ID    ## User-determined ID
6688    my $udid;    my $udid = $$self->{
6689      'isudid'
6690    };
 {  
   
   
 $udid = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'isudid'};  
   
   
 }  
   
 ;  
6691    if ($udid) {    if ($udid) {
6692      $r =      $r =
6693  1  1
# Line 8602  report Message::DOM::DOMCore::ManakaiDOM Line 6742  report Message::DOM::DOMCore::ManakaiDOM
6742  }  }
6743    
6744  ;  ;
6745    $$self->{
6746    'isudid'
6747  {  } = $given;
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'isudid'} = $given;  
   
   
 }  
   
 ;  
6748    
6749    
6750  }  }
# Line 8630  my $r = 0; Line 6757  my $r = 0;
6757  {  {
6758    
6759    
6760  {  $r = $$self->{
6761    'at'
6762    };
 $r = $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
          ->{'at'};  
   
   
 }  
   
 ;  
6763  $r =  $r =
6764  0 unless  0 unless
6765  defined $r;  defined $r;
# Line 8672  report Message::DOM::DOMCore::ManakaiDOM Line 6788  report Message::DOM::DOMCore::ManakaiDOM
6788  }  }
6789    
6790  ;  ;
6791    $$self->{
6792    'at'
6793  {  } = $given;
   
   
 $self->{  
 'b'  
 }->{${$self->{  
 'id'  
 }}}  
     ->{'at'} = $given;  
   
   
 }  
   
 ;  
6794    
6795    
6796  }  }
# Line 8719  $Message::DOM::DOMFeature::ClassInfo->{q Line 6822  $Message::DOM::DOMFeature::ClassInfo->{q
6822  '1.1',  '1.1',
6823  '1'}};  '1'}};
6824  $Message::DOM::ClassPoint{q<Message::DOM::Element::ManakaiDOMAttr>} = 14.1;  $Message::DOM::ClassPoint{q<Message::DOM::Element::ManakaiDOMAttr>} = 14.1;
6825  $Message::Util::Grove::ClassProp{q<Message::DOM::Element::ManakaiDOMAttr>} = {'o0',  $Message::Util::Grove::ClassProp{q<Message::DOM::Element::ManakaiDOMAttr>} = {};
 ['owner'],  
 's1a',  
 ['child'],  
 'w0',  
 ['od']};  
6826  package Message::DOM::IFLatest::TypeInfo;  package Message::DOM::IFLatest::TypeInfo;
6827  our $VERSION = 20061203.0432;  our $VERSION = 20061229.0645;
6828  sub DERIVATION_RESTRICTION () {  sub DERIVATION_RESTRICTION () {
6829  1}  1}
6830  sub DERIVATION_EXTENSION () {  sub DERIVATION_EXTENSION () {
# Line 8736  sub DERIVATION_UNION () { Line 6834  sub DERIVATION_UNION () {
6834  sub DERIVATION_LIST () {  sub DERIVATION_LIST () {
6835  8}  8}
6836  package Message::DOM::Element::ManakaiDOMDTDTypeInfo;  package Message::DOM::Element::ManakaiDOMDTDTypeInfo;
6837  our $VERSION = 20061203.0432;  our $VERSION = 20061229.0645;
6838  push our @ISA, 'Message::DOM::IF::TypeInfo',  push our @ISA, 'Message::DOM::IF::TypeInfo',
6839  'Message::DOM::IFLatest::TypeInfo',  'Message::DOM::IFLatest::TypeInfo',
6840  'Message::DOM::IFLevel3::TypeInfo';  'Message::DOM::IFLevel3::TypeInfo';

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24