Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Rétegmentesítés megvalósítása XML segítségével Kovács Máté.

Hasonló előadás


Az előadások a következő témára: "Rétegmentesítés megvalósítása XML segítségével Kovács Máté."— Előadás másolata:

1 Rétegmentesítés megvalósítása XML segítségével Kovács Máté

2 Tartalom Motiváció: a HypereiDoc projekt A dokumentum kezelése: – Réteges szerkezetben – Rétegmentes szerkezetben A rétegmentesítés folyamata Megvalósítás XML segítségével Összegzés

3 A HypereiDoc projekt 2007 szeptemberétől, ELTE IK és Eötvös Collegium tagjainak részvételével Ókori szövegtöredékek megfejtése – Archimedes palimpsestus „Az én feladatom”: – rétegmentes szövegszerkesztő réteges adatbázis

4 Archimedes palimpsestus

5 A HypereiDoc projekt – folyt. Töredékesség => a szövegben „vitatható részek” Annotációk – vélemények a dokumentumhoz – fajtái : beszúró (pozícióra), jelölő (intervallumra) – átlapolások – Leiden konvenciók A szöveg megfejtése „több menetben” => rétegek A megfejtés folyamatát tároljuk

6 A réteges szerkezet Rétegek fajtái: – alapszöveg – annotációs réteg Célok: – tárolás az adatbázisban – (akár konkurens) bővíthetőség => konfliktuskezelés

7 A réteges szerkezet – példa

8

9

10 A rétegmentes szerkezet Egyetlen rétegben: – Alapszöveg – Annotációk a megfelelő pozíciónkon Célok: – az annotált szöveget „egyben” lássuk – szerkesztés – nyomtatás

11 A rétegmentes szerkezet - példa

12

13

14

15

16

17 A rétegmentesítés folyamata Az annotációs rétegek kiválasztása Konfliktusfeloldás (ha szükséges) A rétegek beszúrási sorrendjének meghatározása Az annotációinak beillesztése a felépülő rétegmentes dokumentumba

18 Rétegmentesítés - példa

19

20

21

22 Új réteg létrehozása Szerkesztés a rétegmentes szövegen Az újonnan beszúrt annotációk megjelölése A réteges szerkezetben új annotációs réteg Az adatbázisba csak az új réteg kerül

23 Új réteg létrehozása - példa

24

25

26 A felhasznált XML technológiák XPointer: – hivatkozás egy XML csomópontra (vagy részére) – léteznek kiterjesztései => követelményszintek (minimális / teljes) – pl.: #xpointer(doc("base")//pb[n=oldal] /following::lb[n=sor] /following::text()[1] /point()[pozíció])

27 A felhasznált XML technológiák - folyt. XPath: – egy „útvonal” az XML DOM-fában – XML csomópontok közötti tengelyek segítségével – pl.: preceding-sibling::node()[1]/self::element() XQuery – lekérdezés XML dokumentumon – hasonlít az SQL-re

28 XML adatbázisok Látszólag, mintha egy XML dokumentumba szervezve tárolnánk az adatokat. Dokumentumok gyűjteményekbe szervezhetők <= fájlrendszer könyvtárai Lekérdezés XQuery-vel Általunk használt adatbázis-kezelő: Sedna DB

29 Az XML adatbázis szerkezete a HypereiDoc projektben

30 TEI-P5 Digitális könyvtári szabvány XML alapú Referenciák a szövegen – pl.: annotációk hivatkozási pontjai – megvalósítás: XPointer segítségéve l – point() XPointer kiterjesztés

31 A réteges szerkezet XML szinten A TEI-P5 ajánlásai szerint Alapszöveg tagolása „mérföldkövekkel”: – oldal: – hasáb: – sor: Annotációk: – XML csomópontok – referenciák XPointer attribútumok segítségével

32 A réteges szerkezet XML szinten – folyt. Annotációk referenciái: – beszúró: target – jelölő: from és to Alapszövegbe mutató referencia: #xpointer(doc("base")//pb[n=oldal]/ following::lb[n=sor]/ following::text()[1]/point()[pozíció]) Annotációba mutató referencia: #xpointer(collection("annotations")// [xml:id="annotáció azonosítója"]/ text()[1]/point()[pozíció])

33 A rétegmentes szerkezet XML szinten XML dokumentumok és sémák részletes leírásai Ehelyett pár érdekesebb feladat: – Átlapolás problémája – Az XPointer-ek => szövegbeli pozíciók

34 Átlapolás a TEI-P5-ben A jól formáltság vagy a szemantikus tartalom sérül! városát hadi csellel elfoglalták

35 Az átlapolás megvalósítása a rétegmentes szerkezetben városát hadi csellel elfoglalták

36 Rétegmentesítés az XML szintjén Az annotációk beszúrása a felépülő XML dokumentumba A beszúró függvény – XQuery és XPath segítségével – tetszőleges szövegpozícióra – point() kiváltása – XPointer-ek => paramétert megadó pozíció

37 A beszúró függvény XQuery-ben részlet declare function local:insert_item($node, $offset as xs:decimal?, $item) { let $a:=0 return for $x in $node/child::node() let $prec := string-length(string-join( for $y in $x/preceding-sibling::text() return normalize-space($y),'')) let $seg_count := index-of($x/following-sibling::node(), $x/following-sibling::text()[1])[1] return...

38 A beszúró függvény XQuery-ben részlet – folyt.... return { if ($x/following-sibling::element()) then {$x, for $note in $x/following- sibling::element() [position() < $seg_count] return $note} else {$x}, {$item} }

39 Összegzés Réteges és rétegmentes szerkezet közötti átmenet: – absztrakt és implementációs szinten (XML) – oda-vissza – kollaboratív munka és szerkesztés – a TEI-P5 szabványnak megfelelően XPointer kiterjesztés megvalósítása – XPath és XQuery segítségével – nagyobb hordozhatóság


Letölteni ppt "Rétegmentesítés megvalósítása XML segítségével Kovács Máté."

Hasonló előadás


Google Hirdetések