TEI-XML

Monday, August 3, 2009

 

Parádi Andrea előadása 2009. április 24-én a Bárczi Ildikó emlékére rendezett IIM-konferencián hangzott el. Az előadás ismerteti a TEI-XML dokumentum-leíró szabványt és annak alkalmazási lehetőségeit az online kritikai kiadások készítésében.

 

Elsőként a TEI-XML-ről ejtek pár szót azzal a céllal, hogy rövid bevezetést nyújtsak azok számára, akik ezzel a mozaikszóval most találkoznak először, annál is inkább, mivel a konferencia további részében jó néhány előadás érinteni fogja ezt a témát. A jelenlévők közül többek számára túlságosan is alapvető, és tulajdonképp bárki számára elérhető ismeretek ezek, hiszen számos kézikönyv és hálózati kiadvány foglalkozik a témával. Mégis, ezt az alig néhány évtizedes múltra tekintő dokumentum-leíró szabványt nem lehet eléggé a textológiával, filológiával foglalkozó kutatók figyelmébe ajánlani, hiszen az első magyarországi TEI alapú kritikai kiadás tudomásunk szerint 2004-ben készült el, még csak 5 éve.

Előadásom második részében majd ebből a 2004-es kiadásból kiragadott példák során át próbálom érzékeltetni, hogyan is valósulhat meg a TEI alapú szövegfeldolgozás például egy kritikai szövegkiadás, vagy egy forráskiadás esetében.

Kezdem tehát a kályhánál, olyan alapvető kérdésekkel, hogy mi is az XML, miért hozták létre, mire használják.

 

 

dia02

 

Az XML angol mozaikszó az eXtensible Markup Language kifejezés rövidítéseként jött létre, melynek magyar jelentése bővíthető jelölőnyelv. Régebbi cikkekben, tanulmányokban találkozhatunk a bővíthető kódnyelv kifejezéssel is, azonban a terminus fordítása a jelölőnyelv kifejezéssel nem csak hogy szerencsésebb, de mára elterjedtebbé is vált.

Ennyit röviden a mi ez? kérdésre válaszul.

 

A miért? már egy kicsit hosszabb kifejtést igényel.

Az adatok, dokumentumok, azaz szövegek tárolása, archiválása, használata az információtörténet minden korszakában sajátos problémákat vetett föl, melyek ugyancsak jellemző megoldásokat szültek. Az elektronikus korszak legjelentősebb problémája a szövegek (dokumentumok és adatok) szoftver- és hardverkörnyezettől való függősége. Ennek kiküszöbölésére időtálló, platform-független tárolási formátumok létrehozását tűzték ki célul, melynek eredményeként létrejött az SGML, azaz szabványos általános jelölőnyelv. Ennek ősét, a GML-t még a 60-as években fejlesztették ki, majd 1986-ban megjelent mint ISO-szabvány metanyelv (azaz leíró nyelv), az SGML. Tervezésekor az volt az alapvető célkitűzés, hogy a dokumentumok információveszteség nélkül hordozhatóak legyenek az eltérő szoftver- és hardver-környezetek között, ezzel lehetővé téve a hosszú távú archiválást, a kereshetőséget és a sokoldalú felhasználást.

Mivel az SGML nehezen kezelhető, és nagyon drága programokat igénylő leíró nyelv volt, ezért csak szűk körben, főleg állami vállalatok, nagy, tudományos projektek használták. Viszont születtek olyan alkalmazásai, melyek az SGML-ből kiindulva, konkrétabb céllal jöttek létre, így jóval szélesebb körben tudtak elterjedni.

Az egyik legismertebb ilyen alkalmazás a HTML, azaz hipertext jelölőnyelv. Mindennapos internet-használatunk során találkozhatunk ezzel a kifejezetten webes tartalmak megjelenítésére kifejlesztett leírónyelvvel. Az XML-t tulajdonképpen a HTML-lel szembeni elégedetlenség hívta életre. A HTML nyelv ugyanis túlzottan a szöveg formai elemeit helyezi előtérbe. A szövegek hosszú távú archiválásának alapfeltétele, hogy a tartalmi és formai elemeket különválasszuk, HTML-ben lehetetlen. Így az SGML leegyszerűsített származékaként létrehozták az XML-t.

