51ba3eac9a55f5ad9181a771579b2d6777cc0341
[irspy-moved-to-github.git] / web / htdocs / details / ap.mc
1 %# $Id: ap.mc,v 1.1 2007-06-28 12:19:37 mike Exp $
2 <%args>
3 $id
4 $set
5 </%args>
6 <%perl>
7 my $db = ZOOM::IRSpy::connect_to_registry();
8 my $conn = new ZOOM::Connection($db);
9 $conn->option(elementSetName => "zeerex");
10 my $query = cql_target($id);
11 my $rs = $conn->search(new ZOOM::Query::CQL($query));
12 my $n = $rs->size();
13 if ($n == 0) {
14     return $m->comp("/details/error.mc",
15                     title => "Error", message => "No such ID '$id'");
16 }
17
18 my $xc = irspy_xpath_context($rs->record(0));
19 my $title = $xc->find("e:databaseInfo/e:title");
20 </%perl>
21      <h2><% xml_encode($title, "") %></h2>
22 <%perl>
23 my $expr = 'e:indexInfo/e:index[@search = "true"]/e:map/e:attr[
24         @set = "'.$set.'" and @type = "1"]';
25 my @nodes = $xc->findnodes($expr);
26 my @aps = sort { $a <=> $b } map { $_->findvalue(".") } @nodes;
27
28 $n = @aps;
29 if ($n == 0) {
30     print "     [none]\n";
31     return;
32 }
33 </%perl>
34      <table class="fullrecord" border="1" cellspacing="0" cellpadding="5" width="100%">
35 % foreach my $ap (@aps) {
36 % my $name = "[unknown]";
37 % $name = bib1_access_point($ap) if $set eq "bib-1";
38 % ### Should support translation of other attribute sets' access points
39       <tr>
40        <th><% $ap %></th>
41        <td><% xml_encode($name) %></td>
42       </tr>
43 % }
44      </table>