Jezici za obele zavanje dr Jelena...
Transcript of Jezici za obele zavanje dr Jelena...
Veb programiranjeJezici za obelezavanje
dr Jelena Graovac
www.matf.bg.ac.rs/~jgraovac
Matematicki fakultetBeograd, 8. mart, 2017.
Jezici za obelezavanjeSGML
XMLLiteratura
Pregled
1 Jezici za obelezavanje
2 SGML
3 XML
4 Literatura
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Pregled
1 Jezici za obelezavanje
2 SGML
3 XML
4 Literatura
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Jezici za obelezavanje
Dva paradigmaticna pristupa za kreiranje tekstualnihdokumenata:
Interaktivno-graficki pristup;Ekplicitno obelezavanje teksta.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Interaktivno-graficki pristup
“What You See Is What You Get“, ono sto vidis, to i dobijas
“What You See Is all You´ve Got“, ono sto vidis, to je sve stodobijas
Obelezja nisu vidljiva ni dostupna korisniku
Obelezja se uglavnom vezuju za graficke karakteristike teksta(npr. predstavljanje dela teksta krupnijim slovima, cirilicom ilinekim drugim pismom, postavljanje poravnanja i slicno)
Ovako funkcionisu mnogi danasnjih komercijalnitekst-procesori (npr. Microsoft Word)
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ekplicitno obelezavanje teksta
Tekst se dodatno obelezava informacijama koje ga opisuju
Naglasak je na opis logicke strukture teksta bez brige o tomekako on trenutno izgleda na ekranu
Za unos teksta se koristi proizvoljni editor
Obelezja korisnik eksplicitno unosi u tekst
Obelezja uglavnom oznacavaju logicke celine u tekstu
Prikazivanje se definise jedinstveno za sve instance kojeodgovaraju odre�enom logickom obelezju
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Jezici za obelezavanje
Logicka struktura dokumenta
Organizacija dokumenta na manje jedinice (npr. poglavlja,sekcije, pasuse)oznacavanje istaknutih delova dokumenta (npr. primeri, citati,definicije i teoreme)
Vizuelna prezentacija
Odre�uje izgled dokumenta u trenutku prikazivanja ilistampanjaNa primer, ona odreduje vrstu i velicinu slova kojima seodredeni delovi teksta predstavljaju, prored koji se koristi,raspored delova dokumenta na papiru ili ekranu, boju delovadokumenta i slicno.
Razdvajanje logicke strukture dokumenata od njihove grafickeprezentacije ima dosta prednosti
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Jezici za obelezavanje
Jezici za obelezavanje teksta (eng. markup languages)
To su vestacki jezici u kojima se koriscenjem posebnih oznakaopisuje logicka struktura teksta ili njegov graficki izgled.
Najpoznatiji jezici za obelezavanje su HTML, TEX tj. LATEX,PostScript, RTF, itd.
Svaki od ovih jezika odlikuje se konkretnom sintaksomoznacavanja i koristi se za oznacavanje jednog tipa dokumenta
Nazivaju se jos i objektni jezici
Svaki pojedinacni tip dokumenata zahteva svoj nacinoznacavanja i skup oznaka pogodnih za njegovo oznacavanje
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Jezici za obelezavanje
Kako bi se na precizan i uniforman nacin omogucilodefinisanje konkretnih objektnih jezika za oznacavanjerazlicitih tipova dokumenata, razvijeni su i meta jezici.
Najpoznatiji meta jezici za obelezavanje su SGML i XML ucijem okviru su definisani objektni jezici HTML, XHTML,MathML, SVG itd.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Pregled
1 Jezici za obelezavanje
2 SGMLUvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
3 XML
4 Literatura
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
SGML
SGML (Standard Generalized Markup Language) —Standardni opsti jezik za obelezavanje
Osnovna motivacije prilikom standardizovanja ovog jezika jebila da se obezbedi trajnost dokumentima i njihovanezavisnost od aplikacija kojima su kreirani.
Pretecom jezika SGML smatra se jezik GML (GeneralizedMarkup Language) nastao u kompaniji IBM 1960-tih.
Jedna od znacajnijih primena jezika SGML je bila izradadrugog, elektronskog, izdanja ,,Oksfordskog recnika engleskogjezika (OED)“
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
SGML
Najznacajnija primena jezika SGML dosla kroz objektni jezikHTML cije su prve verzije definisane upravo u okviru jezikaSGML
HTML — standardni jezik za obelezavanje dokumenata navebu
Svaki jezik za obelezavanje koji je definisan u SGML-u nazivase i SGML aplikacija
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Jezici za obelezavanje
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Uvodni primeri dokumenata
SGML se koristi da bi se obelezila struktura dokumenataodre�enog tipa
Na primer, zbirka pesama sadrzi nekoliko pesama, pri cemu sesvaka pesma sastoji od nekoliko strofa, a svaka strofa odnekoliko stihova
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Uvodni primeri dokumenata
HTML primer
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Uvodni primeri dokumenata
Dokumenti se sastoje od me�usobno ugnjezdenih elemenata
Za obelezavanje elemenata se koriste etikete (tagovi) oblika<ime-elementa> i </ime-elementa> (na primer, <strofa>i </strofa> ili <body> i </body>).
Elementi sadrze tekst, druge elemente ili kombinaciju i jednogi drugog
Elementi mogu biti dodatno okarakterisani atributima oblikaime_atributa="vrednost_atributa" (na primernaslov= "Zaba cita novine").
U okviru teksta mogu se pojaviti i karakterski entiteti oblika&ime-entiteta; (na primer ©) koji oznacavajuodre�ene karaktere
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Uvodni primeri dokumenata
Svaki objektni jezik definisan u okviru SGML-a definisesopstveni skup etiketa
Svakom dokumentu, pridruzen je njegov tip.
Tip dokumenta odre�uje sintaksu dokumenta
SGML parseri ili SGML validatori — ispitaju da li je dokumentu skladu sa svojim tipom tj. da li zadovoljava sva sintaksnapravila propisana odgovarajucim tipom
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Uvodni primeri dokumenata
<!DOCTYPE>
Definicija tipa dokumenta (eng. Document type definition —DTD)
zbirka-pesama.dtdhttp://www.w3.org/TR/html4/strict.dtd
Ove datoteke definisu elemente od kojih se grade konkretnidokumenti.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Uvodni primeri dokumenata
Proces kreiranja novih tipova dokumenata podrazumevaizradu:
SGML deklaracijeDefinicije tipa dokumentaSemanticke specifikacije
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Osnovni konstrukti
Elementi i etikete
Atributi
Entiteti
Komentari
Oznacene sekcije
Instrukcije procesiranja
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Osnovni konstrukti
Elementi i etikete
Osnovna gradivna jedinica SGML dokumenata su elementiElementi su obicno oznaceni etiketama (eng. tag)
Otvarajuce etikete (eng. opening tag) oblika <ime-elementa>
Zatvarajuce etikete (eng. closing tag) oblika</ime-elementa>
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Osnovni konstrukti
Elementi i etikete
Moguce je izostaviti zavrsne etikete, dok je kod nekih cakmoguce izostaviti i pocetne etikete
Neki SGML elementi nemaju svoj sadrzaj. Npr. HTMLelement koji oznacava prelazak u novi red <br>. Kod praznihelemenata najcesce je zabranjeno navoditi zavrsnu etiketu.Svi elementi koji se mogu koristiti u okviru jednog dokumentase navode u okviru DTD. Za svaki element se navodi da li jeobavezno koriscenje etiketa i precizno se opisuje njegovdozvoljeni i nedozvoljeni sadrzaj.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Osnovni konstrukti
Atributi
Atributi sadrze dodatne informacije o SGML elementimaAtributi imaju svoj naziv i vrednost
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Osnovni konstrukti
Entiteti
SGML daje mogucnost imenovanja delova sadrzaja naportabilan nacin.Koncept eniteta u SGML uvodi izvesnu vrstu makro zamena.Zamena entiteta se vrsi kada se dokumenti analizirajuodgovarajucim parserom.Na primer, moguce je deklarisati entitet pod imenom uvit kojise zamenjuje tekstom Uvod u Veb i Internet tehnologije, izatim se u okviru ovog dokumenta na ime predmeta pozivatikoriscenjem reference na entitet.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Osnovni konstrukti
Vrste entiteta i referenci na entitete
Obicni entiteti (eng. regular entities) – pocinju sa znakom & izavrsavaju se sa ; i moguce ih je navoditi u okviru tekstadokumenta (ne u okviru DTD)
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Osnovni konstrukti
Vrste entiteta i referenci na entitete
Parametarski entiteti (eng. parameter entities) — pocinjuznakom % i zavrsavaju se sa ; i moguce ih je navoditi samo uokviru DTD dokumenta (ne u okviru objektnih dokumenata)Karakterski entiteti (eng. character entities) — njima se uvodeimena koja oznacavaju odre�ene karaktere. Koriste se da bi senaveli karakteri koji imaju specijalno znacenje, zatim neki retkokorisceni karakteri, karakteri koji nisu podrzani tekucimkodiranjem karaktera ili karakteri koje je nemoguce uneti uokviru softvera za kreiranje dokumenata.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Osnovni konstrukti
Karakterski entiteti
Na primer, u jeziku HTML "<" oznacava karakter <, dok""" oznacava karakter ".Pored referenci na karakterske entitete, za predstavljanjekaraktera u dokumentima je moguce koristiti i numerickekarakterske referenceNa primer, "њ" i њ oznacavaju cirilicno maloslovo nj. Heksadekadni kodovi pocinju sa malim ili velikimslovom x.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Osnovni konstrukti
Komentari
Oznacene sekcije (eng. marked sections) — koriste se da bi seoznacili delovi dokumenta koji zahtevaju posebnu vrstuprocesiranja
CDATA — doslovan sadrzaj koji se ne parsiraIGNORE — oznacava da se sekcija ignorise tokom parsiranjaINCLUDE — oznacava da se sekcija ukljucuje tokom parsiranjaTEMP — oznacava da je sekcija privremeni deo dokumenta
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Osnovni konstrukti
Instrukcije procesiranja (eng. processing instructions) —lokalne instrukcije aplikaciji koja obra�uje dokument inapisane su na nacin specifican za aplikaciju
Navode se izme�u <? i ?>
Ova instrukcija procesiranja govori PHP interpetatoru kojiobra�uje dokument da je u pitanju deo PHP koda koji je ondapotrebno interpretirati
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Definicije tipa dokumenta (DTD)
Deklaracije entiteta
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Definicije tipa dokumenta (DTD)
Deklaracija elementa pocinje sa <!ELEMENT, zavrsava se sa >,a izme�u se navodi:
Ime elementaPravila minimalizacije koja odre�uju da li je neka od etiketaopciona
Dve crtice nakon imena oznacavaju da su obe etikete obavezneCrtica za kojom sledi O oznacava da se zavrsna etiketa mozeizostavitiDva slova O oznacavaju da se obe etikete mogu izostaviti
Sadrzaj elementa. Dozvoljeni sadrzaj elementa se naziva modelsadrzaja (eng. content model).
Prosti modeli sadrzajaSlozeni modeli sadrzaja
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Definicije tipa dokumenta (DTD)
Prosti modeli sadrzaja
EMPTY — elementi koji nemaju sadrzaj, tj. prazni elementiANY — element moze imati proizvoljan sadrzaj koji se sastojiod teksta i drugih elemenataCDATA (character data) — tekst koji se nece analiziratipomocu SGML parsera. Sadrzaj se tumaci doslovno kako jenapisan tj. reference na enititete se ne zamenjuju entitetimadok etikete koje se u njemu nalaze ne oznacavaju elemente.RCDATA (replacable character data) — slicno kao CDATA,osim sto se reference zamenjuju (etikete i dalje ne oznacavajuelemente).
Slozeni modeli sadrzaja — koriste se u slucaju kada elementmoze da sadrzi druge ugnjezdene elemente
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Definicije tipa dokumenta (DTD)
Modeli grupe su predstavljeni izrazima u zagradama pri cemuatomi u izrazima mogu da budu:
Imena elemenata#PCDATA (parsed character data)
Atomi se dalje mogu kombinovati sledecim veznicima
A?A+A*A | BA, BA & B
Dodatna pravila ukljucivanja i iskljucivanja sadrzaja
+(S)-(S)
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Definicije tipa dokumenta (DTD)
Definicije elemenata mogu da sadrze reference parametarskihentiteta
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Deklaracije atributa
Deklaracija atributa u okviru DTD pocinje sa <!ATTLIST,nakon koga se navodi element za koji se deklarise atribut,potom sledi lista deklaracija pojedinacnih atributa i na krajuse navodi simbol >Svaka deklaracija pojedinacnih atributa je trojka koja definise:
Ime atributaTip vrednosti atributa, ili eksplicitno naveden skup dopustivihvrednosti.
CDATA (character data)NAMEIDNUMBER
Naznaku da li je vrednost atributa:implicitna #IMPLIED – podrazumevanu vrednost odre�ujesoftver koji vrsi obradu dokumentafiksirana #FIXED
zahtevana #REQUIRED
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Definicije tipa dokumenta (DTD)
Nekoliko primera:
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Ukljucivanje DTD
DTD moze biti naveden ili kroz unutrasnju ili kroz spoljasnjudeklaraciju.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Ukljucivanje DTD
Primer unutrasnje deklaracije
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend</body>
</note>
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Uvodni primeri dokumenataOsnovni konstruktiDefinicije tipa dokumenta (DTD)
Ukljucivanje DTD
Primer spoljasnje deklaracije
note.dtd
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
note.xml
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend!</body>
</note>
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
Pregled
1 Jezici za obelezavanje
2 SGML
3 XMLIspravnost dokumenata
4 Literatura
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
XML
SGML — izrazito opsti jezik koji omucava kodiranje veomaraznorodnih dokumenata
DTD — formalizam koji omogucava korisnicima da najezgrovit nacin iskazu sirok spektar sintaksnih pravila zaodre�eni tip dokumenata.
Posledica toga je da je SGML dizajniran kao veomakompleksan jezik sa mnostvom razlicitih sintaksnihkonstrukcija
Dopusten je veliki broj viseznacnosti i proizvoljnosti
Rad sa SGML-om je otezan a izrada alata koji obra�ujuSGML dokumente je veoma komplikovana
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
XML
eXstensible Markup Language (XML) — meta jezik zaobelezavanje koji je nastao sredinom 1990-tih
XML — veoma slican jeziku SGML ali jednostavniji zaparsiranje (rasclanjavanje) i obradu.
Ovaj jezik je iz SGML-a izbacio proizvoljnosti tako da sepisanjem dokumenata u ovom jeziku moraju postovati mnogostriktnija pravila
Svaki ispravan XML dokument je ujedno i ispravan SGMLdokument
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
XML
Osnovni ciljevi koji su vodili dizajn jezika XML su:
XML ce biti koriscen na Internetu.XML ce podrzavati veliki broj aplikacija.XML ce biti kompatibilan sa jezikom SGMLBice jednostavno pisati programe koji procesiraju XMLdokumenteXML nece sadrzati opcione i proizvoljne deloveXML dokumenti moraju biti citljivi i jasni za ljude.XML ce biti brzo razvijenDizajn jezika XML ce biti formalan i koncizanXML dokumente ce biti jednostavno kreirati.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
XML
Vremenom se pojavio se jako veliki broj XML aplikacija
XHTML - zapis hipertekstualnih dokumenataMathML - zapis matematickog sadrzajaSVG - zapis vektorskih crtezaSMIL - zapis multimedijalnog sadrzajaWML - zapis sadrzaja pogodnog za pregledanje na mobilnimure�ajimaSOAP - koriscenje veb servisa
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
XML
S obzirom na ostriju sintaksu XML dokumenata, XML jevremenom postao jezik za zapisivanje raznovrsnihstruktuiranih i polustruktuiranih informacija
Doslo je do razvoja specijalnih baza podataka koje suzasnovane na skladistenju informacija u XML dokumentima ikoriscenju specijalizovanih jezika (npr. XPath, XQuery) zapretrazivanje.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
Dobro formirani i validni dokumenti
Navedimo neka opsta sintaksna pravila koje uvodi XML,naglasavajuci pri tom razlike izme�u jezika SGML i XML:
Svi elementi u jeziku XML moraju sadrzati i pocetnu i zavrsnuetiketu, sto nije slucaj u jeziku SGMLMoguce je koristiti specijalnu vrstu etiketa kojima seobelezavaju prazni elementi. Na primer, umesto <br></br>,moguce je pisati <br />. U jeziku SGML prazni elementi cestone smeju imati zavrsnu etiketu.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
Dobro formirani i validni dokumenti
Opsta sintaksna pravila koje uvodi XML:
XML razlikuje velika i mala slova i imena XML elemenata seobicno pisu se malim slovom. SGML nije osetljiv na velicinuslova.U XML-u i u SGML-u svi elementi moraju biti dobro ugnjezdeniSvaki XML dokument mora imati sadrzaj napisan u okvirujednog elementa koji se nalazi na najvisem nivou i koji senaziva koreni element (eng. root element). Na primer, uokviru svakog HTML dokumenta, ceo sadrzaj se nalazi uokviru elementa html. SGML dokumente nije neophodno pisatiu okviru jednog elementa koji se nalazi na najvisem nivou.U jeziku XML, nije dozvoljeno izostavljanje vrednosti atributa,kao ni izostavljanje navodnika prilikom navodenja vrednostiatributa, sto je dozvoljeno u jeziku SGML.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
Dobro formirani i validni dokumenti
Opsta sintaksna pravila koje uvodi XML:
U okviru XML dokumenta (isto kao i u okviru SGMLdokumenta) karakteri < i & imaju specijalno znacenje i nije ihdozvoljeno koristiti osim za oznacavanje etiketa i referencientiteta. Umesto njih potrebno je koristiti reference entiteta< i &. Karakteri >, " i ’ nisu zabranjeni, ali je umestonjih preporucljivo koristiti >, " i '. Ovo sujedini predefinisani eniteti jezika XML.Na pocetku XML dokumenta pozeljno je navesti XMLdeklaraciju — instrukciju procesiranja oblika<?xml version="1.0" encoding="utf-8" ?>
koja govori o verziji XML-a i koriscenom kodiranju karaktera.Ukoliko je kodiranje razlicito od utf-8 ili utf-16, neophodno jenavesti xml deklaraciju koja specifikuje kodiranje
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
Dobro formirani i validni dokumenti
S obzirom na kompleksnost i striktnost opste sintakse kojusvaki XML dokument mora da zadovolji, dokumenti kojipostuju ove sintaksne zahteve smatraju se ispravnim (uslabom smislu te reci) i za njih se kaze da su dobro formirani(eng. well formed).
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
Dobro formirani i validni dokumenti
Na primer, dokument narednog sadrzaja se moze smatratiispravnim HTML 4.01 dokumentom jer postuje sva pravilasintakse jezika SGML (u kome je jezik HTML 4.01 definisan).
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
Dobro formirani i validni dokumenti
Ipak, dokument prethodnog sadrzaja se ne moze smatratidobro formiranim XML dokumentom jer narusava mnogaopsta pravila sintakse jeizka XML. Na primer, nedostajuzavrsne etikete elemenata <p> i <img> i mesana su velika imala slova.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
Dobro formirani i validni dokumenti
Naredni sadrzaj predstavlja dobro formirani dokument kojiodgovara prethodnom, a koji je opisan u jeziku XHTML(definisanom u okviru jezika XML):
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
Dobro formirani i validni dokumenti
Pored ovih opstih pravila, isto kao i u jeziku SGML, svakompojedinacnom tipu dokumenta je pridruzena njegovaspecificna sintaksa kojom su propisani elementi, atributi ientiteti od kojih se dokument sastoji.
Jezik XML zadrzava koncept definicije tipa dokumenta (DTD)za specifikovanje tipova dokumenta, ali uvodi i alternativninacin da se ovo uradi koriscenjem XML sheme (eng. XMLschema).
Dokumenti koji su dobro formirani i koji dodatno postuju svasintaksna pravila svog tipa dokumenta smatraju se ispravnim(u jakom smislu te reci) i za njih se kaze da su validni (eng.valid).
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
Dobro formirani i validni dokumenti
Tako, na primer, iako je naredni dokument dobro formiran, onnije validan (jer element html jezika XHTML mora da sadrzizaglavlje koje ovde nedostaje, i tako�e element body sadrziatribut color koji nije na ovom mestu dopusten).
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
XML DTD i XML Schema
Iako na prvi pogled XML DTD i SGML DTD izgledaju veomaslicno, XML znacajno smanjuje izrazajnost prilikom pisanjaDTD ukidajuci neke konstrukcije i uvodeci neke restrikcije.
U nastavku ce biti samo veoma grubo skicirane razlike uodnosu na SGML:
Velicina slova nije bitna u okviru SGML DTD, dok u XMLDTD postaje bitna.Nije dozvoljena minimalizacija elemenata tako da DTD nemoze da sadrzi pravila minimalizacijeMnogi skraceni zapisi u okviru zapisa DTD nisu vise podrzani.Na primer, nije moguce koristiti komentare u okvirudeklaracija, nije moguce koristiti istovremenu deklaraciju viseelemenata i slicno.Mnogi tipovi atributa su ukinuti.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
XML DTD i XML Schema
U nastavku ce biti samo veoma grubo skicirane razlike uodnosu na SGML:
U slucaju deklaracije mesanog modela sadrzaja dokumentauvedena su striktnija pravila. Na primer, #PCDATA mora da sejavi na prvom mestu u deklaraciji i ne moze biti vezanoveznikom , koji odreduje redosled teksta i elemenata.Dodatno ukljucivanje i iskljucivanje sadrzaja (+(S) i -(S))nije dozvoljenoZabranjeno je koriscenje veznika &.CDATA i RCDATA modeli sadrzaja nisu vise dozvoljeni.Umesto njih se mora koristiti (#PCDATA). Ovim su tvorcidokumenata primorani da sve delove dokumenta koji ne bitrebalo da se obra�uje XML parserom oznace sa oznacenomCDATA sekcijom u okviru samog dokumenta.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Ispravnost dokumenata
XML DTD i XML Schema
XML Schema (XSD) predstavlja XML-zasnovanu alternativuza DTD tj. XML Schema dokumenti su dokumenti koji suzapisani u XML formatu.
U ovom primeru definisan je element student. Element sadrzi,redom, elemente ime i prezime koji imaju tekstuelni sadrzaj.
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Pregled
1 Jezici za obelezavanje
2 SGML
3 XML
4 Literatura
dr Jelena Graovac Veb programiranje
Jezici za obelezavanjeSGML
XMLLiteratura
Literatura
Slajdovi su pripremljeni na osnovu glave 2 e-knjigeFilip Maric: Uvod u Veb i Internet tehnologije, 2013.(www.matf.bg.ac.rs/~filip/uvit/uvit.pdf)
Slajdovi profesora Vlade Filipovica, za predmet ”Uvod u Veb iInternet tehnologije”
Za pripremu ispita, slajdovi nisu dovoljni, neophodno je ucitiiz knjige!
dr Jelena Graovac Veb programiranje