249 |
mtext => FOREIGN_FLOW_CONTENT_EL, |
mtext => FOREIGN_FLOW_CONTENT_EL, |
250 |
}, |
}, |
251 |
$SVG_NS => { |
$SVG_NS => { |
252 |
foreignObject => FOREIGN_FLOW_CONTENT_EL, |
foreignObject => FOREIGN_FLOW_CONTENT_EL | MISC_SCOPING_EL, |
253 |
desc => FOREIGN_FLOW_CONTENT_EL, |
desc => FOREIGN_FLOW_CONTENT_EL, |
254 |
title => FOREIGN_FLOW_CONTENT_EL, |
title => FOREIGN_FLOW_CONTENT_EL, |
255 |
}, |
}, |
4518 |
pop @{$self->{open_elements}} |
pop @{$self->{open_elements}} |
4519 |
while $self->{open_elements}->[-1]->[1] & FOREIGN_EL; |
while $self->{open_elements}->[-1]->[1] & FOREIGN_EL; |
4520 |
|
|
4521 |
|
## NOTE: |<span><svg>| ... two parse errors, |<svg>| ... a parse error. |
4522 |
|
|
4523 |
$self->{insertion_mode} &= ~ IN_FOREIGN_CONTENT_IM; |
$self->{insertion_mode} &= ~ IN_FOREIGN_CONTENT_IM; |
4524 |
## Reprocess. |
## Reprocess. |
4525 |
next B; |
next B; |
7553 |
} |
} |
7554 |
} |
} |
7555 |
|
|
7556 |
!!!parse-error (type => 'start tag not allowed', |
## NOTE: |<marquee></body>|, |<svg><foreignobject></body>| |
7557 |
|
|
7558 |
|
!!!parse-error (type => 'unmatched end tag', |
7559 |
text => $token->{tag_name}, token => $token); |
text => $token->{tag_name}, token => $token); |
7560 |
## NOTE: Ignore the token. |
## NOTE: Ignore the token. |
7561 |
!!!next-token; |
!!!next-token; |
7867 |
|
|
7868 |
## Step 2 |
## Step 2 |
7869 |
S2: { |
S2: { |
7870 |
if ($node->[0]->manakai_local_name eq $token->{tag_name}) { |
my $node_tag_name = $node->[0]->manakai_local_name; |
7871 |
|
$node_tag_name =~ tr/A-Z/a-z/; # for SVG camelCase tag names |
7872 |
|
if ($node_tag_name eq $token->{tag_name}) { |
7873 |
## Step 1 |
## Step 1 |
7874 |
## generate implied end tags |
## generate implied end tags |
7875 |
while ($self->{open_elements}->[-1]->[1] & END_TAG_OPTIONAL_EL) { |
while ($self->{open_elements}->[-1]->[1] & END_TAG_OPTIONAL_EL) { |
7882 |
} |
} |
7883 |
|
|
7884 |
## Step 2 |
## Step 2 |
7885 |
if ($self->{open_elements}->[-1]->[0]->manakai_local_name |
my $current_tag_name |
7886 |
ne $token->{tag_name}) { |
= $self->{open_elements}->[-1]->[0]->manakai_local_name; |
7887 |
|
$current_tag_name =~ tr/A-Z/a-z/; |
7888 |
|
if ($current_tag_name ne $token->{tag_name}) { |
7889 |
!!!cp ('t431'); |
!!!cp ('t431'); |
7890 |
## NOTE: <x><y></x> |
## NOTE: <x><y></x> |
7891 |
!!!parse-error (type => 'not closed', |
!!!parse-error (type => 'not closed', |