25. Abfrage eines SISIS-SunRise-Katalogs
Kapitel hinzufügen

JavaScript zur Abfrage eines SISIS-SunRise-Katalogs, um über die Signatur an KatKey und HBZ-ID zu kommen; ferner werden Basis-Meta-Daten abgefragt. Das Script ist Bestandteil von BCS-2 V6 Professional. Sie finden es unter dem Dateinamen dnb_gnd_c3_plus_query.js im folgenden Verzeichnis: C:\ProgramData\ImageWareComponents\BCS2_V6_64\js.

// -----------------------------------------------------------
// -----------------------------------------------------------
// Indexnames as Script-Variables:
// use them instead numerics...
// -----------------------------------------------------------
// -----------------------------------------------------------

ind_Signatur      =  1;   // Index Signatur  Type: Zeichenkette [kein zugeordneter Meta-Daten-Typ]: 
ind_KatKey        =  2;   // Index KatKey  Type: Zeichenkette [kein zugeordneter Meta-Daten-Typ]: KatKey (SIAS-Nummer)
ind_Verbund_ID    =  3;   // Index Verbund_ID  Type: Zeichenkette [Verbund ID]: 
ind_Order_ID      =  4;   // Index Order-ID  Type: Zeichenkette [kein zugeordneter Meta-Daten-Typ]: myBib eDoc Order-Number
ind_Autor         =  5;   // Index Autor  Type: Zeichenkette [Autor]: 
ind_Titel         =  6;   // Index Titel  Type: Zeichenkette [Titel]: 
ind_Verlag        =  7;   // Index Verlag  Type: Zeichenkette [Verlag]: 
ind_Jahr          =  8;   // Index Jahr  Type: Zeichenkette [Datum der Veröffentlichung]: 
ind_Typ           =  9;   // Index Typ  Type: Zeichenkette [kein zugeordneter Meta-Daten-Typ]: Typ des Mediums
ind_Schlagwoerter = 10;   // Index Schlagwoerter  Type: Zeichenkette [kein zugeordneter Meta-Daten-Typ]: Liste aller Schlagwoerter, gertrennt durch Semikolon
ind_ISBN          = 11;   // Index ISBN  Type: Zeichenkette [ISBN]: 
ind_Ausgabe       = 12;   // Index Ausgabe  Type: Zeichenkette [kein zugeordneter Meta-Daten-Typ]: 

// -----------------------------------------------------------
// -----------------------------------------------------------


//
// Abfrage 1: Zugriff auf KatKey ueber die Signatur...
// URL für die Abfrage:
//
xr.url = '...?QUERY=(9902=%22' + escape(id.index(ind_Signatur)) +'%22)';

id.setInformation("Anfrage bei ... für Signatur '" + id.index(ind_Signatur) + "' läuft...");
xr.performRequest("", 10, false);
id.setInformation("");

//xr.showXmlResult(); //oeffnet den Browser und zeigt das .xml-Abfrageergebnis an

num_records = 0;

if (xr.elementExists("", "HITS"))
  num_records = xr.numElements("RESULT/HITS", "HIT");

ut.notifyUser("Anzahl Treffer:", num_records);

if (num_records == 1) {

   katkey = xr.elementText("SIASNR");
   ut.notifyUser("KatKey:", katkey);

   //
   // Abfrage 2: Zugriff auf Detail-Anzeige mittels des Kat-Keys...
   //

   xr.resetRequest();
   xr.url = '...?QUERY=(000=%22' + escape(katkey) +'%22)';

   id.setInformation("Anfrage bei ... für Kat-Key '" + katkey + "' läuft...");
   xr.performRequest("", 10, false);
   id.setInformation("");

   num_records = 0;

   if (xr.elementExists("", "HITS"))
      num_records = xr.numElements("RESULT/HITS", "HIT");

   ut.notifyUser("Anzahl Kat-Key-Treffer:", num_records);


   if (num_records == 1) {

      //
      // Nun zuweisen der uebrigen Daten...
      //
      id.setIndex(ind_KatKey,         katkey);
      id.setIndex(ind_Verbund_ID,     xr.elementText("HBZID"));
      id.setIndex(ind_Autor,          xr.elementText("AU"));
      id.setIndex(ind_Titel,          xr.elementText("TI"));
      id.setIndex(ind_Verlag,         xr.elementText("PB"));
      id.setIndex(ind_Jahr,           xr.elementText("YR"));
      id.setIndex(ind_Typ,            xr.elementText("TYP"));
      id.setIndex(ind_Schlagwoerter,  xr.elementText("KY"));
      id.setIndex(ind_ISBN,           xr.elementText("IB"));
      id.setIndex(ind_Ausgabe,        xr.elementText("AG"));

   } // num_records == 1...
   else {
     xr.alertUser ("Detail-Abfrage via KatKey:", "KEINE TREFFER für den KatKey '" + katkey + "' !");
   }

} else {
     xr.alertUser ("Signatur Abfrage:", "KEINE TREFFER für die Signatur '" + id.index(ind_Signatur) + "' !");
}