XML alkalmazások a HunTéka könyvtári rendszerben

Tóth Kornél, MTA SZTAKI

NWS 2003

 

Bevezetés

Tisztelt hallgatóság! Az XML fogalmával valamennyien találkoztunk az elmúlt egynéhány év során. Divatos téma és nem is nem alaptalanul. Remélem, ezt a kijelentést ez a rövid előadás is alátámasztja majd. Mielőtt a címben jelzett témára rátérnék, engedjék meg, hogy néhány szót szóljak a fogalmakról, amelyeket használni fogunk.

Az XML, egy kicsit olyan, mint a HTML, de mégsem egészen az

A következő rövid meghatározás a W3C Magyar Iroda honlapjáról származik. Szó szerint átvettem, mert nem tudnám tömörebben elmondani a lényeget:

 

"Az XML szabályok gyűjteménye (ezeket felfoghatjuk szamárvezetőknek vagy konvencióknak), melyek segítségével olyan szöveges formátumokat állíthatunk elő, amelyek alkalmasak adatok strukturált leírására. Az XML nem egy programozási nyelv, és a használatához vagy megtanulásához nem szükséges programozónak lenni. Az XML a számítógép számára megkönnyíti az adatok generálását, olvasását és biztosítja, hogy az adatszerkezet egyértelmű legyen. (...) A HTML-hez hasonlóan az XML is tagokat (szavak '<' és '>' jelek között) és attribútumokat (név="érték" formátumban) használ. Azonban míg a HTML előre definiálja, hogy az egyes tagok és attribútumok mit jelentsenek, s hogy a tagok közötti szöveg a böngészőben miképp jelenjen meg, addig az XML a tagokat csak az egyes adatcsoportok elválasztására használja, az adatok értelmezését meghagyja az alkalmazások számára, amelyek az XML-t olvassák." [1]

A HunTéka könyvtári rendszer[2]

A HunTéka könyvtári rendszerről bizonyára sokkal kevesebben hallottak, mint az XML-ről, ami érthető, hiszen újszülöttről van szó, akit egyelőre csak a szűk családi kör és néhány közeli barát ismer. A hasonlatnál maradva, a családi kört az MTA SZTAKI[3] könyvtári csoportja és a szegedi székhelyű iKron Kft.[4] fejlesztő gárdája alkotja, míg a barátokat a velük kapcsolatban álló, és a fejlesztésben is szerepet vállaló könyvtárak és könyvtárosok jelentik. A HunTéka megszületését egy évtizedes tapasztalat a könyvtári rendszerek fejlesztése terén és több éves előkészítő munka alapozta meg.

 

A HunTéka jellemzői címszavakban:

Ř      HUNMARC rekordszerkezet

Ř      SQL adatbázis-kezelés

Ř      Z39.50 protokoll alkalmazása szerver és kliens oldalon

Ř      Platform független Java programozási nyelv

Ř      Jól konfigurálható, grafikus felhasználói felületek

Ř      Az erőforrás-megosztás tekintetében rugalmasan skálázható kliens-szerver architektúra

Ř      XML szabványok széleskörű implementálása

Ř      Nyílt szabványokra, ajánlásokra épül

Ř      Messzemenőkig támogatja a hálózatos együttműködést, például egyetemi könyvtár egyes karai, vagy városi könyvtár és fiókhálózata között

 

A címben szereplő két fogalom rövid bemutatása után kapcsoljuk össze őket, és lássuk, milyen szerepet kap az XML alkalmazása a HunTéka könyvtári rendszerben!

 

XML és HunTéka

A HunTéka jelenleg az alábbi részekben alkalmaz XML technológiát:

 

1. konfigurációs beállítások leírása (objectsrv.xml, logicalsrv.xml)

