print qq|<pre># $name\n|, YAML::Dump( @_ ), qq|</pre>|;
}
-my $path = $ENV{PATH_INFO};
+my $path = $ENV{PATH_INFO} || 'ecas';
my $dir = $0;
$dir =~ s{/[^/]+.cgi}{};
my $database = (keys %{ $config->{databases} })[0];
die "$database not in $path" unless $path =~ m{\Q$database\E};
+my $html_markup = "$dir/$path/html.pm";
+my $html_markup_skip;
+if ( -e $html_markup ) {
+ require $html_markup;
+ $html_markup = $database . '::html';
+} else {
+ undef $html_markup;
+}
+
my $estraier = YAML::LoadFile( "$dir/../var/estraier/$database.yaml" );
my $db = $config->{databases}->{$database};
foreach my $i ( 1 .. $nres->doc_num ) {
my $rdoc = $nres->get_doc( $i - 1 );
print qq|<li>|;
- print qq|<div><label>$_</label><span class=$_>|, $rdoc->attr( $_ ), qq|</span></div>|
- foreach @attr;
+ foreach my $attr ( @attr ) {
+ my $v = $rdoc->attr( $attr );
+ if ( defined $v && $html_markup && ! $html_markup_skip->{$attr} ) {
+ eval "\$v = $html_markup->$attr( \$v );";
+ if ( $@ ) {
+ warn "disable html markup for $attr: $@";
+ $html_markup_skip->{$attr} = $@;
+ }
+ }
+ next unless defined $v;
+ print qq|<div><label>$attr</label><span class=$attr>$v</span></div>\n|;
+ }
print qq|</li>\n|;
}
print qq|</ol>|;
dump_yaml( 'estraier', $estraier );
dump_yaml( 'db', $db );
+dump_yaml( 'html_markup_skip', $html_markup_skip );
print end_html;