| 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>. |
| 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 (); |
| 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', |
| 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 |
|
|
| 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 |
} |
} |
| 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 |
} |
} |
| 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 |
|
|
| 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 |
} |
} |
| 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 |
| 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', |
| 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; |
| 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 |
} |
} |
| 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'; |
| 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 |
} |
} |
| 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 |
} |
} |
| 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 |
|
|
| 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 |
|
|
| 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 |
} |
} |
| 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 |
|
|
| 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 |
|
|
| 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 |
} |
} |
| 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 |
|
|
| 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 |
|
|
| 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 |
} |
} |
| 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 |
|
|
| 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 |
|
|
| 2478 |
{ |
{ |
| 2479 |
|
|
| 2480 |
|
|
| 2481 |
{ |
$r = $$self->{ |
| 2482 |
|
'buri' |
| 2483 |
|
}; |
|
$r = $self->{ |
|
|
'b' |
|
|
}->{${$self->{ |
|
|
'id' |
|
|
}}} |
|
|
->{'buri'}; |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
; |
|
| 2484 |
unless (defined $r) { |
unless (defined $r) { |
| 2485 |
|
|
| 2486 |
|
|
| 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 |
|
|
| 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) { |
| 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 |
|
|
| 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 |
|
|
| 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 |
|
|
| 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) { |
| 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 |
|
|
| 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 |
|
|
| 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 |
|
|
| 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) { |
| 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 |
|
|
| 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 |
|
|
| 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 |
|
|
| 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) { |
| 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 |
|
|
| 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 |
|
|
| 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 |
|
|
| 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 |
|
|
| 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 |
| 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 |
( |
( |
| 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 |
} |
} |
| 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 |
| 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 |
( |
( |
| 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 |
} |
} |
| 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 |
|
|
| 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) { |
| 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-> |
| 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 |
| 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 |
|
|
| 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 |
|
|
| 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-> |
| 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 |
| 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 |
} |
} |
| 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 |
| 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 |
| 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 |
|
|
| 4685 |
{ |
{ |
| 4686 |
|
|
| 4687 |
|
|
| 4688 |
{ |
$r = $$self->{ |
| 4689 |
|
'buri' |
| 4690 |
|
}; |
|
$r = $self->{ |
|
|
'b' |
|
|
}->{${$self->{ |
|
|
'id' |
|
|
}}} |
|
|
->{'buri'}; |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
; |
|
| 4691 |
|
|
| 4692 |
|
|
| 4693 |
} |
} |
| 4713 |
} |
} |
| 4714 |
|
|
| 4715 |
; |
; |
| 4716 |
|
$$self->{ |
| 4717 |
|
'buri' |
| 4718 |
{ |
} = $given; |
|
|
|
|
|
|
|
$self->{ |
|
|
'b' |
|
|
}->{${$self->{ |
|
|
'id' |
|
|
}}} |
|
|
->{'buri'} = $given; |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
; |
|
| 4719 |
|
|
| 4720 |
|
|
| 4721 |
} |
} |
| 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 |
|
|
| 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', |
| 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; |
| 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 |
; |
; |
| 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'; |
| 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 |
} |
} |
| 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 |
} |
} |
| 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 |
|
|
| 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 |
|
|
| 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 |
} |
} |
| 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 |
|
|
| 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 |
|
|
| 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 |
} |
} |
| 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 |
|
|
| 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 |
|
|
| 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 |
|
|
| 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 |
|
|
| 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 |
| 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; |
| 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 |
} |
} |
| 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 |
} |
} |
| 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 |
; |
; |
| 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 |
} |
} |
| 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 |
| 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; |
| 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 |
} |
} |
| 6638 |
{ |
{ |
| 6639 |
|
|
| 6640 |
my |
my |
| 6641 |
$type; |
$type = $$self->{ |
| 6642 |
|
'at' |
| 6643 |
|
}; |
|
{ |
|
|
|
|
|
|
|
|
$type = $self->{ |
|
|
'b' |
|
|
}->{${$self->{ |
|
|
'id' |
|
|
}}} |
|
|
->{'at'}; |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
; |
|
| 6644 |
|
|
| 6645 |
|
|
| 6646 |
{ |
{ |
| 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 |
) { |
) { |
| 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 |
| 6742 |
} |
} |
| 6743 |
|
|
| 6744 |
; |
; |
| 6745 |
|
$$self->{ |
| 6746 |
|
'isudid' |
| 6747 |
{ |
} = $given; |
|
|
|
|
|
|
|
$self->{ |
|
|
'b' |
|
|
}->{${$self->{ |
|
|
'id' |
|
|
}}} |
|
|
->{'isudid'} = $given; |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
; |
|
| 6748 |
|
|
| 6749 |
|
|
| 6750 |
} |
} |
| 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; |
| 6788 |
} |
} |
| 6789 |
|
|
| 6790 |
; |
; |
| 6791 |
|
$$self->{ |
| 6792 |
|
'at' |
| 6793 |
{ |
} = $given; |
|
|
|
|
|
|
|
$self->{ |
|
|
'b' |
|
|
}->{${$self->{ |
|
|
'id' |
|
|
}}} |
|
|
->{'at'} = $given; |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
; |
|
| 6794 |
|
|
| 6795 |
|
|
| 6796 |
} |
} |
| 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 () { |
| 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'; |