példa adatbázis-kapcsolat leírására:

 

  <DataSource name="sqlDataSource" class="hu.ikron.hunteka.data.SqlDataSource">

    <Parameter name="name">default_sql_datasource</Parameter>

    <Parameter name="driver">org.postgresql.Driver</Parameter>

    <Parameter name="url">jdbc:postgresql://fatty.ibase:5432/hunteka_pazmany_htk</Parameter>

    <Parameter name="user">postgres</Parameter>

    <Parameter name="password">xxxxxx</Parameter>

  </DataSource>

 

 

2. felhasználói felületek leírása: ablakok, menük, eszköztárak, listák leírása (pl.: marc_form.xml)

példarészlet egy 245-ös MARC  hívójelet leíró kontrollra:

 

(...)

        <!-- Egyébb cím, alcím -->

        <Control name="c245.*.*.b" type="MULTI.CONTROL">

          <Value>c245.#.#.b</Value>

          <Size height="2"/>

          <Coordinate x0="0" y0="1" x1="8" y1="4"/>

        </Control>

        <!-- Szerzőségi közlés -->

        <Control name="c245.*.*.c" type="SINGLE.CONTROL">

          <Value>c245.#.#.c</Value>

          <Coordinate x0="0" y0="4" x1="8" y1="5"/>

        </Control>

(...)

 

 

3. Z39.50 adat-transzformációs felhasználás: a Z39.50 adatforrásban történő keresés eredményének lekérése XML formátumban, majd átalakítása HunTéka belső formátumra. Ennek segítségével a HunTéka kliens programja képes heterogén adatbázisokban egyidejűleg kereséseket végrehajtani. Ennek a gyakorlatban rendkívül nagy előnye van, hiszen a könyvtáros - anélkül, hogy saját rendszeréből kilépne - az általa megszokott kereső felületet használhatja a Z39.50-es szolgáltatást nyújtó könyvtárak lekérdezéséhez. A dolog szépsége természetesen nem abban áll, hogy pusztán csak keresni tud, hanem abban, hogy egyúttal a lekeresett tételek között válogatva, azokból könnyűszerrel, a fájlba mentést kihagyva, át is emelhet rekordokat a saját rendszerébe.

 

4. A "Monguz"[5], az iKron Kft által kifejlesztett általános célú webes lekérdező motor egyes feladatainak rugalmas megoldása:

Ř      Monguz -- HunTéka adatbázis-kapcsoló (plugin) a HunTéka specifikus adatok átalakítására (XML + XSL -> XML -> Monguz belső formátum)

Ř      Monguz belső formátumának leírása a kommunikáció során.

 

Amint a felsorolásból is látszik, a felhasználás egyik jelentős köre a "monguzos" webes lekérdezések területe. A "Monguz" egyik erőssége, hogy egyszerre, párhuzamosan több adatbázist képes lekérdezni, legyenek ezek egyazon szerveren, vagy az Internet bármely elérhető pontján. Az adatbázis-kapcsolók ("plugin"-ek) segítségével pedig megvalósítható, hogy heterogén adatbázis-halmazon is működjön a lekérdezés, ami kicsit közérthetőbben annyit tesz, hogy a különféle könyvtári rendszerekkel épített adatbázisokat is képes a program egyidejűleg lekérdezni.

 

A "Monguz" másik erőssége éppen az XML alkalmazásában rejlik. Az előadás második felében ennek gyakorlati megvalósítását szeretném Önöknek bemutatni.

 

"A Jövendő" című folyóirat a Németh László Városi Könyvtárban

A Hódmezővásárhelyi Németh László Városi Könvtárban[6] éppen folyamatban van az áttérés az eddig használt, és a HunTéka elődjének tekinthető TinLib könyvtári rendszerről a HunTékára. Ennek során - a már amúgy is jelentős, és nagymértékben digitalizált állományokra is támaszkodó helytörténeti gyűjtemény - újabb értékes elemmel gazdagodott. A városban 1910-1912 között megjelent "A Jövendő" című közéleti folyóiratot digitalizálták, majd elvégezték a rekognitázott szöveg javítását és XML formátumra történő konvertálását. Az XML konverzió az iKron Kft. által kifejlesztett konvertáló program segítségével történt. Az XML-ben tárolt teljes szöveg ezáltal visszakereshetővé vált a HunTéka XMLDB adatbázis-kapcsolója segítségével.

 

