# fill arrays
my @loop_data =();
my $tag;
-for ($tag=0 ; $tag<=9 ; $tag++) {
-# marc array (tags and subfields)
-# loop each field having tag = $tag."XX"
- my @fields = $record->field($tag."XX");
- my @loop_data =();
+# loop through each tab 0 through 9
+for (my $tabloop = 0; $tabloop<=10;$tabloop++) {
+# loop through each tag
+ my @fields = $record->fields();
+ my @loop_data =();
foreach my $field (@fields) {
my @subf=$field->subfields;
my $previous_tag = '';
my @subfields_data;
# loop through each subfield
for my $i (0..$#subf) {
-# if we not exactly the same tag (XX can varry !), loop for "tag tittle".
- if ($previous_tag ne $field->tag()) {
- my %tag_data;
- $tag_data{tag}=$field->tag().' '. $tagslib->{$field->tag()}->{lib};
- $tag_data{subfield} = \@subfields_data;
- push (@loop_data, \%tag_data);
- $previous_tag = $field->tag();
- }
$previous_tag = $field->tag();
+ next if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{tab} ne $tabloop);
my %subfield_data;
$subfield_data{marc_lib}=$tagslib->{$field->tag()}->{$subf[$i][0]}->{lib};
$subfield_data{marc_value}=$subf[$i][1];
$subfield_data{marc_tag}=$field->tag().$subf[$i][0];
push(@subfields_data, \%subfield_data);
}
+ if ($#subfields_data>=0) {
+ my %tag_data;
+ $tag_data{tag}=$field->tag().' '. $tagslib->{$field->tag()}->{lib};
+ $tag_data{subfield} = \@subfields_data;
+ push (@loop_data, \%tag_data);
+ }
+ }
+ $template->param($tabloop."XX" =>\@loop_data);
+}
+# now, build item tab !
+# the main difference is that datas are in lines and not in columns : thus, we build the <th> first, then the values...
+# loop through each tag
+# warning : we may have differents number of columns in each row. Thus, we first build a hash, complete it if necessary
+# then construct template.
+my @fields = $record->fields();
+my %witness; #---- stores the list of subfields used at least once, with the "meaning" of the code
+my @big_array;
+warn "loop 1";
+foreach my $field (@fields) {
+ my @subf=$field->subfields;
+ my %this_row;
+# loop through each subfield
+ for my $i (0..$#subf) {
+ next if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{tab} ne 10);
+ $witness{$subf[$i][0]} = $tagslib->{$field->tag()}->{$subf[$i][0]}->{lib};
+ $this_row{$subf[$i][0]} =$subf[$i][1];
+ }
+ if (%this_row) {
+ push(@big_array, \%this_row);
}
- $template->param($tag."XX" =>\@loop_data);
+}
+#fill big_row with missing datas
+#warn "loop 2";
+foreach my $subfield_code (keys(%witness)) {
+ for (my $i=0;$i<=$#big_array;$i++) {
+ $big_array[$i]{$subfield_code}=" " unless ($big_array[$i]{$subfield_code});
+# warn "filled : ".$big_array[$i]{$subfield_code};
+ }
+}
+# now, construct template !
+#warn "loop 3";
+my @item_value_loop;
+my @header_value_loop;
+for (my $i=0;$i<=$#big_array; $i++) {
+ my $items_data;
+ foreach my $subfield_code (keys(%witness)) {
+ $items_data .="<td>".$big_array[$i]{$subfield_code}."</td>";
+ }
+# warn $items_data;
+ my %row_data;
+ $row_data{item_value} = $items_data;
+ push(@item_value_loop,\%row_data);
+}
+foreach my $subfield_code (keys(%witness)) {
+ my %header_value;
+ $header_value{header_value} = $witness{$subfield_code};
+ warn "$subfield_code => ".$witness{$subfield_code};
+ push(@header_value_loop, \%header_value);
}
-# fill template with arrays
-$template->param(biblionumber => $biblionumber);
-#$template->param(marc =>\@loop_data);
-$template->param(bibid => $bibid);
+$template->param(item_loop => \@item_value_loop,
+ item_header_loop => \@header_value_loop,
+ biblionumber => $biblionumber,
+ bibid => $bibid);
print "Content-Type: text/html\n\n", $template->output;
<table width=100% cellspacing=0 cellpadding=5 border=1>
<tr>
- <td bgcolor="#cccc99" background="/images/background-mem.gif" colspan=2><b>MARC biblio : <TMPL_VAR name="bibid"></b></td>
+ <th colspan=2>MARC biblio : <TMPL_VAR name="bibid"></th>
</tr>
<tr>
<td colspan=2>
<td width=9% align="center"><a href="javascript:active(7)"><div id="link7">7xx</div></a></td>
<td width=9% align="center"><a href="javascript:active(8)"><div id="link8">8xx</div></a></td>
<td width=9% align="center"><a href="javascript:active(9)"><div id="link9">9xx</div></a></td>
- <td width=10% align="center"><a href="javascript:active(10)"><div id="linkitem">Item</div></a></td>
+ <td width=10% align="center"><a href="javascript:active(10)"><div id="link10">Item</div></a></td>
</tr>
</table>
</td>
<DIV name="0XX" id="0XX" style="position:absolute;left:100px;top:150px;visibility:visible">
<table width=100% border=0>
<TMPL_LOOP name="0XX">
- <tr colspan=2><td><b><tmpl_var name="tag"></td></tr>
+ <tr><td colspan=3><b><tmpl_var name="tag"></td></tr>
<TMPL_LOOP name="subfield">
<tr>
- <td width="60%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
- <td width="40%"><TMPL_VAR name="marc_value"></a>
+ <td width="10%"> </td>
+ <td width="50%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
+ <td width="40%"><TMPL_VAR name="marc_value"></td>
</tr>
</tmpl_loop>
</tmpl_loop>
<DIV name="1XX" id="1XX" style="position:absolute;left:100px;top:150px;visibility:hidden">
<table width=100% border=0>
<TMPL_LOOP name="1XX">
- <tr colspan=2><td><b><tmpl_var name="tag"></td></tr>
+ <tr><td colspan=3><b><tmpl_var name="tag"></td></tr>
<TMPL_LOOP name="subfield">
<tr>
- <td width="60%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
- <td width="40%"><TMPL_VAR name="marc_value"></a>
+ <td width="10%"> </td>
+ <td width="50%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
+ <td width="40%"><TMPL_VAR name="marc_value"></td>
</tr>
</TMPL_LOOP>
</TMPL_LOOP>
<DIV name="2XX" id="2XX" style="position:absolute;left:100px;top:150px;visibility:hidden">
<table width=100% border=0>
<TMPL_LOOP name="2XX">
- <tr colspan=2><td><b><tmpl_var name="tag"></td></tr>
+ <tr><td colspan=3><b><tmpl_var name="tag"></td></tr>
<TMPL_LOOP name="subfield">
<tr>
- <td width="60%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
- <td width="40%"><TMPL_VAR name="marc_value"></a>
+ <td width="10%"> </td>
+ <td width="50%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
+ <td width="40%"><TMPL_VAR name="marc_value"></td>
</tr>
</TMPL_LOOP>
</TMPL_LOOP>
<DIV name="3XX" id="3XX" style="position:absolute;left:100px;top:150px;visibility:hidden">
<table width=100% border=0>
<TMPL_LOOP name="3XX">
- <tr colspan=2><td><b><tmpl_var name="tag"></td></tr>
+ <tr><td colspan=3><b><tmpl_var name="tag"></td></tr>
<TMPL_LOOP name="subfield">
<tr>
- <td width="60%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
- <td width="40%"><TMPL_VAR name="marc_value"></a>
+ <td width="10%"> </td>
+ <td width="50%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
+ <td width="40%"><TMPL_VAR name="marc_value"></td>
</tr>
</TMPL_LOOP>
</TMPL_LOOP>
<DIV name="4XX" id="4XX" style="position:absolute;left:100px;top:150px;visibility:hidden">
<table width=100% border=0>
<TMPL_LOOP name="4XX">
- <tr colspan=2><td><b><tmpl_var name="tag"></td></tr>
+ <tr><td colspan=3><b><tmpl_var name="tag"></td></tr>
<TMPL_LOOP name="subfield">
<tr>
- <td width="60%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
- <td width="40%"><TMPL_VAR name="marc_value"></a>
+ <td width="10%"> </td>
+ <td width="50%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
+ <td width="40%"><TMPL_VAR name="marc_value"></td>
</tr>
</TMPL_LOOP>
</TMPL_LOOP>
<DIV name="5XX" id="5XX" style="position:absolute;left:100px;top:150px;visibility:hidden">
<table width=100% border=0>
<TMPL_LOOP name="5XX">
- <tr colspan=2><td><b><tmpl_var name="tag"></td></tr>
+ <tr><td colspan=3><b><tmpl_var name="tag"></td></tr>
<TMPL_LOOP name="subfield">
<tr>
- <td width="60%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
- <td width="40%"><TMPL_VAR name="marc_value"></a>
+ <td width="10%"> </td>
+ <td width="50%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
+ <td width="40%"><TMPL_VAR name="marc_value"></td>
</tr>
</TMPL_LOOP>
</TMPL_LOOP>
<DIV name="6XX" id="6XX" style="position:absolute;left:100px;top:150px;visibility:hidden">
<table width=90% border=0>
<TMPL_LOOP name="6XX">
- <tr colspan=2><td><b><tmpl_var name="tag"></td></tr>
+ <tr><td colspan=3><b><tmpl_var name="tag"></td></tr>
<TMPL_LOOP name="subfield">
<tr>
- <td width="60%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
- <td width="40%"><TMPL_VAR name="marc_value"></a>
+ <td width=10%> </td>
+ <td width="50%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
+ <td width="40%"><TMPL_VAR name="marc_value"></td>
</tr>
</TMPL_LOOP>
</TMPL_LOOP>
<DIV name="7XX" id="7XX" style="position:absolute;left:100px;top:150px;visibility:hidden">
<table width=100% border=0>
<TMPL_LOOP name="7XX">
- <tr colspan=2><td><b><tmpl_var name="tag"></td></tr>
+ <tr><td colspan=3><b><tmpl_var name="tag"></td></tr>
<TMPL_LOOP name="subfield">
<tr>
- <td width="60%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
- <td width="40%"><TMPL_VAR name="marc_value"></a>
+ <td width=10%> </td>
+ <td width="50%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
+ <td width="40%"><TMPL_VAR name="marc_value"></td>
</tr>
</TMPL_LOOP>
</TMPL_LOOP>
<DIV name="8XX" id="8XX" style="position:absolute;left:100px;top:150px;visibility:hidden">
<table width=100% border=0>
<TMPL_LOOP name="8XX">
- <tr colspan=2><td><b><tmpl_var name="tag"></td></tr>
+ <tr><td colspan=3><b><tmpl_var name="tag"></td></tr>
<TMPL_LOOP name="subfield">
<tr>
- <td width="60%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
- <td width="40%"><TMPL_VAR name="marc_value"></a>
+ <td width=10%> </td>
+ <td width="50%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
+ <td width="40%"><TMPL_VAR name="marc_value"></td>
</tr>
</TMPL_LOOP>
</TMPL_LOOP>
</table>
</DIV>
+
<DIV name="9XX" id="9XX" style="position:absolute;left:100px;top:150px;visibility:hidden">
<table width=90% border=0>
<TMPL_LOOP name="9XX">
- <tr colspan=2><td><b><tmpl_var name="tag"></td></tr>
+ <tr><td colspan=3><b><tmpl_var name="tag"></td></tr>
<TMPL_LOOP name="subfield">
<tr>
- <td width="60%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
- <td width="40%"><TMPL_VAR name="marc_value"></a>
+ <td width=10%> </td>
+ <td width="50%"><TMPL_VAR name="marc_tag"> <TMPL_VAR name="marc_lib"></td>
+ <td width="40%"><TMPL_VAR name="marc_value"></td>
</tr>
</TMPL_LOOP>
</TMPL_LOOP>
</table>
</DIV>
+ <DIV name="10XX" id="10XX" style="position:absolute;left:100px;top:150px;visibility:hidden">
+ <table width=90% border=1>
+ <tr>
+ <TMPL_LOOP name="item_header_loop"><th><tmpl_var name="header_value"></th></TMPL_LOOP>
+ </tr>
+ <TMPL_LOOP name="item_loop">
+ <tr>
+ <TMPL_VAR name="item_value">
+ </tr>
+ </TMPL_LOOP>
+ </table>
+ </DIV>
+
<script LANGUAGE="JavaScript">
function active(numlayer)
{
-for (i=0; i <= 9 ; i++ ) {
+for (i=0; i <= 10 ; i++ ) {
ong = i+"XX";
link = "link"+i;
if (numlayer==i) {
document.getElementById(ong).style.visibility="visible";
document.getElementById(link).style.backgroundColor="#11AA11";
+ document.getElementById(link).style.backgroundImage="url(/images/background-mem.gif)";
} else {
document.getElementById(ong).style.visibility="hidden";
document.getElementById(link).style.backgroundColor="#FFFFFF";
+ document.getElementById(link).style.backgroundImage="";
}
}
}