| 384 |
my $content_def = $item->{transparent} |
my $content_def = $item->{transparent} |
| 385 |
? $item->{parent_def} || $eldef : $eldef; |
? $item->{parent_def} || $eldef : $eldef; |
| 386 |
my $content_state = $item->{transparent} |
my $content_state = $item->{transparent} |
| 387 |
? $item->{parent_state} || $element_state : $element_state; |
? $item->{parent_def} |
| 388 |
|
? $item->{parent_state} || $element_state : $element_state |
| 389 |
|
: $element_state; |
| 390 |
|
|
| 391 |
my @new_item; |
my @new_item; |
| 392 |
push @new_item, [$eldef->{check_start}, $self, $item, $element_state]; |
push @new_item, [$eldef->{check_start}, $self, $item, $element_state]; |
| 408 |
$self, $item, $child, |
$self, $item, $child, |
| 409 |
$child_nsuri, $child_ln, 1, $content_state]; |
$child_nsuri, $child_ln, 1, $content_state]; |
| 410 |
push @new_item, {type => 'element', node => $child, |
push @new_item, {type => 'element', node => $child, |
| 411 |
parent_state => $element_state, |
parent_state => $content_state, |
| 412 |
parent_def => $content_def, |
parent_def => $content_def, |
| 413 |
transparent => 1}; |
transparent => 1}; |
| 414 |
} else { |
} else { |
| 415 |
if ($el_nsuri eq $HTML_NS) { ## $HTMLSemiTransparentElements |
if ($item->{parent_def} and # has parent |
| 416 |
|
$el_nsuri eq $HTML_NS) { ## $HTMLSemiTransparentElements |
| 417 |
if ($el_ln eq 'object') { |
if ($el_ln eq 'object') { |
| 418 |
if ($self->{plus_elements}->{$child_nsuri}->{$child_ln}) { |
if ($self->{plus_elements}->{$child_nsuri}->{$child_ln}) { |
| 419 |
# |
# |
| 442 |
->{$child_nsuri}->{$child_ln}, |
->{$child_nsuri}->{$child_ln}, |
| 443 |
$content_state]; |
$content_state]; |
| 444 |
push @new_item, {type => 'element', node => $child, |
push @new_item, {type => 'element', node => $child, |
| 445 |
parent_def => $eldef, |
parent_def => $content_def, |
| 446 |
parent_state => $element_state}; |
parent_state => $content_state}; |
| 447 |
} |
} |
| 448 |
|
|
| 449 |
if ($HTMLEmbeddedContent->{$child_nsuri}->{$child_ln}) { |
if ($HTMLEmbeddedContent->{$child_nsuri}->{$child_ln}) { |
| 455 |
push @new_item, [$content_def->{check_child_text}, |
push @new_item, [$content_def->{check_child_text}, |
| 456 |
$self, $item, $child, $has_significant, |
$self, $item, $child, $has_significant, |
| 457 |
$content_state]; |
$content_state]; |
| 458 |
$element_state->{has_significant} ||= $has_significant; |
$content_state->{has_significant} ||= $has_significant; |
| 459 |
if ($has_significant and |
if ($has_significant and |
| 460 |
$HTMLSemiTransparentElements->{$el_nsuri}->{$el_ln}) { |
$HTMLSemiTransparentElements->{$el_nsuri}->{$el_ln}) { |
| 461 |
$content_def = $item->{parent_def} || $content_def; |
$content_def = $item->{parent_def} || $content_def; |