A cél az volt, hogy az adott szöveg ne csak emberek, de gépek számára is olvasható, értelmezhető legyen, az információ így kereshetővé és sokféleképp felhasználhatóvá váljék.

 

 

dia03

 

Ahhoz, hogy ezt elérjük, először a mélystruktúrát, vagyis a szövegek tartalmi szintjét kell elválasztanunk a felszíni struktúrától, a szövegek formai szintjétől. A szövegek tartalmát az XML írja le, míg a formáját, azt, hogy miként jelenik meg, milyen betűtípussal, mekkora betűmérettel, milyen háttérszínnel, az XSL (kiterjeszthető stíluslap nyelv). Ez egy olyan támogató technológia, amely leírja, hogyan kell formázni vagy átalakítani az XML dokumentumban található adatot, így azt a böngészők által olvasható formátumra alakítja át.

A továbbiakban a mélystruktúrával, a szöveg tartalmi szintjével foglalkozunk. Ahhoz, hogy lehetővé tegyük a gépi értelmezést, szövegünkben meg kell jelölnünk az információkat.

 

 

dia04

 

Nézzük például Kosztolányinak eme kis versét! Először is a szövegnek azt a részét, mely a Kosztolányi Dezső betűsort tartalmazza, felcímkézzük. A címke azt a nevet kapta, hogy <költő>.

 

 

dia05

 

 

Ezután a verscímet jelöljük meg a <cím>-mel,

 

dia06

 

 

majd a szöveg többi részét is felcímkézzük <alcím> és <vers> címkékkel.

 

dia07

 

 

Amint látjuk, ezek a címkék egy kezdő és egy befejező elemből állnak.

 

dia08

 

 

A kezdő elemet egy / 'per'-jel különbözteti meg a befejező elemtől, így gépi feldolgozásnál egyértelmű lesz, hogy az adott címke melyik szövegrészre vonatkozik.

Azzal, hogy a verset felcímkéztük, nem csak metaadatokkal, a szöveget leíró adatokkal láttuk el, de struktúrába is rendeztük, vagyis jól elkülönítettük a szöveg egyes részeit. Ha ezt az egy verset beleillesztjük egy versgyűjteménybe, melyet hasonlóképp felcímkézünk, akkor hierarchikus struktúrát hozunk létre:

 

 

dia09

 

Rövid példánk nyomán tehát megállapíthatjuk, hogy egy XML dokumentum

  • mind ember, mind gép számára olvasható formátum
  • platformfüggetlen, a technológiai változások nem érintik érzékenyen
  • hierarchikus struktúrája megfelel a legtöbb dokumentumtípusnak
  • internetes szabványokon alapuló, logikailag ellenőrizhető
  • egyszerű szövegformátumban, licencektől és korlátozásoktól mentesen valósul meg
  • támogatja a Unicode-ot
dia11

A TEI jelentése szövegkódolási kezdeményezés, melyet 1987-ben alapított három számítógépes nyelvészeti és irodalmi kutatásokkal foglalkozó angolszász tudományos társaság. Céljuk egy olyan hardver- és szoftverfüggetlen módszer kifejlesztése majd közzététele volt, mellyel a humán területek szövegei elektronikus formában kódolhatóak. Kezdetben az SGML-t használták, később a már fentebb említett okok miatt áttértek az XML-re.

A kutatásaik nyomán közzétett TEI ajánlás egy olyan általános célú kódolási formát definiál, amely lehetővé teszi a szövegek egyidejű, különböző szempontú feldolgozását különböző alkalmazásoknál, és kiszolgálja a tudományos célú szövegkutatások legnagyobb részét.

Főként tudományos projektek és könyvtárak használják kritikai kiadások, szövegkiadások, képi, zenei és szöveganyagokat egyszerre kezelő archívumok, szótárak, nyelvészeti atlaszok közzétételére.

Minden ilyen szerkezet szerint felépített dokumentum rendelkezik azokkal az előnyös tulajdonságokkal, amivel az SGML/XML dokumentumok általában: értelmezhető, automatikusan feldolgozható, platform- és nyelvfüggetlen, logikus szerkezeti felépítésű és testre szabható.

