--- test/html-webhacc/cc.cgi 2007/06/27 14:36:45 1.4 +++ test/html-webhacc/cc.cgi 2007/06/30 14:51:10 1.6 @@ -189,21 +189,90 @@ require Whatpm::ContentChecker; my $onerror = sub { my %opt = @_; - print STDOUT qq[
], - htescape get_node_path ($opt{node}), - "
\n
", htescape $opt{type}, "
\n"; + print STDOUT qq[
] . get_node_link ($opt{node}) . + "
\n
", htescape $opt{type}, "
\n"; }; + my $elements; if ($el) { - Whatpm::ContentChecker->check_element ($el, $onerror); + $elements = Whatpm::ContentChecker->check_element ($el, $onerror); } else { - Whatpm::ContentChecker->check_document ($doc, $onerror); + $elements = Whatpm::ContentChecker->check_document ($doc, $onerror); } print STDOUT qq[ ]; + + if (@{$elements->{table}}) { + require JSON; + + print STDOUT qq[ +
+

Tables

+ + + + +]; + + my $i = 0; + for my $table_el (@{$elements->{table}}) { + $i++; + print STDOUT qq[

] . + get_node_link ($table_el) . q[

]; + + my $table = Whatpm::HTMLTable->form_table ($table_el); + + for (@{$table->{column_group}}, @{$table->{column}}, $table->{caption}) { + next unless $_; + delete $_->{element}; + } + + for (@{$table->{row_group}}) { + next unless $_; + next unless $_->{element}; + $_->{type} = $_->{element}->manakai_local_name; + delete $_->{element}; + } + + for (@{$table->{cell}}) { + next unless $_; + for (@{$_}) { + next unless $_; + for (@$_) { + $_->{id} = refaddr $_->{element} if defined $_->{element}; + delete $_->{element}; + } + } + } + + print STDOUT '
]; + } + + print STDOUT qq[
]; + } + + if (keys %{$elements->{term}}) { + print STDOUT qq[ +
+

Terms

+ +
+]; + for my $term (sort {$a cmp $b} keys %{$elements->{term}}) { + print STDOUT qq[
@{[htescape $term]}
]; + for (@{$elements->{term}->{$term}}) { + print STDOUT qq[
].get_node_link ($_).qq[
]; + } + } + print STDOUT qq[
]; + } } ## TODO: Show result @@ -267,7 +336,9 @@ if ($node->has_child_nodes) { $r .= '
    '; - unshift @node, @{$child->child_nodes}, '
'; + unshift @node, @{$child->child_nodes}, ''; + } else { + $r .= ''; } } elsif ($nt == $child->TEXT_NODE) { $r .= qq'
  • ' . htescape ($child->data) . '
  • '; @@ -276,16 +347,16 @@ } elsif ($nt == $child->COMMENT_NODE) { $r .= qq'
  • <!--' . htescape ($child->data) . '-->
  • '; } elsif ($nt == $child->DOCUMENT_NODE) { - $r .= qq'
  • Document
  • '; + $r .= qq'
  • Document'; if ($child->has_child_nodes) { $r .= '
      '; - unshift @node, @{$child->child_nodes}, '
    '; + unshift @node, @{$child->child_nodes}, '
  • '; } } elsif ($nt == $child->DOCUMENT_TYPE_NODE) { - $r .= qq'
  • <!DOCTYPE>