Tables
@@ -223,7 +233,9 @@
$i++;
print STDOUT qq[
] .
get_node_link ($table_el) . q[
];
-
+
+ ## TODO: Make |ContentChecker| return |form_table| result
+ ## so that this script don't have to run the algorithm twice.
my $table = Whatpm::HTMLTable->form_table ($table_el);
for (@{$table->{column_group}}, @{$table->{column}}, $table->{caption}) {
@@ -258,7 +270,25 @@
print STDOUT qq[];
}
+ if (keys %{$elements->{id}}) {
+ push @nav, ['#identifiers' => 'IDs'];
+ print STDOUT qq[
+
+
Identifiers
+
+
+];
+ for my $id (sort {$a cmp $b} keys %{$elements->{id}}) {
+ print STDOUT qq[@{[htescape $id]}
];
+ for (@{$elements->{id}->{$id}}) {
+ print STDOUT qq[- ].get_node_link ($_).qq[
];
+ }
+ }
+ print STDOUT qq[
];
+ }
+
if (keys %{$elements->{term}}) {
+ push @nav, ['#terms' => 'Terms'];
print STDOUT qq[
Terms
@@ -273,6 +303,23 @@
}
print STDOUT qq[];
}
+
+ if (keys %{$elements->{class}}) {
+ push @nav, ['#classes' => 'Classes'];
+ print STDOUT qq[
+
+
Classes
+
+
+];
+ for my $class (sort {$a cmp $b} keys %{$elements->{class}}) {
+ print STDOUT qq[@{[htescape $class]}
];
+ for (@{$elements->{class}->{$class}}) {
+ print STDOUT qq[- ].get_node_link ($_).qq[
];
+ }
+ }
+ print STDOUT qq[
];
+ }
}
## TODO: Show result
@@ -487,7 +534,7 @@
} # load_text_catalog
sub get_text ($) {
- my ($type, $level) = @_;
+ my ($type, $level, $node) = @_;
$type = $level . ':' . $type if defined $level;
my @arg;
{
@@ -496,6 +543,13 @@
$msg =~ s{
\$([0-9]+)}{
defined $arg[$1] ? htescape ($arg[$1]) : '(undef)';
}ge;
+ $msg =~ s{
{\@([A-Za-z0-9:_.-]+)}}{
+ UNIVERSAL::can ($node, 'get_attribute_ns')
+ ? htescape ($node->get_attribute_ns (undef, $1)) : ''
+ }ge;
+ $msg =~ s{
{\@}}{
+ UNIVERSAL::can ($node, 'value') ? htescape ($node->value) : ''
+ }ge;
return ($type, $Msg->{$type}->[0], $msg);
} elsif ($type =~ s/:([^:]*)$//) {
unshift @arg, $1;
@@ -669,4 +723,4 @@
=cut
-## $Date: 2007/07/16 10:55:11 $
+## $Date: 2007/07/21 04:58:17 $