--- test/html-webhacc/cc.cgi 2007/07/17 13:52:54 1.13
+++ test/html-webhacc/cc.cgi 2007/07/21 04:58:17 1.15
@@ -31,13 +31,11 @@
}
binmode STDOUT, ':utf8';
+ $| = 1;
require Message::DOM::DOMImplementation;
my $dom = Message::DOM::DOMImplementation->new;
- my $input = get_input_document ($http, $dom);
- my $inner_html_element = $http->parameter ('e');
-
load_text_catalog ('en'); ## TODO: conneg
my @nav;
@@ -52,7 +50,13 @@
+];
+
+ $| = 0;
+ my $input = get_input_document ($http, $dom);
+ my $inner_html_element = $http->parameter ('e');
+ print qq[
- Request URI
@@ -190,7 +194,7 @@
require Whatpm::ContentChecker;
my $onerror = sub {
my %opt = @_;
- my ($type, $cls, $msg) = get_text ($opt{type}, $opt{level});
+ my ($type, $cls, $msg) = get_text ($opt{type}, $opt{level}, $opt{node});
$type =~ tr/ /-/;
$type =~ s/\|/%7C/g;
$msg .= qq[ [Description]];
@@ -212,6 +216,7 @@
if (@{$elements->{table}}) {
require JSON;
+ push @nav, ['#tables' => 'Tables'];
print STDOUT qq[
Tables
@@ -266,6 +271,7 @@
}
if (keys %{$elements->{id}}) {
+ push @nav, ['#identifiers' => 'IDs'];
print STDOUT qq[
Identifiers
@@ -273,7 +279,7 @@
];
for my $id (sort {$a cmp $b} keys %{$elements->{id}}) {
- print STDOUT qq[- @{[htescape $id]}
];
+ print STDOUT qq[@{[htescape $id]}
];
for (@{$elements->{id}->{$id}}) {
print STDOUT qq[- ].get_node_link ($_).qq[
];
}
@@ -282,6 +288,7 @@
}
if (keys %{$elements->{term}}) {
+ push @nav, ['#terms' => 'Terms'];
print STDOUT qq[
Terms
@@ -296,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
@@ -510,7 +534,7 @@
} # load_text_catalog
sub get_text ($) {
- my ($type, $level) = @_;
+ my ($type, $level, $node) = @_;
$type = $level . ':' . $type if defined $level;
my @arg;
{
@@ -519,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;
@@ -692,4 +723,4 @@
=cut
-## $Date: 2007/07/17 13:52:54 $
+## $Date: 2007/07/21 04:58:17 $