Nem esett még szó az XML dokumentumok szabályrendszerét meghatározó úgynevezett DTD-ről (dokumentum típus deklaráció). Ezeket úgy kell elképzelnünk, mint egy nyelv szintaxisát, ugyanis a DTD-ben megadott szabályrendszer alapján alkotható meg az adott dokumentum XML struktúrája. A TEI ajánlásai azonban sohasem kötelező jellegűek, valóban csak ajánlások. Minden egyes projekt elkészítheti saját DTD-jét, újabban úgynevezett Schemát, mely gyakorlatilag ugyanazt a funkciót tölti be, mint a DTD.

A TEI konzorcium első ajánlása óta öt verziót adott ki, jelenleg a P5-ös van használatban 2007 óta. A TEI kezdetben hat fő szövegtípust, ennek alapján hat fő kódkészletet (base tag sets) használt:

  • vers
  • dráma
  • lejegyzett beszéd
  • nyomtatott szótárak
  • terminológiai adatbázis
  • próza

A későbbiekben ez bővült, ugyanis a TEI P4 és P5-ös verziója már két újabb kódkészletet tartalmaz:

  • általános típusú dokumentumok
  • vegyes típusú dokumentumok

A szövegrögzítés céljától függően további tíz kiegészítő kódkészletet (additional tag sets) különböztettek meg, melyek a következők:

TEI.linking - hypertext kapcsolatok, mutatók jelölése;

TEI.analysis - analitikus információk kódolása;

TEI.fs - strukturális nyelvészeti és más elemzések eredményének kódjai;

TEI.certainty - a szöveg értelmezésekor, rögzítésekor felmerülő bizonytalanságok jelölése;

TEI.transcr - kéziratos források átírásánál használatos jelek;

TEI.textcrit - kritikai szövegrögzítés;

TEI.names.dates - nevek és dátumok kódolása;

TEI.nets - gráfok, fák és hálózatok ábrázolása;

TEI.corpus - nyelvi korpuszok.

Jelenleg tizenegy kiegészítő kódkészlet van a TEI-ben, tehát a lista egy új taggal gyarapodott:

TEI.msdescription - kéziratos, vagy korai nyomtatású anyagok leírásához szükséges elemkészlet.

Az egyes kódkészletek használata azzal az előnnyel jár, hogy a kódolás és a további feldolgozás során nem kell minden szabályra ügyelni, csak azokra, melyek az adott dokumentumtípusra (pl. vers, próza, dráma, szótár), vagy a szöveg kiegészítő elemeire (kritikai apparátus) vonatkoznak.

2004-ben, a Balassi-kiadás felújításakor a TEI által akkor közzétett P4-es verzió alapján dolgoztunk, a DTD-t Hegedűs Béla készítette el.

 

 

dia14

 

Minden XML dokumentum két nagy egységre bontható: az első a képen is látható fejléc, <header>, mely a dokumentumra vonatkozó leírást tartalmazza.

A fileDesc a bibliográfiai leírást adja, melyet leginkább könyvtárak számára készített leírásokhoz hasonlíthatunk.

Ezen belül a titleStmt a cím-adatokat, az editionStmt a kiadásra vonatkozó csoportos adatokat tartalmazza. A respStmt a responsibility, vagyis a felelősség rövidítése, itt mindig a felelős személy, és az általa végzet munkafázis meghatározása látható.

A továbbiakban a kiadóra, a sorozatcímre, és a forrásra vonatkozó adatokat ismerhetjük meg.

 

 

dia15

 

A fejléc további részében a kódolási leírásról tájékozódhatunk. Megtudjuk, hogy a projekt az összes forrást rögzítő, modernizált helyesírású kritikai szövegváltozat, az átírás a metrikai sorokat is jelöli, és amire szeretném felhívni a figyelmet: a kódolási eljárás az úgynevezett parallel-segmentation, azaz párhuzamos felosztás.

A továbbiakban erre, a párhuzamos szegmentálásra fókuszálunk.

 

dia16

 

