Bib: Računalniško komuniciranje, Informatika 2
Cenena produkcija sodobnih pomnilniških medijev, predvsem kompaktnih diskov, skokovit razvoj računalniških omrežij in omrežnih aplikacij pospešujejo potrebe in možnosti po dostopnosti informacij v elektronski obliki. V preteklosti so bili elektronski ponudniki informacij relativno redki, medsebojno neodvisni, količine informacij pa so bile, v primerjavi z ostalo informacijsko ponudbo, zanemarljivo majhne. Informacije, na primer bibliografske, so bile, z računalniškega vidika, enostavne in niso zahtevale posebno zmogljive opreme za pregledovanje. Tako stanje je dovoljevalo samostojen razvoj informacijske ponudbe in načine kodiranja informacij (zapisovanja v elektronski obliki), ki so bili prilagojeni potrebam posameznega informacijskega ponudnika.
Za hiter razvoj tržišča elektronskih informacij, ki smo mu priče, je značilno predvsem hitro povečevanje količine informacij v elektronski obliki in uveljavljanje zvrsti informacij, bistveno bolj zapletenih od enostavnega besedila. Vzporedno z razvojem tržišča informacij se je razvijala tudi računalniška strojna in programska oprema za pregledovanje informacij. Trenutno stanje kaže sicer relativno majhno število pomembnejših proizvajalcev računalnikov, vendar veliko pestrost modelov in še večjo pestrost programske opreme za manipuliranje z informacijami. Ponudniki elektronskih informacij niso mogli več razvijati svoje ponudbe v toliko različicah, da bi dosegla vse uporabnike, uporabniki pa so zahtevali uporabo informacij, tako enostavno, kot je pregledovanje v papirni obliki. Ker ni bilo mogoče pričakovati poenotenja strojne in programske opreme, je bil edini izhod v poenotenju zapisovanja informacij v nevtralni obliki, ki bi omogočila pregledovanje na obstoječi računalniški opremi. Tako so nastali standardi za zapisovanje informacij v elektronski obliki.
Uporabnik informacij v papirni obliki je navajen enake uporabe v poljubnih okoliščinah (prostorska neodvisnost). V pisarnah in arhivih se kopičijo gore dokumentov na papirju, tehnična dokumentacija mora biti berljiva vsaj celo življenjsko dobo objekta, ki ga opisuje... (časovna neodvisnost). Če hočemo, da bodo informacije v elektronski obliki vsaj deloma nadomestile papir, morajo biti torej berljive na enak prostorsko in časovno neodvisen način. Standardi zapisovanja elektronskih informacij morajo torej omogočiti prenosljivost dokumentov med različnimi tipi računalnikov, različno programsko opremo za pregledovanje ter enostavno prenosljivost na poljubno oddaljenost preko računalniških komunikacij. Uveljavi se lahko samo tak standard, ki omogoča uporabniku nove investicije v strojno in programsko opremo, ohrani pa investicije v informacije.
Označevalni jeziki so se razvili v založništvu in
tiskarstvu iz oznak, ki so na krtačnih odtisih opisovale
potrebne popravke in ukrepe glede videza dokumenta. Bistveno
izrazno moč (in istočasno zapletenost) so dobili z uvajanjem
elektronskega stavljenja besedil, ko je bilo potrebno samemu
besedilu dodati še popolna navodila fotostavčnemu stroju.
Označevalni jeziki so torej umetni jeziki, sestavljeni iz oznak
za delitev dokumenta na strukturne dele, včasih lahko tudi oznak
in navodil, ki opisujejo videz teh strukturnih delov, ter
slovnice, ki določa pravilno rabo oznak. Za ilustracijo:
najosnovnejše slovnično pravilo je tisto, ki določa, kaj je
oznaka označevalnega jezika in kaj samo besedilo, ki ga
označujemo.
MARC (Machine Readable Catalog) je bil nedvomno eden prvih označevalnih jezikov, ki so uspešno reševali problem prenosljivosti dokumentov med različnimi računalniškimi sistemi. Namenjen je izmenjavi bibliografskih in ostalih informacij, ki jih poznajo računalniški knjižnični katalogi. Pomembna lastnost, ki MARC loči od običajnih označevalnih jezikov, je v tem, da MARC določa samo strukturo zapisa. Struktura zapisa je torej ločena od definicij za tipe pisave, razmike med vrsticami ipd, s čimer se sicer ukvarjajo založniški in tiskarski označevalni jeziki. Predstavitev zapisa, njegov videz na zaslonu ali papirju je popolnoma prepuščen programom, ki zapis obdelujejo.
Sčasoma so se razvile številne, predvsem nacionalne izpeljanke osnovnega standarda MARC (USMARC, UKMARC, UNIMARC...), ki deloma zmanjšujejo popolno prenosljivost zapisov.
UNIMARC je predmet obravnave pri nekaterih drugih predmetih,
zato se v vsebino standarda tu ne bomo spuščali.
001 20055 010 $a92-2-106396-8 100 $a19890208d1988 f0ENGy103a 101 0 $aeng 200 1 $aSGML comes of age$fTony Smith 210 $aGeneve$cInternational Standards Organization$d1988 215 $axii, 180 p 225 2 $Documents of the Text Encoding Initiative$x0257-3415$v6 461 1 $100120054$12001 $v6 700 1 $aSmith$bTony |
Slika 1: Izmišljen primer dela kataložnega
zapisa v MARC formatu.
MARC formati opisujejo samo knjižnične, kataložne informacije, niso pa primerni za ostale oblike elektronskih informacij. Zelo pogosta oblika informacij, ki jih ne moremo učinkovito opisati z MARC, so popolna besedila dokumentov. Ta praviloma nastajajo v urejevalnikih besedil, v zadnjih letih po tako imenovanem načelu WYSIWYG (What You See Is What You Get), ki omogoča istočasno s pisanjem tudi dokončno določanje videza dokumenta. Struktura in videz dokumenta sta torej neločljivo povezana, kar bistveno zmanjšuje možnost prenosljivosti med različnimi računalniki in urejevalniki besedil. Še več - bolj ko je zmogljiv urejevalnik glede oblikovanja besedila, bolj zaprt sistem je. Lahko trdimo, da je razvoj grafičnih urejevalnikov besedil korak nazaj, gledano z vidika univerzalne uporabnosti elektronskih informacij.
Tudi grafični urejevalniki besedil uporabljajo svoje označevalne jezike, ki pa so namenjeni samo uporabi samega programa in so zato izven njega praktično nečitljivi.
Slika 2 predstavlja del zapisa v t.i. RTF (Rich Text Format), ki je nekakšna vmesna stopnja med urejevalniku lastnim označevalnim jezikom in prenosljivim označevalnim jezikom. RTF je izbran zato, ker označevalnega jezika, kakršnega uporablja sodobni urejevalnik besedila, ni mogoče predstaviti v obliki tekstovne slike.
{\rtf1\ansi \deff20\deflang1033{\fonttbl{\f4\froman\fcharset0\fprq2 Times New Roman;} {\f5\fswiss\fcharset0\fprq2 Arial;}{\f20\fnil\fcharset0\fprq2 SLOHelvetica;}} {\colortbl;\red0\green0\blue0;\red0\green0\blue255; ... sledi še nekaj deset vrstic splošnega opisa tipov pisav, zamikov... \pard\plain \qr\sb40\sa40\tx357 \f20\fs20\lang2057 {\fs18 Bib: Računalniško komuniciranje, Informatika 2} \par \pard\plain \s18\sb40\sa40\tx357 \b\f20\fs30\lang2057 {\i\fs32 Predavanje: Standardi za označevanje dokumentov \par }\pard\plain \s1\fi-360\li360\sb240\sa40\tx357 \b\f20\fs28\lang2057 1.\tab Razlogi za standardizacijo označevanja informacij |
Slika 2: Del zapisa v RTF, ki opisuje prve tri vrstice tega predavanja.
TEX (X ni črka iks, ampak grški ) je programski sistem in označevalni jezik za elektronsko stavljenje besedil, predvsem takih, ki vsebujejo veliko matematičnih izrazov. Deset let ga je sestavljal Donald E. Knuth s Stanfordske univerze, v uporabo pa je prišel okrog leta 1970. Gre za označevalni jezik, ki definira tako strukturo, kot tudi videz dokumenta, vendar na način, ki omogoča prenosljivost. Zaradi izredne učinkovitosti so bili narejeni prevajalniki za vse pomembnejše modele računalnikov. TEX se drži vseh grafičnih standardov v tiskarski industriji in iz TEXa tiskani dokumenti po videzu še vedno presegajo najsodobnejše urejevalnike besedil. Razlog, da TEX skoraj gotovo ne bo postal splošni standard, je v tem, da je najprimernejši za tekstovne dokumente. To ga izloča na tržišču, ki je vedno bolj usmerjeno v multimedijske elektronske dokumente.
LaTeX je, za uporabnika, poenostavljena oblika TEXa (slika 3).
\documentstyle[12pt,slovene]{article} \addtolength{\topmargin}{-1cm} \addtolength{\textheight}{2.5cm} \input yuset \renewcommand{\topfraction}{0.9} \renewcommand{\textfraction}{0.1} \renewcommand{\floatpagefraction}{0.8} \setlength{\textfloatsep}{1.4\textfloatsep} \def\boxm{\framebox[13.7cm]{\rule[-75mm]{0cm}{7.5cm}}} \def\boxv{\framebox[13.7cm]{\rule[-160mm]{0cm}{16cm}}} \def\noparsk{\medskip \noindent} \def\msk{\vskip 0.5cm} \begin{document} \pagebreak \markright{\hfill {\rm Bib: Ra{\ch}unalni{\sh}ko komuniciranje, Informatika 2}} \title {\bf Predavanje: Standardi za ozna{\ch}evanje dokumentov} \section {\bf 1. razlogi za standardizacijo ozna{\ch}evanja informacij} \setcounter{page}{1} ... sledi besedilo, označeno v LaTEXu ... \end{document} |
Slika 3: Del besedila iz za~etka predavanja, ozna~enega v LaTEXu
SGML - Standard Generalized Markup Language (standardni splošni označevalni jezik) je mednarodni standard, ki ga je sprejela ISO (International Standards Organization) leta 1986 in je bil od takrat že nekajkrat dopolnjen. Gre pravzaprav za družino standardov, ki urejajo označevanje vseh znanih zvrsti elektronskih informacij.
Prednost SGML je v njegovi splošnosti, ker sta logična struktura in videz dokumenta povsem ločena. SGML kot standard se ukvarja samo z označevanjem strukture dokumenta na način, ki je popolnoma neodvisen od računalniške opreme, ki ga bo uporabljala in s tem omogoča prenosljivost, prezentacijo (videz) dokumenta pa prepušča programski opremi za oblikovanje in tiskanje dokumenta (ki seveda mora razumeti SGMLjeve oznake). V tej lastnosti je SGML zelo podoben MARC.
Osnovna filozofija, na kateri temelji SGML je:
Dokument, zapisan v SGML, je sestavljen iz treh delov:
Dokument, označen s SGML si lahko približno ponazorimo s kuhinjsko analogijo. V tej analogiji deklaracija in DTD ustrezata seznamu sestavin, ki jih rabimo pri kuhanju določene jedi, DTD je na nek način tudi vsebina recepta, ker določa, kako so lahko sestavine pomešane, vsebina dokumenta pa je sama jed. Deklaracija in DTD definirata samo tiste sestavine, ki jih potrebujemo za izvedbo konkretnega recepta. Če razširimo analogijo še na MARC, potem MARC definira vse sestavine na tržnici (pravzaprav na vseh tržnicah, v vseh letnih časih), konkretna jed pa uporabi samo njihov majhen del.
Document Type Definition (DTD) predstavlja razred dokumentov, posamezni dokumenti pa so njegovi primeri (instance). Tip dokumenta (in razred, s svojim DTD) je na primer diplomska naloga, kakršno zahteva neka visokošolska inštitucija, posamezne naloge, ki se držijo predpisane strukture pa so primeri tega razreda. Sledi, da ni potrebno, da je DTD sestavni del vsakega dokumenta. Dovolj je, da se dokument sklicuje na obstoječi DTD, ki ga seveda mora poznati tudi programska oprema za tiskanje.
SGML je označevalni jezik in DTD lahko razumemo kot slovnico tega jezika, v obsegu, ki je potreben za razumevanje posameznega razreda dokumentov. Istočasno je DTD tudi opis arhitekture razreda dokumentov, ker določa sestavne dele dokumenta in njihovo možno zaporedje. Na ta način je sistem označevanja dokumentov odprt v prihodnost. Ni namreč realno pričakovanje, da bi se nekoč vsi uporabniki SGML in proizvajalci programske opreme dokončno sporazumeli o arhitekturah vseh tipov dokumentov, zato lahko vsak avtor nestandardnega dokumenta sestavi svoj DTD, ki ga opisuje. Potrebno je samo, da skupaj z dokumentom vedno posreduje tudi njegov DTD.
Iz kuhinjske analogije je razvidna ena od bistvenih razlik med MARC in SGML. Programska aplikacija, ki uporablja dogovor MARC, mora imeti znanje (pojmovni aparat) za kompleten standard in informacija v dokumentu (kataložnem zapisu), ki se standarda ne drži, je izgubljena. SGML je samo splošni okvir, ki določa, kako sestaviti DTD, posamezen DTD pa sam nosi pojmovni aparat, kompleten samo do mere, ki je potrebna za razumevanje razreda dokumentov. SGML je tako bistveno bolj elastičen in odprt za spremembe.
Največja težava pri uvajanju SGML je drugačen način
pisanja dokumentov, kot so ga navajeni uporabniki sodobih
urejevalnikov besedil: SGML ni WYSIWYG. Zaenkrat je pri uporabi
orodij za pisanje dokumentov v SGML še vedno treba oznake v
besedilo dodajati ročno, besedilo na zaslonu pa ni vidno v
dokončni grafični obliki. Težava bo v veliki meri odpadla, ko
bodo najpomembnejši proizvajalci programske opreme za pisanje in
urejanje besedil v svoje programe vgradili tudi prevajalnike v in
iz SGML, kar že najavljajo.
<!DOCTYPE list.citn [ <!-- DTD fragment for citations drafted: LB 26 May 90 --> <!element list.citn - - (citn|citn.struct)* > <!entity % citn.bits "(author|editor|title|title.piece |series|publisher|publ.city|publ.date |imprint|citn.detail|comment)" > <!element citn - o (#PCDATA | %citn.bits)* > <!element citn.struct - o (author?,editor?,title.piece*,title, series?,publisher?,publ.city?,publ.date?, imprint?,citn.detail*,comment?) > <!element %citn.bits - o (#PCDATA) > ]> <!-- This is a piece of the short SGML Reading list bibliography--> <LIST.CITN> <CITN.STRUCT> <AUTHOR>Barnard, David et al </author> <TITLE.piece>SGML Based Markup for literary texts </title.piece> <TITLE>Computers and the Humanities</title> <PUBL.DATE>1988</publ.date> <CITN.DETAIL>vol 22 pp 265-76</citn.detail> <COMMENT>Pioneering attempt to represent literary structures using SGML.</comment> </CITN.STRUCT> <CITN.STRUCT> <AUTHOR>Barron, David</author> <TITLE.piece> Why use SGML? </title.piece> <TITLE>Electronic Publishing</title> <PUBL.DATE>April 1989</publ.date> <CITN.DETAIL> vol 2(1) pp 3-24</citn.detail> <COMMENT>Well-written brief overview of SGML in context of other developments in electronic text handling </CITN.STRUCT> </LIST.CITN> |
Slika 4: Del besedila iz enostavnega spiska referenc, označenega v SGML
V okviru družine standardov SGML so tudi standardi, ki urejajo označevanje hipertekstnih in multimedijskih dokumentov. Eden najbolj znanih je HyTime (Hypermedia/Time-based Structuring Language). Pri DTDjih hipertekstnih dokumentov morajo biti definirane povezave med strukturnimi deli različnih dokumentov. Lastnost DTDjev hipermedijskih dokumentov pa je tudi nujna sposobnost določanja poteka postopkov (v kuhinjski terminologiji: kako zmešati sestavine, ne samo katere in v kakšnih razmerjih) in njihovih časovnih karakteristik (v video dokumentu morata biti slika in zvok usklajena). Vse to sicer dodatno zapleta označevalni jezik, vendar mu daje potrebno izrazno moč, potrebno za sodobne elektronske dokumente.
HTML (Hypertext Markup Language) je standard iz družine SGML,
ki ga uporablja WWW (World Wide Web). S HTML se bo ukvarjalo
naslednje predavanje.