5993 |
if ($token->{tag_name} eq 'body') { |
if ($token->{tag_name} eq 'body') { |
5994 |
## has a |body| element in scope |
## has a |body| element in scope |
5995 |
my $i; |
my $i; |
5996 |
INSCOPE: for (reverse @{$self->{open_elements}}) { |
INSCOPE: { |
5997 |
if ($_->[1] eq 'body') { |
for (reverse @{$self->{open_elements}}) { |
5998 |
!!!cp ('t405'); |
if ($_->[1] eq 'body') { |
5999 |
$i = $_; |
!!!cp ('t405'); |
6000 |
last INSCOPE; |
$i = $_; |
6001 |
} elsif ({ |
last INSCOPE; |
6002 |
applet => 1, table => 1, caption => 1, td => 1, th => 1, |
} elsif ({ |
6003 |
button => 1, marquee => 1, object => 1, html => 1, |
applet => 1, table => 1, caption => 1, td => 1, th => 1, |
6004 |
}->{$_->[1]}) { |
button => 1, marquee => 1, object => 1, html => 1, |
6005 |
!!!cp ('t405.1'); |
}->{$_->[1]}) { |
6006 |
last INSCOPE; |
!!!cp ('t405.1'); |
6007 |
|
last; |
6008 |
|
} |
6009 |
} |
} |
6010 |
} # INSCOPE |
|
6011 |
unless (defined $i) { |
!!!parse-error (type => 'start tag not allowed', |
6012 |
!!!parse-error (type => 'unmatched end tag:'.$token->{tag_name}); |
value => $token->{tag_name}); |
6013 |
## NOTE: Ignore the token. |
## NOTE: Ignore the token. |
6014 |
!!!next-token; |
!!!next-token; |
6015 |
redo B; |
redo B; |
6016 |
} |
} # INSCOPE |
6017 |
|
|
6018 |
for (@{$self->{open_elements}}) { |
for (@{$self->{open_elements}}) { |
6019 |
unless ({ |
unless ({ |