struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" niske od tri karaktera...

26
Struktura informacija - primeri Cvetana Krstev

Upload: others

Post on 24-Feb-2020

34 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Struktura informacija - primeri

Cvetana Krstev

Page 2: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Primer jednostavnog dokumenta (1)

<osoba rodjen="23. VI 1912." umro="7. VI 1954."> <ime> <lično_ime>Alan</lično_ime> <prezime>Tjuring</prezime> </ime> <profesija>informatičar</profesija> <profesija>matematičar</profesija> <profesija>kriptograf</profesija> </osoba>

Page 3: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Primer DTD-a koji opisuje primer 1

<!ELEMENT osoba ((ime, profesija+))>

<!ATTLIST osoba

rodjen CDATA #REQUIRED

umro CDATA #REQUIRED

>

<!ELEMENT ime ((lično_ime, prezime))>

<!ELEMENT profesija (#PCDATA)>

<!ELEMENT lično_ime (#PCDATA)>

<!ELEMENT prezime (#PCDATA)>

Page 4: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Povezivanje DTD-a i primerka dokumenta 1

<?xml version="1.0" encoding="ISO-8859-2"?> <!DOCTYPE osoba SYSTEM

―…\Nastava\StrukturaInf\Primer1.dtd"> <osoba rodjen="23. VI 1912." umro="7. VI 1954."> <ime>

<lično_ime>Alan</lično_ime> <prezime>Tjuring</prezime> </ime> <profesija>informatičar</profesija> <profesija>matematičar</profesija> <profesija>kriptograf</profesija> </osoba>

Page 5: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Primer XML Scheme koji opisuje primer 1

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

<xs:element name="osoba" type="Osoba"/>

<xs:complexType name="Osoba">

<xs:sequence>

<xs:element name="ime" type="Ime"/>

<xs:element name="profesija" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="rodjen" type="xs:date" />

<xs:attribute name="umro" type="xs:date" />

</xs:complexType>

<xs:complexType name="Ime">

<xs:sequence>

<xs:element name="lično_ime" type="xs:string"/>

<xs:element name="prezime" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

Page 6: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Povezivanje XML Scheme i primerka dokumenta 1

<?xml version="1.0" encoding="ISO-8859-2"?> <osoba rodjen="1912-06-23" umro="1954-06-07"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation=―…\Nastava\StrukturaInf\Primer1-1.xsd">

<ime> <lično_ime>Alan</lično_ime> <prezime>Tjuring</prezime> </ime> <profesija>informatičar</profesija> <profesija>matematičar</profesija> <profesija>kriptograf</profesija> </osoba>

Page 7: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Primer jednostavnog dokumenta (2)

<biografija> <ime><lično_ime>Alan</lično_ime> <prezime>Tjuring</prezime></ime>, rodjen <datum>1912. godine</datum>, jedan je od prvih ljudi koji zaista zaslužuju naziv <profesija>informatičara</profesija>. Svi njegovi doprinos ovom polju ne mogu se nabrojati; napoznatiji su <istaknuto>Tjuringov test</istaknuto> i <istaknuto>Tjuringova mašina.</istaknuto> <ime><prezime>Tjuring</prezime></ime> je bio i vrlo dobar <profesija>matematičar</profesija> i <profesija>kriptograf</profesija>. Prevashodno uz njegovu pomoć, saveznici su u toku Drugog svetskog rata uspeli da dekodiraju nemačku mašinu "Enigma". Izvršio je samoubistvo <datum>7. maja 1954. godine></datum> godine, pošto je optužen zbog homoseksualnosti i primoran na ponižvajuće "lečenje". </biografija>

Page 8: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Primer DTD-a koji opisuje primer 2

<!ELEMENT biografija (#PCDATA | ime | datum | profesija | istaknuto)*>

<!ELEMENT ime ((lično_ime?, prezime))>

<!ELEMENT profesija (#PCDATA)>

<!ELEMENT prezime (#PCDATA)>

<!ELEMENT lično_ime (#PCDATA)>

<!ELEMENT istaknuto (#PCDATA)>

<!ELEMENT datum (#PCDATA)>

Page 9: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Povezivanje DTD-a i primerka dokumenta 2

<?xml version="1.0" encoding="ISO-8859-2"?> <!DOCTYPE biografija SYSTEM ―…Nastava\StrukturaInf\Primer2.dtd"> <biografija> <ime> <lično_ime>Alan</lično_ime> <prezime>Tjuring</prezime> </ime>, rodjen <datum>1912. godine</datum>, jedan je od prvih

ljudi koji zaista zaslužuju naziv <profesija>informatičara</profesija>. Svi njegovi doprinos ovom polju ne mogu se nabrojati; napoznatiji su <istaknuto>Tjuringov test</istaknuto> i <istaknuto>Tjuringova mašina.</istaknuto>

<ime> <prezime>Tjuring</prezime> </ime> je bio i vrlo dobar <profesija>matematičar</profesija> i

<profesija>kriptograf</profesija>. Prevashodno uz njegovu pomoć, saveznici su u toku Drugog svetskog rata uspeli da dekodiraju nemačku mašinu "Enigma". Izvršio je samoubistvo <datum>7. maja 1954. godine</datum> godine, pošto je optužen zbog homoseksualnosti i primoran na ponižvajuće "lečenje".

</biografija>

Page 10: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Primer XML Scheme koja opisuje primer 2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

elementFormDefault="qualified">

<xs:element name="biografija“/>

<xs:complexType mixed="true">

<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element name="ime" type="Ime" />

<xs:element name="datum" type="xs:string" />

<xs:element name="profesija" type="xs:string"/>

<xs:element name="istaknuto" type="xs:string"/>

</xs:choice>

</xs:complexType>

<xs:complexType name="Ime">

<xs:sequence>

<xs:element name="lično_ime" type="xs:string" minOccurs="0"/>

<xs:element name="prezime" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

Page 11: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Povezivanje XML Scheme i primerka dokumenta 2

<biografija xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation=“…\Nastava\StrukturaInf\Primer2-1.xsd">

<ime> <lično_ime>Alan</lično_ime> <prezime>Tjuring</prezime> </ime>, rodjen <datum>1912. godine</datum>, jedan je od prvih ljudi

koji zaista zaslužuju naziv <profesija>informatičara</profesija>. Svi njegovi doprinos ovom polju ne mogu se nabrojati; napoznatiji su <istaknuto>Tjuringov test</istaknuto> i <istaknuto>Tjuringova mašina.</istaknuto>

<ime> <prezime>Tjuring</prezime> </ime> je bio i vrlo dobar <profesija>matematičar</profesija> i

<profesija>kriptograf</profesija>. Prevashodno uz njegovu pomoć, saveznici su u toku Drugog svetskog rata uspeli da dekodiraju nemačku mašinu "Enigma". Izvršio je samoubistvo <datum>7. maja 1954. godine</datum> godine, pošto je optužen zbog homoseksualnosti i primoran na ponižvajuće "lečenje".

</biografija>

Page 12: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Primer 3 – deo 1 <text> <div type="article"> <head rend="CA">Pet sasvim kratkih kanadskih priča</head> <byLine>Izabrao i preveo s engleskog <docAuthor>David Albahari</docAuthor></byLine> <div type="story"> <head rend="CA">Olakšanje</head> <docAuthor>Miki Berž</docAuthor> <p><q>Znaš šta, idem sada kući.</q></p> <p><q>Šta ćeš tamo da radiš?</q></p> <p><q>Kada stignem tamo?</q></p> <p><q>Da.</q></p> <p><q>Piću.</q></p> <p><q>Stvarno? Mislio sam da ideš kući da plačeš.</q></p> <p><q>Ne, idem kući da pijem — ne da plačem.</q></p> <p><q>Ista stvar.</q></p> </div>

Page 13: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Primer 3 – deo 2 <div type="story"> <head rend="CA">Obaveze</head> <docAuthor>Kent Tompson</docAuthor> <p>Nastojimo da sve bude tiho, ali ne uspevamo. <rs

type="person">Madam <name>Mekej</name></rs> naizmenično pokazuje bes i poniženje — jednog časa se dere na poslugu, narednog ih moli za oproštaj. Ona je, znate, u stanju da poludi. Nisam to očekivao. Juče je izbacila kćerkinu odeću na sneg. Kada se služavka pobunila, <rs type="person">madam <name>Mekej</name></rs> je rekla: <q>A šta drugo da se uradi sa odećom takve... žene?</q> Bar izbegava neke reči. Što mnogi ne bi učinili. A <name type="person">Milvord</name>? Da li znate šta me je najviše iznenadilo? Što mu je koža tako sjajna. Da. On blista; obrazi mu blistaju; proćelava glava mu blista. S mukom je nabavio pištolj, ali ima ga kao neku vrstu obaveze a ne osvete. Pištolj mu predstavlja strahovit teret. Mislim da u njemu nema ljutnje i da će ga pre upotrebiti za sebe nego za tu osobu.</p>

</div>

Page 14: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Primer 3 – deo 3 <div type="note"> <p>Poslednjih desetak godina u kanadskoj prozi obeleženo je naglašenim

interesovanjem pripovedača za kratke i sažete prozne forme. Od najmlađih pisaca, obrazovanih na mnogobrojnim akademskim i vanakademskim kursevima kreativnog pisanja, do najistaknutijih autora, poput <name type="person"> Margaret Etvud</name>, sažeta priča (kao u, recimo, našoj ili nemačkoj književnosti) — uprkos svojim prividnim ograničenjima — postaje igralište za istraživanje novih proznih mogućnosti. <name type="person">Džef Henkok</name> ih, u pogovoru antologiji <title>Singulariteti</title> (<date>1990</date>), vidi kao fragmentarni odraz fragmentarnog vremena u kojem živimo, analogan najnovijim otkrićima u fizici. <name type="person"> Kent Tompson</name> u svojoj antologiji najkraćih kanadskih priča, <title>Otvoreni prozori</title> (<date>1988</date>), skreće pažnju na izmenjeno osećanje vremena današnjeg čitaoca, kao i na <hi rend="QU">brzu priču</hi> televizijskih reklama i muzičkih spotova. Oba antologičara vide fragment kao ključnu formu našeg vremena, pozivajući se na kritičke postavke <name type="person">Benjamina</name> i <name type="person">Pasa</name>, uticaj filma i televizije, nova dostignuća fizike i uspostavljanje <hi rend="QU">nove stvarnosti</hi>.</p>

</div> <closer><signed><abbr expan="David Albahari">D. A.</abbr></signed></closer> </div></text>

Page 15: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

DTD za primer 3 - elementi <!ELEMENT text (div+) > <!ELEMENT div ((head?, byLine?, docAuthor?, div+, closer?) | (head?,

byLine?, docAuthor?, p+, closer?)) > <!ELEMENT head (#PCDATA)> <!ELEMENT byLine (#PCDATA | docAuthor)* > <!ELEMENT docAuthor (#PCDATA)> <!ELEMENT p (#PCDATA | q | rs | name | title | date | hi)*> <!ELEMENT name (#PCDATA)> <!ELEMENT rs (#PCDATA | name)* > <!ELEMENT closer (#PCDATA | signed)* > <!ELEMENT signed (#PCDATA | abbr)* > <!ELEMENT title (#PCDATA)> <!ELEMENT date (#PCDATA)> <!ELEMENT hi (#PCDATA)> <!ELEMENT abbr (#PCDATA)> <!ELEMENT q (#PCDATA)>

Page 16: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

DTD za primer 3 - atributi

<!ATTLIST div type (article | story | note) #IMPLIED >

<!ATTLIST head rend CDATA #IMPLIED >

<!ATTLIST name type CDATA #IMPLIED >

<!ATTLIST rs type CDATA #IMPLIED>

<!ATTLIST hi rend CDATA #IMPLIED >

<!ATTLIST abbr expan CDATA #IMPLIED >

Page 17: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Regularni izrazi u XML šemama

Koriste se za restrikcije ugrađenih ili drugih tipova pomoću pattern

Jednostavni tip SSN je token koji se sastoji od

3 cifre, crtice, 2 cifre, crtice i 4 cifre, a tako izgleda Social Security Number u SAD-u.

<xsd:simpleType name="SSN">

<xsd:restriction base="xsd:token">

<xsd:pattern value="[0-9]{3}-[0-9]{2}-[0-9]{4}"/>

</xsd:restriction>

</xsd:simpleType>

Page 18: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Šta sve može da bude regularni izraz u XML Schema-i (1)

Određeno slovo ili niska: value="a"

Sadržaj elementa ili vrednost atributa može da bude samo malo slovo a;

value="broj"

Sadržaj elementa ili vrednost atributa može da bude samo niska broj;

Bilo koji karakter – koristi se tačka: value="."

Sadržaj elementa ili vrednost atributa može da bude samo jedan, bilo koji karater;

Page 19: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Šta sve može da bude regularni izraz u XML Schema (2)

Ponavljanje: value="ba*"

Sadržaj elementa ili vrednost atributa može da bude samo malo slovo b iza koga može da sledi proizvoljan broj slova a (b, ba, baa,...);

value="ba+"

Sadržaj elementa ili vrednost atributa može da bude samo malo slovo b iza koga sledi jedno ili više slova a (ba, baa, baaa,...);

value="ab?c"

Sadržaj elementa ili vrednost atributa može da bude samo niska malih slova abc ili ac;

Page 20: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Šta sve može da bude regularni izraz u XML Schema (3)

Izbor: value="da|ne"

Sadržaj elementa ili vrednost atributa može da bude samo malo niska da ili niska ne;

value=„d(a|u)r"

Sadržaj elementa ili vrednost atributa može da bude samo malo niska dar ili niska dur);

value=„(a|u)+h"

Sadržaj elementa ili vrednost atributa mogu da budu samo niske ah ili uh kod kojih se slova a i u mogu ponavljati (aah, aaah, uuh, uuuh,...)

Page 21: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Šta sve može da bude regularni izraz u XML Schema (4)

Izbor i ponavljanje: value="ba{3,5}"

Prvi broj unutar vitičastih zagrada kaže koliko najmanje prethodnog slova (ili grupe) mora da bude, a drugi koliko najviše (baaa, baaaa, baaaaa);

value="ba{0,3}"

b, ba, baa, baaa;

value="(0|1){3}"

000, 001, 010, 011, 100, 101, 110, 111;

value="ab{3,}c"

abbbc, abbbbc, abbbbbc,...

Page 22: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Šta sve može da bude regularni izraz u XML Schema (5)

Izbor iz grupe karaktera: value="0[a-z]1"

Sva (mala) slova iz opsega od a do z (0a1, 0b1, 0c1,... 0z1);

value="(a|c)([d-r]|[3-9]*)z"

Na početku je malo slovo a ili c, iza koga sledi neko slovo iz opsega od d do r ili niska koja se sastoji od cifara 3, 4, 5, 6, 7, 8 ili 9, a na kraju je z (adz, cdz, aez, cez, a3579z, c468z, az...);

value="[a-zA-Z\s]+"

Niska proizvoljne dužine koja se sastoji od malih ili velikih slova iz opsega od a do z i „praznog karaktera― što obuhvata blanko, tabulator i novi red.

Page 23: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Šta sve može da bude regularni izraz u XML Schema (6)

Izbor iz grupe karaktera: value="0[^a-z]1"

Svi karakteri koji nisu (mala) slova iz opsega od a do z (0A1, 091, 0(1,... 0-1);

value=„[^aeiou][aeiou][^aeiou]"

Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije vokal (dar, nar, rez, med, ali i 0a1, n-r,...);

Page 24: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Karakteri koji se koriste sa isključnim karakterom (obrnuta kosa crta)

\n – carriage return

\l – line feed

\t – tabulator

\s – whitespace

\d – decimalna cifra

\w – sve što se može javiti u reči (prema Unicode-u)

Karakteri s bukvalnim značenjem:

\\, \(, \), \[, \], \{, \}, \*, \+, \?, \., \-, \|, \^

Page 25: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Primer

Sastaviti deklaraciju tipa TipBrojRačuna koristeći XML Shema-u. koja precizno opisuje broj računa pravnog lica – 840-723222853-75. Ovaj novi tip zasnivati na tipu string.

<xs:simpleType name="TipBrojRačuna">

<xs:restriction base="xs:string">

<xs:pattern value="[0-9]{3}-[0-9]{9}-[0-9]{2}"/>

</xs:restriction>

</xs:simpleType>

Page 26: Struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" Niske od tri karaktera kod kojih na početku nije vokal (a, e, i, o, u) iza koga sledi vokal, a na kraju nije

Gde naći više informacija?

http://www.regular-expressions.info/xml.html

http://www.xmlschemareference.com/regularExpression.html

Posebno proučiti primere sa prve strane (odeljak Examples)