Amint azt említettem, minden XML-dokumentum két fő részből áll. Az elsőt, a fejlécet vizsgáltuk meg az előbb. Most a második rész, a szöveg felé irányítjuk figyelmünket. Láthatjuk, hogy a <text> nevű elem olyan további elemeket tartalmaz, mint a <front>, és <body>.

A tulajdonképpeni szöveg, azaz maga a vers a <body> nevű elembe, a szövegtestbe kerül.

Ezen belül a <div> elem a vers azonosítóját tartalmazza, míg a <head> elemek a címet, alcímet, illetve nótajelzést adják meg.

 

dia17

 

Rögtön az első <head> elemnél feltűnik, hogy nem pusztán egy alcímet látunk, hanem egy szinttel beljebb, vagyis a <head> (cím) elemen belül egy <app>, azaz apparátus címkében két <rdg wit> (reading witness, azaz forrásváltozat) elemet is találunk. Felső idézőjelben, sötétpiros színben egy rövidítés látható. A 'kk' rövidítés feloldása jelen kritikai kiadás, míg az 's059', 's107' stb rövidítésé Stoll Béla Balassi-bibliográfiájának számát, és ezzel az adott forrást jelöli, az s059 történetesen a Mátray-kódexet.

Milyen információt is rögzítettünk ebben az esetben? Azt, hogy a vers címe a jelen kritikai kiadásban 61+VII. ugyan, ám a további felsorolt források (és csak azok) Más cím alatt közlik a szöveget.

 

dia18

 

A következő képen ugyanezen vers első sorának TEI kódolását látjuk.

A minket érdeklő sor a 156., melyben az <lg> címkével (linegroup=versszak) jelzett elem található. Az <id> (azaz identificator) a versszak számát jelöli, a következő sorban látható <l> (line, azaz sor) elem a rövid sorok számát, a <seg> (segmentation) szintén egy <id>-vel a szótagszámot adja meg.

Ezután a már ismerős <app> elem következik, mely a fent is említett módon két olvasatot is megad. A szövegváltozatok mellett olyan jegyzeteket is jelöltünk, melyekben a szövegváltozat eltéréseire vonatkozó információkat adtuk meg, ha voltak ilyenek.

A második sor egyik forrásvariánsánál például <note> (jegyzet) elemként adtuk meg, hogy szótagszámhibát okozó sajtóhibáról van szó.

Bizonyára többen feltették magukban a kérdést, hogy a párhuzamos szegmentálás miben különbözik a közönséges szövegkritikai apparátustól?

Abban, hogy a felsorolt szövegváltozatokat egy szinten jelöli, párhuzamosan osztja fel. Egy jól elkészített stíluslap lehetővé teszi, hogy ez az xml-dokumentum átalakítható legyen olyan, web-böngészők által megjeleníthető kimenetté, melyen a felhasználó döntheti el, hogy melyik olvasatot kívánja szemügyre venni. Természetesen egy olyan kimenet is előállítható, melyen a kiadás szerkesztői csak a kritikai szöveget adják főszövegként, és a többi olvasatot a kritikai apparátusban jelentetik meg.

Remélem, előadásommal sikerült felhívnom a figyelmet a szövegkiadások TEI-XML alapú kódolásában rejlő lehetőségekre, és egyre több elektronikus közegben megjelenő kritikai kiadás használja majd a TEI ajánlásait.

Végezetül szeretnék köszönetet mondani Hegedűs Bélának, akitől az XML-szerkesztés rejtelmeit tanultam a Balassi-kiadás felújítása során, és azoknak, akik remek összefoglalóikat és útmutatóikat megosztották a hálózaton.

 

hr

 

Felhasznált irodalom

Karsai Róbert, Absztrakt szöveg: az elektronikus szövegek alapjai, http://magyar-irodalom.elte.hu/robert/szovegek/absztrakt/

Király Péter, Kritikai kiadás és XML, http://php.arcanum.hu/xsl/editXML.htm

Bíró Szabolcs, Szövegfeldolgozás XML alapokon, http://www.tankonyvtar.hu/informatika/szovegfeldolgozas-xml-080906-159

XML, In: Wikipédia, http://hu.wikipedia.org/wiki/XML


Comments