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; |