A keresés két pontról indítva is lehetséges. Egyrészt készítettek a folyóiratnak egy honlapot, amin keresztül az összes folyóirat-szám közvetlenül böngészhető, illetve teljes szövege visszakereshető; másrészt a HunTéka rendszer Monguzra épülő WebOPAC-ján keresztül, az on-line katalógusba integrálva is megvalósították a teljes szöveges visszakeresés lehetőségét.

 

Lássuk most, hogyan néz ki ez a gyakorlatban!

A folyóirat honlapja

A folyóirat honlapja elérhető a könyvtári honlapról az elektronikus könyvtári szekcióból, vagy közvetlen URL címről[7] is. Itt bevezető szöveget olvashatunk a folyóiratról és a digitalizálás körülményeiről, valamint segítséget kapunk az oldal használatához és lehetőségünk van a folyóirat egyes számainak böngészésére, vagy a teljes szövegben való keresésre.

Keresés a folyóiratban a HunTéka WebOPAC-on keresztül

A keresés azonban történhet a könyvtár katalógusán keresztül is, ahol - jelenleg csak példaképpen - néhány cikket is bekatalogizáltunk. Itt meg kell említeni a pontos tájékoztatás kedvéért, hogy a könyvtár katalógusa jelenleg üzemszerűen még a TinLib adatbázis TinWeb OPAC-ján keresztül történik, mivel a HunTéka jelenleg bevezetés alatt áll. Amint ez a folyamat befejeződik, a most bemutatott felületen és lehetőségek szerint lehet majd a katalógust a weben elérni.

 

Felhasználói felületek leírása XML-ben

Végül szeretnék bemutatni néhány űrlapot a HunTéka program katalogizáló moduljából! Az XML technológia használatával sikerült elérni, hogy az űrlapok rendkívül rugalmasan módosíthatók. Ez a tény, és az adatbázis-struktúra azon sajátossága, miszerint a rekordszerkezet nincs "beégetve" az adatbázisba, együttesen azt eredményezi, hogy a HunTéka rendszerben bármely MARC, sőt nem MARC formátum szerinti rekordtárolást is mg lehet valósítani. A jelen verzióban az űrlapok a HUNMARC 2002-es kiadású szabályzatának előírásait követik.[8]

 

Az egyszerű szerkesztő űrlap

Az egyszerű szerkesztő űrlapok létrehozásával az volt a célunk, hogy olyan könyvtáros is könnyedén használhassa a programot, aki nem jártas a MARC katalogizálásban, vagy éppen most kezd vele megismerkedni. Mivel ezt használva a háttérben felépül a MARC rekord, amit aztán megtekinthetünk, alkalmas a program a MARC rekordszerkezet tanulására is.

Példa egyszerű szerkesztő űrlapra:

 

 

A MARC szerkesztő űrlap

A MARC űrlapon lehetőség van az egyszerű szerkesztőben felvet adatok módosítására, kiegészítésére, de a profi MARC katalogizáló innen is kezdheti a munkát, innét indulva építheti fel a rekordot.

Példa MARC űrlapra:

 

 

 

 

 

Befejezésül szeretném megköszönni a figyelmet! Remélem, hogy az előadással sikerült megerősíti azt az állítást, miszerint az XML technológia egyáltalán nem alaptalanul lett divatos téma napjainkban.

 

 

 



Jegyzetek:

[1] http://www.w3c.hu/forditasok/XML_10_pontban.html

[2] http://www.hunteka.hu

[3] http://www.sztaki.hu

[4] http://www.ikron.hu

[5] http://www.monguz.hu

[6] A könyvtár URL címe: http://www.nlvk.hu/

[7] http://www.nlvk.hu:8080/jovendo/index.jsp

[8] HUNMARC. A bibliográfiai rekordok adatcsere formátuma, KSZ/4.1, 2002. Letölthető az OSZK honlapjáról: http://www.oszk.hu