17. Zugriff auf Metadaten mittels Autorennamens
Kapitel hinzufügen

JavaScript zum Zugriff auf Meta-Daten mithilfe eines Autorennamens. Abgefragt wird das CBS des GBV (Verbundsystem). Das Script ist Bestandteil von BCS-2 V6 Professional. Sie finden es unter dem Dateinamen gbv_author_query.js im folgenden Verzeichnis: C:\ProgramData\ImageWareComponents\BCS2_V6_64\js.

//
// Zu setzende Variablen, die ein Anpassen dieses Scripts erleichtern sollen:
//
// index_for_query: auf den Index setzen, der den Namen enthält
//
// number_index_title:        Nummer des Indexes, der den Titel  erhalten soll
// number_index_author:       Nummer des Indexes, der den Autor  erhalten soll
// number_index_publisher:    Nummer des Indexes, der den Verlag erhalten soll
// number_index_year:         Nummer des Indexes, der das Erscheinungsjahr erhalten soll
// number_index_description:  Nummer des Indexes, der die Beschreibung erhalten soll
// --------------------------------------------------------------------------------------

//
// index_for_query:
//
index_for_query = id.index(2);

//
// Ergebnis-Indizes
//
number_index_title       = 3;
number_index_author      = 2;
number_index_publisher   = 0;
number_index_year        = 0;
number_index_description = 6;

//
// URL für die Abfrage:
//
xr.url = "http://sru.gbv.de/gvk?version=1.1&operation=searchRetrieve&query=pica.aut%3D" +
         index_for_query;


//
// performRequest() führt den Zugriff durch und holt die Ergebnisliste ab.
//
id.setInformation("Anfrage beim GBV CBS für Autor '" + index_for_query + "' läuft...");
xr.performRequest("dc", 100, false);
id.setInformation("");

num_records = 0;
if (xr.elementExists("", "zs:numberOfRecords"))
  num_records = xr.elementText ("zs:numberOfRecords");


if (num_records > 0) {

  //
  // clearDctemList() löscht die interne Ergebnisliste.
  //
  xr.clearDcItemList();

  xr.addFetchItemDC("Autor",                "dc:contributor");                     // 1
  xr.addFetchItemDC("Titel",                "dc:title");                           // 2
  xr.addFetchItemDC("Verlag",               "dc:publisher");                       // 3
  xr.addFetchItemDC("Jahr",                 "dc:date");                            // 4
  xr.addFetchItemDC("Beschreibung",         "dc:description");                     // 5

  xr.fetchDcItemList ("zs:records", "zs:record", "zs:recordData/oai_dc:dc");

  //
  // Anzeige der Liste
  //
  dialog_ok = false;

  if (xr.itemListLengthDC() > 0) {
     dialog_ok = xr.showDcItemList("CBS-Abfrage beim GBV für den Autor '" + index_for_query + "'",
                                    xr.itemListLengthDC() + " Treffer. Bitte doppelt klicken um die Daten zu übernehmen!");
  } else {
     xr.notifyUser ("Ergebnis Autoren Recherche", "KEINE TREFFER !");
  }

  if (dialog_ok) {
    if (number_index_author > 0)
       id.setIndex(number_index_author, xr.resultColumnDC(1));

    if (number_index_title > 0)
       id.setIndex(number_index_title, xr.resultColumnDC(2));

    if (number_index_publisher > 0)
       id.setIndex(number_index_publisher, xr.resultColumnDC(3));

    if (number_index_year > 0)
       id.setIndex(number_index_year, xr.resultColumnDC(4));

    if (number_index_description > 0)
       id.setIndex(number_index_description, xr.resultColumnDC(5));

  } // if dialog_ok...

} else {

     xr.alertUser ("Ergebnis Autoren Recherche", "KEINE TREFFER !");
}