Strokovne kazpravk Uvod v SGML sestav za opis zgradbe besedil Vladimir Batagelj, Univerza v Ljubljani. Matematika, Jadranska 19, 61111 Ljubljana e-mail: Vladimir, Batagelj euni-lj.si http://vlado.mat. uni-lj.si/v!ado/sgml/sgm[u vod, ht in h ttp ://vlado. mat. u n i - Ij. s i/ftps, htm # sgml Povzetek SGML - Standard Generalized Markup Language je sestav, namenjen za pripravo zvrsti spisov. Z dopolnitvijo spisov z opisom njihove zgradbe (v od vrste programa aii računalnika neodvisni obliki) omogočimo izdelavo različnih programov za njihovo uporabo (priprava, vzdrževanje, prikaz, iskanje in analiza} tn prenosljivost med raznovrstnimi računalniki. V sestavku je podana kratka predstavitev sestava SGML. dbsfracf SGML ■ Standard Generalized Markup Language is a system for preparing document type definitions, Embedding of descriptive markup within documents enables us to produce different application programs (to prepare, display, maintain, search and analyze documents) and to transfer documents among different platforms. In the paper a short introduction to SGML is given. Sestavek je sestavljen iz dveh delov: ■ splošne predstavitve sestava SGML, namenjene Širokemu krogu bralcev - predvsem infonnatikom, založnikom, knjižničarjem in arhivarjem; ter ■ programerske predstavitve, ki naj pomaga pri prvih korakih uporabe SGMLja in vzpodbudi k samostojnemu poglabljanju v njegove tančine. Na koncu je zbranih še nekaj smerokazov za samostojno brskanje. 1. Zakaj SGML? 1.1. Besedi!ap računalnik in označevanje Po nekaterih ocenah v ZDA: ■ porabijo 20% narodnega dohodka za ustvarjanje novih informacij; ■ 90% teh informacij je ria papirju in ne v računalniški obliki; ■ pri pripravi spisov se 3U% časa porabi za iskanje informacij in nadaljnjih 30% za oblikovanje spisov. Podobno velja tudi drugod v razvitem svetu. Zaradi tehnoloških sprememb je potrebno tudi informacijo v računalniški obliki pogosto pretvarjati za nove programe. Kompaktne plošče in omrežja omogočajo hranjenje in razširjanje velikili količin podatkov. Po drugi strani uporabnik želi informacijo, ki je prilagojena njegovim potrebam. SGML - Standard Genernlized Mark up Lnnguage je poskus odgovora na to izzive. V tiskarstvu se označevanje pri oblikovanju besedil uporablja že dolgo. Uporabljajo ga oblikovalci, kot navodila stavcem, /. a določitev kje i n kako naj se dani del besedila prikaže (sprememba pisave in njenih lastnosti, prehod na novo stran,...). Podobno pri računalniškem oblikovanju besedila obli kova In i k {Word Star, Word, Word Perfect,...) vključi med besedilo dodatne sestavine, ki določajo prikaz besedila. Taki so tudi opisi besedil v jezikih Postscript, RTF (Rich Text Format), Hoff,... Ker ti opisi natanko določajo, kaj se zgodi s posameznim delom besedila, govorimo o (Xatopkoimioznačitvi besedila. Korak naprej pomenijo zvrsti besedila v I.a TeX u in oblikovanje besedil z uporabo slogov (Word,...}, kjer za posamezni del besedila povemo le fay je -opisna označitev, oblikovalnik pa nato sam poskrbi za ustrezno oblikovanje glede na izbrani slog. Prednost opisne označitve se pokaže pri preoblikovanjih besedila zaradi sprememb (članek, prosojnice). i ipamb [(H NFORMÄTIK& STHOKOVNT, KAZl'HAVK Vendar tudi opisna označitev še ne omogoča zadovoljive računalniške obdelave besedil. To dosežemo šele s posplošenim označevanjem, s katerim v besedilo vnesemo opis njegove zgradbe - določitev značilnih sestavin in njihove medsebojne povezanosti. S tem ustvarimo znakovno podatkovno bazo. SGML je sestav, ki to omogoča. Natančneje, SGML zagotavlja: h ločitev opisa zgradbe od opisa oblike prikaza - znakovna podatkovna baza; ■ uporabo gradiv v različne namene, vključevanje dodatnih informacij; ■ prenosljivost: neodvisnost od vrste računalnika {znakovni opis v izbrani kodi - praviloma koda ASCII); ■ povečanje učinkovitosti priprave, uporabe, vzdrževanja in razpečevanja informacije; ■ trpežnost in trdoživost gradiv: nevezanost na posameznega proizvajalca programske opreme; ■ odprtost; pestrost orodij različnih proizvajalcev; ■ nedvoumnost, zmanjšanje števila napak v podatkih; ■ izboljšan nadzor: povezave med posameznimi sestavinami, omejen dostop do posameznih podatkov. 1.2. Razvoj sestava SGML Septembra leta 1967 je William Tunnicliffc na sestanku na Kanadskem državnem uradu za ti>k predstavil zamisel o potrebi po ločitvi vsebine in oblike spisov. Konec Šestdesetih let Stanley Rice, oblikovalec knjig iz New Yorka, predlagal nabor značk za opis zgradbe spisov. Ta nabor je bil ob podpori združenja Graphic Communications Association razvit v prvi opisni nabor GenCode. Na teh osnovah so leta 1969 Charles Goldfarb, Edwar Mosher in Raymond Lorie za podjetje IBM ustvarili G ML -Generalized Markup Language. Vanj so vpeljali tudi pojem zvrsti spisa in gnezdenja sestavin. GML je posta! osnova IBMove programske podpore založništva. Goldfarb je nadaljeval raziskave o zgradbi spisov in razvil vrsto dodatnih sestavin. Leta 1978 je bila pri ANSI (American Mi//cum/ Standards institute) ustanovljena skupina za pripravo standarda jezika za opis besedil, ki bi izhajal iz jezika GML. Prvi osnutek standarda je bil predstavljen leta 1980; šesta različica pa je že dobila vlogo industrijskega standarda {GCA 101-1983). Leta 1984 se je /ačelo sodelovanje med ANSI in ISO (International Standards Organization) pri pripravi mednarodnega standarda. Osnutek je bil objavljen leta 1985, naslednje leto pa tudi sam standard SGML (ISO 8879:1986 Information processing - Text and office systems -Standard Generalized Markup Language). 1.3. Projekti SGML je bil že med nastajanjem in ob samem začetku podprt z dvema večjima projektoma: 1.3.1. Electronic Manuscript Project V letih 1983-1987 je delovna skupina pri Association of American Publishers pripravila v SGML opise zvrsti knjiga, časopis in članek, s Čimer naj bi poenotila in olajšala izmenjavo rokopisov med pisci in založbami. Te rešitve je sprejelo tudi porajajoče se založništvo kompaktnih plošč. 1.3.2. CALS CALS - spočetka (1987) Computer-aided Acquisition and Logistic Support, sedaj Continuous Acquisition and Life-cycle Support je projekt ameriškega obrambnega ministrstva (US Department of Defense). Že februarja leta 1988 je bil izdan standard MIL-M-28001, ki temelji na SGML. Cilj projekta je zagotoviti, v računalniški obliki, enotno tehnično dokumentacijo vseh naročenih izdelkov. To naj zagotovi pocenitev, sprotno obnovo in hitrejši dostop do iskane informacije. O pomenu projekta marsikaj pove podatek, da ameriška bojna ladja nosi tudi 20 do 25 ton priročnikov o njej. Odslej naj bi vsi dobavitelji DoD pripravljali dokumentacijo po pravilih CAI .S. V devetdesetih letih je Število projektov zelo naraslo. Med njimibomo omenili le tri: 1.3.3. HTML HTML (HyperTexi Markup Language) se uporablja na WWW (World-Wide Web) od leta 1990 dalje. To je preprost jezik za označevanje, ki temelji na SGML in omogoča pripravo sestavkov (besedilo, slika, zvok, video,...) prenosljivih med različnimi vrstami računalnikov. HTML je v trajnem razvoju, za katerega skrbi IETF (Internet Engineering Task Force). Trenutno večina pregledovalnikov podpira HTML 2.0; marca 1995 pa je že izšel osnutek za HTML 3.0. 1.3.4. TE I - Text Encoding Initiative TE1 je mednarodni projekt, ki ga podpirajo Association for Computing in Humanities, Association for Literary and Linguistic Computing in Association for Computational Linguistics. Usmerjen je na označevanje gradiv s področja umetnosti in družbenih ved in naj bi ustvaril priporočila /a pripravo in izmenjavo besedil v računalniški obliki za raziskovalne in založniške namene. 1.3.5. UTF Delovne skupine pri International Press Telecomunicatioiis Council in NewsjMper Association of America so za osnovo novega standarda UTF (Universal Text Format), ki bo nadomestil standarda IFTC 7901 in ANPA1312, izbrale SGML. 2. Osnove SGML 2.1. Osnovne sestavine Pri opisu osnov sestava SGML bomo uporablja li običaju i zapis. Njegova pravila (uporabljena koda, ločila,dolžina imen,...) lahko po potrebi spremenimo. iifx»ah id NFORM ATI-KA STKOKOVNIS KAZPItAVti 2.1.1. Značke Opis zgradbe vnašamo z značkami (tag, element). Posamezna značka je obdana z znakoma začetek značke <; in konec značke >;. Na primer. Poznamo: ■ samostojne značke ali določila, pri katerih začetku značke sledi imp značke; in m oklepajne značke, ki jih sestavlja par značk. Z oklepa-jnimi značkami omejujemo gradnike besedila. Prva značka para - začetek je po obliki enaka samostojni znački; druga značka para -koncc pa ima po začetku značke znak/, ki mu sledi ime značke. Pravzaprav je Ljubljano, glavno mesto predstavlja nek kraj. V običajnem zapisu je ime značke sestavljeno iz črk, števk in znakov . ter -; začeti mora s črko; ni razlike med velikimi in malimi črkami; dolgo je lahko največ8 znakov. 2.1.2. Delci V besedilo lahko vključujemo tudi de/ce besedila (entity), katerih vsebina se nahaja izven samega spisa - v pomnilniku ali na datoteki. Delci so lahko od znaka do vsebine cele datoteke. Vključitev nekega delca zahtevamo tako, da zapišemo njegovo ime predznačeno z znakom s in zaključeno s podpičjem ;. Za imena delcev veljajo v običajnem zapisu ista pravila kot za imena značk, leda razlikujemo med velikimi in malimi črkami. Delci nam omogočajo: ■ zapisati posebne znake, ki jih ni v kodi, v kateri pripravljamo opis spisa; ■ vpeljati okrajšave za dolge in ponavljajoče se dele besedila; ■ pripraviti opis spisa na več datotekah; ■ vključevanje lokalnih podatkov - datum, ustanova, vrsta računalnika ... Delec oblike f.#n; označuje znak s kodo n (desetiško), SGML pozna tudi delce &#rs; (record start ■ začetek zapisa), &#re; (record end - konec zapisa), s#space; (presledek), &#tab; (predelčnik) in imena za znake, ki nastopajo v značkah. < , >, &, " dajo zaporedoma znake <, >, ". Kako sami določimo delce, bomo razložili v nadaljevanju. 2.1.3. Stavki Določitev delcev in značk ter opis medsebojnih ¿vez med posameznimi značkami omogočajo stavki. Ti so nekakšne samostojne značke, ki začenjajo s sestavljenim znakom začetek stavka . 2.1.4. Ukazi Tudi ukazi so nekakšne samostojne značke, ki začenjajo s sestavljenim znakom začetek ukazov ki ga ponavadi lahko opustimo. 2.2.2. Opis zvrsti spisa zvrst spisa je določena z značkami in delci, ki so značilni za neko skupino spisov. Te so običajno zbrane na eni ali več datotekah s podaljškom dtd (Document Ti//«1 Definition). <1DOCTYPE zvrst SYSTEM "pot\zvrst.DTD"> V stavku DOCTYPE lahko v oglatih oklepajih vnesemo popravke in dopolnila opisa zvrsti spisa in poskrbimo za posamezne delce. Praviloma zvrst spisa sestavimo za večjo skupino uporabnikov, ki uporabljajo in si izmenjujejo istovrstne spise. Najpogosteje v opisu zvrsti uporabljamo naslednje stavke: 2.2.2.1. Določitev delcev Najpreprostejša oblika določitve delca je vpeljava okrajšave, ki ima obliko Na primer iipombi «INFORMATIKA Strokovnk luznwt; Niti primer Z opisom spisa lahko povežemo (motatION) tudi ne-SGMLjevske datoteke {bitne slike, spise oblikovane v VVordu,...). Delce, ki vsebujejo ukaze, vpeljemo s stavkoma oblike < ENTITY ime S DATA "niz znakov"> Prvo obliko PI (Processing Instructions) uporabljamo takrat, ko gre za Čiste ukaze programu za obdelavo druga oblika pa vrne programu za obdelavo niz znakov. Tako je v dodatkih k ISO 8879, v opisu nabora znakov Latin 2, znak i1 podan kot Delec & ccaron; vrne v program za obdelavo niz [ccaron ). Čepa v stavku [ccaron] nadomestimo/. t#126;, bomo na starejših prirejenih tiskalnikih in zaslonih dobili željeni izpis. Kadar belimo delec ime uporabiti v definiciji nekega drugega delca, ga vpeljemo s stavkom oblike <1ENTITV I ime "niz znakov"> uporabimo pa z zahtevo % ime/. Na primer, kadar je delec rta datoteki širše uporaben (del knjižnice), to povemo z obliko Tako delec IS01at2 povežemo zopisom na bo raz na ko v Latin 2, v dodatkih k ISO 8879, s stavkom <1ENTTTY % I SOlatZ PUBLIC HISO 8879-1986//ENTITIES Added Latin 2//SN"> %IS01at2; S stavkom lahko določimo vrednost vključitev nenajavljenili delcev. 2.2.2.2. Značke Značke vpeljemo s stavki oblike: < J ELEMENT ime zac kon sestava> Pri tem je ime ime značke, zac in kon lahko zavzameta vrednost - ali O. V opisu spisa omogočata opuščanje posameznih značk, ki so določene z drugimi. Vrednost - pomeni, da je značka obvezna; vrednost 0 pa, da jo lahko opustimo. SGML pozna Še več vrst okrajšav, vendar moramo biti pri njih uporabi previdni, ker lahko privedejo do dvoumij. sestava opisuje zgradbo in medsebojne povezanosti gradnikov in določil. Ce uporabimo za sestavo besedico empty, je pripadajoča značka določilo. Sicer je sestava določena z izrazom, ki pove, katere značke in v kakšnem vrstnem redu se lahko pojavijo znotraj gradnika, Izraz zgradimo postopno iz členov oblike: ■ #PCdata - (parsed character data) zaporedje znakov, M i/ne - ime značke, ■ člen? - Člen je lahko prisoten ali odsoten, ■ ciejj+ - člen se mora pojaviti vsaj enkrat, ■ člen* - člen se lahko pojavi poljubnokrat - lahko je tudi odsoten, ■ ( členi ) skupina: zaporedje členov povezanih z: ■ , - zaporedje, ■ | - ali, ali, ■ & - vsi, v poljubnem vrstnem redu. Tako na primer < I ELEMENT spis 0 0 ((naslov ¡¿pisec?}, odstavek+) > določa, da se spis {začetno in končno značko lahko opustimo) začne z naslovom in neobveznim piscem ali pa piscem in naslovom. Sledi neprazno zaporedje odstavkov. Pri opisu sestave gradnikov, lahko opise gradnikov z enako sestavo združimo v en opis, ki i m.i namesto imena značke skupino imen, ločenih z j, združenih gradnikov. Opis sestave lahko nadaljujemo tudi z znakom + pred/načenoskupino imen, kar pomeni, da se te značke lahko pojavljajo kjerkoli znotraj dane značke. Predznak - ima nasprotni učinek. Posamezni znački ime lahko pripišemo lastnosti s stavkom: Trojica lastnost zaloga vrednost se ponovi za vsako lastnost, ki jo lahko pripišemo znački. 1 .astnost podamo z njenim imenom. Za zalogo vrednosti napišemo seznam vseli možnih vrednosti (11 a štet je) ali pa navedemo eno od vrst vrednosti: id, idref, cdata, number, numbers, name, names, nmtgkens, nuto-kens, ... Za vrednost lahko napišemo izbrano vrednost ali eno od gesel: ■ /REQUIRED - pri uporabi značke mora biti določena tudi lastnost; ■ /implied - če vrednost ni podana, dobi lastnost vgrajeno vrednost; ■ /current-če vrednost ni podana,dobi lastnost zadnjo uporabljeno vrednost. Zaradi omejenega prostora, bomo tu naš opis sestava SGML prekinili. Seveda SGML omogoča še vrsto stvari, ki pa presegajo okvire uvoda. 3. Primer Za primer si oglejmo poenostavljen opis zvrsti, ki ustreza zbirki vesti. Shranimo ga na datoteki vesti.dtd; iifvnifoi/ANFORMATIKA Strokom k iuzpkave <1 — 'i Document Type Definition for VESTI i Vladimir Batagelj, september 1995—> <[ENTITY % kk «1 ELEMENT vesti 0 0 «¡ELEMENT vest -O < J ELEMENT glava - 0 «!ELEMENT (íkk;) - 0 "kdo|komu"> (vest*)> (glava,telo) +(vrsta)> ((%kk;(*&datums-sklic*)> (oseba,naslov?)? c¡ELEMENT (datum|člen|oseba|naslov|odstavek} - O (#PCDATA)> «[ELEMENT (sklic|vrsta) - 0 EMPTY? - O (odstavek|seznam)*> - 0 (člen*)? <¡ELEMENT telo <¡ELEMENT seznam (črta|pika j crke|stej) stej Na datoteki ZNAKI. ENT pripravimo nekaj različnih rešitev za obravnavo naših črkčšž: «¡entity cearon S dat a "c"—small c, caron—? «¡ENTITY Cearon Sdata "C"--capital C, caron~> <1 ENTITY Scaron "["—capital S, caron—? <1 ENTITY zcaron SDATA "'z'—small z, caron—? Primer vesti je shranjen na datoteki JANEZ. SGM: «vest oznaka=janez01 tajnost=javno> «glava? «oseba? X Y «naslov> aaaa «vrsta? bbbb «/naslov? «komu> «oseba? U V «/oseba? «naslov? cccc dddd «/naslov? «/komu? 10. januar 1995 «/datum? «/glava? «odstavek? 4ccaron;ira 5Ccaron;ara Vse skupaj povežemo z datoteko vlado. sgm: «!-- VESTI - Vlado -? «¡entity % znaki SYSTEM "./znaki■ent"> %znaki;] ? «vesti? t janež; «vest oznaka=vlado01> «glava? «kdo? «oseba? U V «komu? «oseba? X y «naslov? cccc «vrsta? iscaronrisscaronjka «sklic oznaka=janez01> «datum? 23. januar 1995 «telo? «odstavek? bla «vrsta? bla «odstavek? ble ble «/vesti? Za pregled pripravljenega opisa bomo v DOSu uporabili Clarkov razčlenjevalniknsgmls (SP parser). Da nam ne bo potrebno vsakič navajati vseh stikal, si jih pripravimo na datoteki SP. bat: SET DOS4G=quiet nsgmls -deguv -ftl.ERR ti.SGM > il.PRS Sedaj lahko preprosto zahtevamo sp vlado. Na datoteki vlado. err dobimo izpis sporočil o napakah v opisu v našem primeru ostane prazna. Na datoteki vlado.prs pa dobimo razčlenjeni opis (prikazan je v dveh stolpcih - najprej preberite celoten prvi stolpec): (VESTI AOZNAKA TOKEN VLADO01 AOZNAKA TOKEN JANE201 ATAJNOST TOKEN ZAUPNO ATAJNOST TOKEN JAVNO (VEST (VEST (GLAVA (GLAVA (KDO (KDO (OSEBA (OSEBA - U V - X Y (OSEBA (OSEBA ) KDO (NASLOV (KOMU - aaaa (OSEBA (VRSTA - X Y\n )VRSTA )OSEBA - bbbb (NASLOV )NASLOV - cccc ) KDO (VRSTA [KOMU (VRSTA (OSEBA - [i(ka\n - U V )NASLOV )OSEBA (KOMU (NASLOV AOZNAKA TOKEN JANEZ01 - CCCC (SKLIC (VRSTA (SKLIC )VRSTA (DATUM - dddd - 23. januar 1995\n )NASLOV )DATUM (KOMU )GLAVA (DATUM (TELO - 10. januar 1995 (ODSTAVEK )DATUM - bla )GLAVA (VRSTA (TELO (VRSTA (ODSTAVEK - bla\n - McMira \ |C\ | ara (ODSTAVEK ) ODSTAVEK (ODSTAVEK (ODSTAVEK - ble ble - \|"z\|iga "Zaga (ODSTAVEK )ODSTAVEK (TELO (TELO (VEST ) VEST )VESTI Znake na koncu razčlenitve pomeniconforming - opis je skladen z zvrstjo spisa. Podrobneje si oglejte, kaj je razčlenjevalnik naredil s posameznimi delci za naše črke. Primerjajte tudi vest iz datoteke janez. sgm (polni opis) z vestjo z datoteke vlado. sgm (okrajšani opis). 24 i qxmifo ud NFOR MAT IKA Strokovne ilvzpravb 4. Programska in druga podpora Čeprav lahko opise spisov pripravimo s poljubnim znakovnim urejevalnikom, je to precej lažje početi s prilagojenimi urejevalniki, ki upoštevajo zvrst spisa. Taki so na primer Emacs, Author/Editor (SoftQuad)'m dodatek Word-Pcrfcctu. Med proizvajalci programske podpore za SGML sta najbolj znani podjetjiSoftQuad in ArborText, Za preverjanje pravilnosti spisov je na voljo več razčlenjevalnikov. Med njimi sta najbolj znana Clarko-va sgmls in novejši nsgmls (SP), ki smo ga tudi mi uporabili v našem primeru. Razčlenjeni spis lahko z lastnimi programi naprej obdelamo glede na naše polrebe. Za oba razčlenjevalnika je mogoče dobiti tudi izvorne programe napisane v Cju, kar nam omogoča izdelati učinkovitejše (brez vmesne datoteke *.FRS) programe za obdelave spisov. Obstaja tudi več splošno dostopnih opisov zvrsti (DTD): Association of American Publishers, Elsevier, ISO 12083, IBM Information Development document type, TEI, CALS,... S splošnim označevanjem ločimo zgradbo spisa od njegove oblikovanosti pri prikazih. Tudi za opis oblike je bilo pripravljenih nekaj standardov. Taka sta na primer DSSSL (Document Style Semantics and Specification Lan-guage, ISOlOl79:1991) in FOSI {Formatted Output Specification Instance, CALS). 5. Viri 5.1, Pisna gradiva Charles E Goldfarb: The SGML Handbook. Clarendon Press, Oxford 1990. Eric Van Herwijnen: SGML Pratique, International Thomson Publishing France, Paris 1995 (izpopolnjen prevod v francoščino knjige Practical SGML, Kluwer Af? 1994). Ian S. Graham: HTML Sourcebook. John Wiley, New York, 1995. Guidelines for Electronic Text Encoding and Interchange, C.M. Sperberg-McQueen, Lou Burnard, eds„ 16. maj 1994: http://www.uic.edu/orgs/tei/info/guide.html Getting Started with SGML http://www.arbortext.com/wp.html SGML Users' Group History http://www.sil,org/sgml/sgmlhistO.html 5.2. Naslovi na internetu SGML Web Page http://www.sil.org/sgml/sgml.html; Department of Informatics, University of Oslo, SGML Repository: ftp://ftp.ifi.uio.no/pub/SGHL; The Project at Exeter Home Page http://www.ex.ac.uk/SGML/newsgml.html; FrP: ftp://info.ex.ac.uk/pub/SGML; Computer Science Department, Technical University of Darmstadt, SGML Archive ftp://ftp.th-darmstadt.de/pub/text/sgml; James Clark's Home Page; http://www.jclark.com/ in njegovi SGML Parsers (SGMLS, SP): ftp://ftp.jclark.com/pub; TEI ■ Text Encoding Initiative Home Page http://www.uic.edu/orgs/tei/; FTP: ftp://ftp-tei.uic.edu/pub/tei/; CALS / navy http://navysgml.dt.navy.mil/cals.htinl; glej Se The NTIS CALS Information Center http://www.fedworld.gov/edioals/calsinf2.html; Oxford Text Archive'. ftp://ota.ox.ac.uk/pub/ota; BNC - British National Corpus Project Text Archive: http://info.ox.ac.uk/bnc/index.html; Project Gutenberg Home Page: http://jg.cso.uiuc.edu/PG/; IADS - Interactive Authoring and Display System: ftp://ftp.ifi.uio.no/pub/SGHL/lADS/v2_0/ SoftQuad Inc. Home Page: http://www.sq.com/. 5.3. Slovarcek attribute lastnost document spis element gradnik, značka font pisava entity delec markup označevanje parser razčlenjevalnik style slog tag značka text besedilo, znakovni type zvrst »/wmhmiNFORMATIKA