270 likes | 449 Views
XML in TEI Tomaž Erjavec. Seminar projekta Neznani rokopisi slovenskega slovstva 17. in 18. stoletja: informacijsko-tehnološko podprta evidenca, znanstvene objave in analize 24 . 4 .200 8 ZRC-SAZU. ZDRAVLJICA
E N D
XML in TEITomaž Erjavec Seminar projekta Neznani rokopisi slovenskega slovstva 17. in 18. stoletja: informacijsko-tehnološko podprta evidenca, znanstvene objave in analize 24.4.2008 ZRC-SAZU
ZDRAVLJICA Prijatlji! odrodileso trte vince nam sladkó,ki nam oživlja žile,srce razjásni in oko,ki utopivse skrbi,v potrtih prsih up budi! …
<?xml version="1.0" encoding="utf-8"?> <pesem> <naslov>ZDRAVLJICA</naslov> <kitica> <vrstica>Prijatlji! odrodile</vrstica> <vrstica>so trte vince nam sladkó,</vrstica><vrstica>ki nam oživlja žile,</vrstica> <vrstica>srce razjásni in oko,</vrstica> <vrstica>ki utopi</vrstica> <vrstica>vse skrbi,</vrstica><vrstica>v potrtih prsih up budi!</vrstica> </kitica> … </pesem>
Kaj je XML? • XML je standard, ki omogoča hranjenje in procesiranje besedil v elektronski obliki, ne glede na operacijski sistem oz. vrsto naprave. • standard XML je projekt konzorcija W3C in je javen • XML je “metajezik” - omogočadefiniranje specifičnih jezikov za različne zvrsti dokumentov
Zakaj potebujemo standarde za zapis digitalnih podatkov? Ponavadi je (bil) zapis digitalnih podatkov vezan na določen računalniški program, npr. urejevalnik besedil Problemi: • zastaranje: zaradi hitrega tehnološkega napredka programi postanejo zastareli, podatki, ki so nanje vezani pa neberljivi • izmenjava: podatke je težko izmenjevati med različnimi programi • uporaba: podatke je težko uporabljati za različne namene • razumljivost:podatke razume samo program - ni zanesljivih in javno dostopnih specifikacij za zapis podatkov • pravilnost: ne moremo vedeti, ali so podatki zapisani v skladu s specifikacijami določenega formata ali ne
Kaj je označevalni jezik? • nabor označevalnih konvencij, ki jih uporabljamo za zapis besedil • z njim ekspliciramo interpretacijo besedila • označevalni jeziki morajo določati: • kako so oznake ločene od besedila, • katere oznake so dovoljene, • katere oznake so zahtevane, • (kaj oznake pomenijo)
Struktura dokumentov XML • dokument = besedilo + oznake • element = začetna oznaka + vsebina + končna oznaka • element vsebuje besedilo ali elemente ali oboje (ali nič) <pesem> <naslov>ZDRAVLJICA</naslov> <kitica> <vrstica>Prijatlji! odrodile</vrstica> <vrstica>so trte vince nam sladkó,</vrstica>… </kitica> … </pesem>
Prazni elementi • elementiz vsebino: <oznaka> … </oznaka> • prazni elementi nimajo vsebine:<oznaka/> • uporabljajo se za označevanje “točk” v dokumentu, npr. za prelome strani • <oznaka/> = <oznaka></oznaka>
Atributi Atributi se uporabljajo za opis lastnosti elementov Npr: <tabela status='popravljeno' xml:id=“tabela.01"> ... </tabela> • lastnost podamo kot par atribut-vrednot znotraj začetne oznake • vrednost mora biti znotraj enakih narekovajev, bodisi enojnih ali dvojnih; • nekateri specialni atributi (xml:id, xml:lang) imajo predponoxml:
Komentraji • Komentraji se lahko pojavijo kjerkoli v besedilu (vendar ne v oznakah) • Komentra se začne s <!--in konča z --> • Npr.:<naslov>ZDRAVLJICA</naslov><kitica><vrstica>Prijatlji! odrodile<!--ali je to mogoče “obrodile”? --></vrstica>… • Opomba: v XML se 'meta-oznake' začnejo s <!ali<?
Entitete (delčki) XML • Dokumenti XML lahko vsebujejo tudi reference na t.i. entitete • ob procesiranju XML se referenca nadomesti z nadomestnim nizom, entiteto • referenca na entiteto se začne z znakom “in”, &in konča s podpičjem, ; • nekaj entitet je predefiniranih v XML: < (<), > (>), & (&), ' (‘), " (“) • 1 < 2mora biti napisan kot 1 < 2 • Mlinar & Mlinarmora biti napisano kotMlinar & Mlinar • entitetese uporablja tudi za druge namene, npr. za kodiranje znakov unikoda, npr.༲
Dobro oblikovan dokument XML • dokument se začne z deklaracijo XML, npr.<?xml version="1.0" encoding="iso-8859-1" ?> • oznake in entitete so pravilno napisanenarobe: <a x=y>1 < 2<\a> • dokument mora biti drevo: • vsaka začetna oznake mora imeti svojo končno oznako • elementi se morajo gnezditinarobe: <a>…<b>…</a>…</b> • dokument ima eno samo vrhnjo oznako • tak dokument XML je dobro oblikovan (well-formed XML document)
poem stanza stanza title line line line line line line line line The SICK ROSE O Rose thou art sick The invisible worm, That flies in the night In the howling storm: Has found out thy bed Of crimson joy And his dark secret love Does thy life destroy. Podatkovna struktura XML • <poem><title>The SICK ROSE</title> <stanza><line>O Rose thou art sick.</line> <line>The invisible worm,</line> <line>That flies in the night</line> <line>In the howling storm:</line></stanza> <stanza><line>Has found out thy bed</line> <line>Of crimson joy:</line> <line>And his dark secret love</line> <line>Does thy life destroy.</line></stanza></poem> datoteka je linearna ~ podatkovni model je drevo
Kaj je narobe? <greeting>Hello world!</greeting> <greeting>Hello world!</Greeting> <greeting><grunt>Ho</grunt> world!</greeting> <grunt>Ho <greeting>world!</greeting></grunt> <greeting><grunt>Ho world!</greeting></grunt> <grunt type=loud>Ho</grunt> <grunt type="loud"></grunt> <grunt type= "loud"> <grunt type ="loud"/>
Sheme XML • Če bi v XML dokumentih lahko uporabljali katerekoli elemente, bi bil rezultat kaos • XML omogoče zapis formalnih gramatik t.i. shem, ki definirajo nabor elementov za posamezne zvrsti dokumentov • tako lahko npr. napišemo shemo za poezijo, za kuharske recepte, za opis rokopisov, … • shema določi: • imena vseh elementov, ki se lahko uporabljajo • imena in podatkovne tipe atributov • pravila o gnezdenju elementov
Pravilen dokument XML • Dokument XML, ki upošteva pravila zapisana v neki shemi se imenuje pravilen dokument XML (valid XML document) • pozor: shema ne more določiti kaj posameznimi elementi pomenijo - to lahko naredi samo spremna dokumentacija, ki je nujna priloga k vsaki shemi
Čemu služijo sheme? • zagotovijo, da dokument uporablja samo predefinirane elemente, atribute in entitete • postavijo strukturna pravila, kot npr. ‘vsako poglavje se mora začeti z naslovom’ ali ‘recept mora vsebovati seznam sestavin’ • zagotovijo, da se enaka stvar vedno enako imenuje • obstaja več jezikov za definiranje shem(DTD, W3C sheme, ISO RelaxNG sheme)
Standardizirane sheme • Za določeno zvrst dokumentov in aplikacijo lahko shemo napišemo sami • vendar pa uporabnost XML sloni na dejstvu, da mnogo XML shem že obstaja, skupaj z dokumentacijo in programsko opremo, ki jih interpretira • Nekatere sheme so standardi ISO, nekatere priporočila konzorcija W3C, • in potem je še TEI…
Čemu TEI? TEI nudi okvir za definicijo raznovrstnih shem za zapis besedil v namene znanstvene obravnave • definira in poimenuje več sto uporabnih besedilnih kategorij • ponuja nabor modulov, s katerimi je mogoče definirati sheme, ki ozančujejo te kategorije • ponuja tudi mehanizem za prilagajanje in kombiniranje teh definicij z novimi, vendar znotraj istega konceptualnega modela
Od kod izvira TEI? • Začetek je v raziskovalnem projektu s področja humanistike • podprtem s strani mednarodnih znastvenih združenj ALLC, ACH, ACL • financiran 1990-1994, ZDA in EU • Glavni vplivi • digitalne knjižnice in zbirke besedil • jezikovni korpusi • akademske podatkovne zbirke • Mednarodni konzorcij ustanovljen 1999http://www.tei-c.org/
Cilji TEI • boljša izmenjava in integracija akademskih vsebin • podpora za vsa besedila, v vseh jezikih, iz vseh obdobij • uvajanje za začetnike: kaj označiti — torej, kodifikacija priporočene uporabe • podpora za strokovnjake: kako označiti — torej, ohlapen okvir, v katerega je možno umestiti nepredvidljive razširitve Ti, na prvi pogled nezdružljivi cilji so realizirani v fleksibilnem in modularnem okolju
Priporočila TEI • Zbirka priporočil za označevanje besedil, ki pokriva tako splošne besedilne strukture, kot tudi nekatera ozko specializirana področja osnovana (vendar ne omejena) na obstoječe prakse • Zbirka definicij elementov z dokumentacijo in pripadajočimi pravili za različne jezike definicij shem XML • Modularni sistem za ustvarjanje shem prilagojenih lastnim potrebam • Zadnja inačica priporočil (2007) se imenuje TEI P5, prosto dostopna, v HTML in PDF (1300 strani) c.f. http://www.tei-c.org/Guidelines/P5/
Dediščina TEI • način, da spoznamo kaj besedilo “resnično” je • kodifikacija obstoječe akademske prakse • nabor uveljavljenih predpostavk in prioritet na področju digitalizacije besedil: • poudarek na vsebini in funkciji (ne pa na izgledu) • iskanje generičnih rešitev (ne pa vezanih na posamezne aplikacije)
Kaj TEI nudi? • Priporočila • Način za definicijo sheme TEI XML za naš projekt (Roma) • Podporni programi, npr. za konverzijo TEI XML v HTML ali PDF • Prijazen dopisni seznam tei-l • Letna srečanja
Uporabniki TEI • Čez 100 projektovnaštetih na strani Projekti TEI • Glavna področja: • digitalneknjižnice • tekstnokritične izdaje • besedilni korpusi • slovarji