--- trunk2/all2all.pl 2004/09/11 22:32:06 424
+++ trunk2/all2all.pl 2004/09/11 23:32:41 425
@@ -56,7 +56,7 @@
$webpac->open_import_xml(type => 'isis_hidra_ths');
-if(0) { # XXX
+if(1) { # XXX
while (my $rec = $webpac->fetch_rec) {
@@ -202,9 +202,18 @@
lookup_v900 => sub { shift },
lookup_term => sub { shift @{$l->{"d:".$_[0]}} },
lookup_mfn => sub { shift @{$l->{"900_mfn:".$_[0]}} },
+ have_children => sub { $l->{"a:".$_[2].":".$_[1]} },
+ child_code => sub { return "a:".$_[2].":".$_[1] },
+ style => 'display: none',
+ },{
+ # 3 uži pojam
+ code_arr => sub { @{$l->{$_[0]}} },
+ filter_code => sub { shift },
+ lookup_v900 => sub { shift },
+ lookup_term => sub { shift @{$l->{"d:".$_[1]}} },
+ lookup_mfn => sub { shift @{$l->{"900_mfn:".$_[1]}} },
have_children => sub { 0 },
child_code => sub { 0 },
-
});
unroll(0,'');
@@ -236,11 +245,24 @@
$log->debug("$code -> $v900 : $term [$mfn]");
- print HTML " " x $level .
- qq{
$term »\n} if (-e "out/thes/$mfn.html");
+
+ my $have_children = $tree[$level]->{'have_children'}->($code,$v900,$start_code);
+
+ my ($link_start,$link_end) = ('','');
+
+ ($link_start,$link_end) = (qq{},qq{}) if ($have_children);
- unless ($tree[$level]->{'have_children'}->($code,$v900)) {
- $log->warn("can't find children of $code at level $level");
+ my $mfn_link = "thes/$mfn.html";
+ if (-e "out/$mfn_link") {
+ print HTML " " x $level .
+ qq{${link_start}${term}${link_end}}.
+ qq{ »\n};
+ } else {
+ $log->warn("file 'out/$mfn_link' doesn't exist, skipping");
+ }
+
+ unless ($have_children) {
+ $log->warn("doesn't have_children($code,$v900,$start_code)");
next;
}
@@ -249,7 +271,7 @@
($tree[$level]->{'style'} ? ' style="'.$tree[$level]->{'style'}.'"' : '').
qq{>\n};
- unroll($level+1, $tree[$level]->{'child_code'}->($code,$v900));
+ unroll($level+1, $tree[$level]->{'child_code'}->($code,$v900,$start_code));
print HTML " " x $level . qq{\n};
@@ -263,6 +285,8 @@