struktura informacija - primeri · value=„[^aeiou][aeiou][^aeiou]" niske od tri karaktera...
Post on 24-Feb-2020
33 Views
Preview:
TRANSCRIPT
Struktura informacija - primeri
Cvetana Krstev
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>
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)>
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>
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>
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>
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>
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)>
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>
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>
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>
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>
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>
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>
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)>
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 >
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>
Š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;
Š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;
Š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,...)
Š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,...
Š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.
Š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,...);
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:
\\, \(, \), \[, \], \{, \}, \*, \+, \?, \., \-, \|, \^
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>
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)
top related