Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1 XML Document Type Definitions (DTD) XML séma. 2 Féligstrukturált adat uEgy másik, fákon alapuló adatmodell. uMotiváció: az adatok rugalmas megjelenítése.

Hasonló előadás


Az előadások a következő témára: "1 XML Document Type Definitions (DTD) XML séma. 2 Féligstrukturált adat uEgy másik, fákon alapuló adatmodell. uMotiváció: az adatok rugalmas megjelenítése."— Előadás másolata:

1 1 XML Document Type Definitions (DTD) XML séma

2 2 Féligstrukturált adat uEgy másik, fákon alapuló adatmodell. uMotiváció: az adatok rugalmas megjelenítése. uMotiváció: dokumentumok megosztása rendszerek és adatbázisok között.

3 3 A féligstrukturált adatok gráfja uPontok = objektumok. uAz élek címkéi tulajdonképpen az attribútumnevek. uAz atomi értékek a levelekben tárolódnak.

4 4 Példa: adatgráf Bud A.B. Gold1995 MapleJoe’s M’lob sör kocsma gyártó felszolgálják név cím díj évjutalom gyökér A kocsma objektum Joe bárjához. A Bud sör objektuma. Vegyük észre, új típusú adat.

5 Példa HTML 5 My First Heading My first paragraph.

6 6 XML uXML = Extensible Markup Language. uA HTML a dokumentumok kinézetét írja le (pl. rózsa “italic”). Az XML- ben a jelentés vagy tartalom (szemantika) leírására használják a tageket (pl. tag jelentése: “itt egy cím következik majd”).

7 Karcsi Vác Örmény

8 ab 01 címtulaj étterem 80000Karcsi fizunév személy Vác személy_id házszámutcaváros tel Örmény id 01 8

9 9 XML dokumentumok uA dokumentum deklarációval kezdődik, amit egy speciális tag határol. uTipikusan:  “standalone” = “van vagy nincs DTD.”

10 10 Tagek uA tagek, mint a HTML esetében is nyitó és záró elemből állnak …. wOpcionálisan. uTageket tetszőlegesen egymásba ágyazhatjuk. uAz XML tagek érzékenyek a kis- és nagybetű különbségre.

11 11 Jól formált és valid XML uJól formált XML megengedi, hogy önálló tageket vezessünk be. uValid XML illeszkedik egy előre megadott sémára: DTD vagy XML séma.

12 12 Jól formált XML uNem hiányzik a deklaráció:. uMinden nyitó tagnek megvan a záró párja.

13 13 Példa: jól formázott XML Joe bárja Bud 2.50 Miller 3.00 … A név elem. A sör elem. Gyökér tag A sör elem a kocsma elem aleleme.

14 14 DTD felépítése [ ( )>... további elemek... ]>

15 15 DTD ELEMENT uEgy-egy elem leírása az elem nevét és zárójelek között az alelemek megadását jelenti. wEz magában foglalja az alelemek sorrendjét és multiplicitását. uA levelek (szöveges elemek) típusa #PCDATA (Parsed Character DATA ).

16 16 Példa: DTD A kocsmák elem 0 vagy több kocsma elemet tartalmazhat. A kocsma elemnek van egy név eleme és egy vagy több sör eleme. A sör elemnek neve és ára van. A név és ár elemeknek nincsenek alelemeik, szövegesek.

17 17 Elem leírások uA alelemek a felsorolás sorrendjében kell, hogy kövessék egymást. uEgy elemet a felsorolásban egy további szimbólum követhet megadva a multiplicitását. w* = 0 vagy több. w+ = 1 vagy több. w? = 0 vagy 1. uA | szimbólum jelentése: vagy.

18 18 Példa: elem leírás uA névhez opcionálisan hozzátartozik egy titulus, egy kereszt- és vezetéknév (ebben a sorrendben), vagy egy IP cím:

19 19 Példa: DTD-k használata (a) Joe bárja Bud 2.50 Miller 3.00 … a DTD a dokumentum

20 20 Példa: DTD-k használata (b) uFeltesszük, hogy a kocsmák DTD a bar.dtd fájlban van. Joe bárja Bud 2.50 Miller 3.00 … A DTD-t bar.dtd fájlból nyeri.

21 21 Attribútumok uAz XML-ben a nyitó tag-ek mellett szerepelhetnek attribútumok. uEgy DTD-ben, Az E taghez tartozó attribútumokat adja meg.

22 22 Példa: attribútumok  A kocsma elemhez hozzátartozik egy típus attribútum. Sztring. Az attribútum opcionális, ennek ellentéte: #REQUIRED

23 23 Példa: attribútum használatára McGuiver sörözője Scottish ale

24 24 ID és IDREF attribútumok uAz attribútumok segítségével egyik elemről a másikra mutathatunk. uEmiatt az XML dokumentum reprezentációja inkább gráf, mintsem egyszerű fa (fenntartásokkal kell fogadni ezt az információt).

25 25 ID-k létrehozatala uAdjuk meg egy E elemet és egy A attribútumát, aminek típusa: ID. uAmikor az E elemet ( ) egy XML dokumentumba használjuk, az A attribútumnak egy máshol nem szereplő értéket kell adnunk. uPélda:

26 26 IDREF-ek létrehozatala uEgy F elem az IDREF attribútum segítségével hivatkozhat egy másik elemre annak ID attribútumán keresztül. uVagy: az IDREFS típusú attribútummal több másik elemre is hivatkozhat.

27 27 A DTD A sör elemeknek is van egy ID típusú attribútuma (név), a kapható attrútum pedig kocsmák nevét tartalmazza. A felszolgál elemhez sörökre vonatkozó hivatkozások tartoznak. A kocsma elemek neve ID attribútum, emellett felszolgál alelemeik lehetnek. lásd később

28 28 Példa: a DTD-re illeszkedő dokumentum …

29 29 Példa: üres elem uA DTD: uPélda a használatra: a záró tag itt lerövidül

30 30 XML séma uAz XML sémák segítségével szintén XML dokumentumok szerkezetét adhatjuk meg. Itt több megszorítást lehet előírni, mint a DTD-k esetén. uAz XML séma maga is egy XML dokumentum.

31 31 Az XML séma dokumentum szerkezete ... Az ”xs” névteret adja meg, amit a megadott URL azonosít. Itt a névtérhez tartozó elemek leírása is megtalálható. A schema tehát az xs névtérhez tartozó elem.

32 32 Az xs:element elem uAz attribútumai: 1.name = a definiált elem neve (tagben miként szerepel). 2.type = az elem típusa. uLehet XML séma típus, pl. xs:string. uVagy egy olyan típus, amit az adott XML sémában deklarálunk.

33 33 Példa: xs:element uA következő elemet írja le: Joe bárja

34 34 Összetett típusok ualelemeket tartalmazó elemek leírásához xs:complexType használjuk. wA name attribútummal nevet adhatunk ennek a típusnak. uAz xs:complexType egy tipikus aleleme az xs:sequence, amihez xs:element elemek egy sorozata tartozik. wA minOccurs és maxOccurs attribútumok használatával az adott xs:element előfordulásainak számát korlátozhatjuk.

35 35 Példa: típus a sörökhöz Pontosan egy előfordulás. Mint a ? a DTD-ben.

36 36 Egy sör típusú elem Bud 2.50 Nem ismerjük az ilyen típusú elem nevét.

37 37 Példa: típus a kocsmákhoz Mint a * a DTD-ben.

38 38 xs:attribute uxs:attribute elemek használatával az összetett típuson belül a típushoz tartozó elemek attribútumait adhatjuk meg. uAz xs:attribute elem attribútumai: wname és type mint az xs:element esetén. wuse = ”required” vagy ”optional”.

39 39 Példa: xs:attribute

40 40 Az új sörTípusnak megfelelő elem Továbbra sem tudjuk az elem nevét. Üres elemmel van dolgunk, mert nincsenek alelemei.

41 41 Egyszerű típus megszorítások uAz xs:simpleType segítségével felsorolásokat adhatunk meg és az alaptípusra vonatkozó megszorításokat. uname attribútuma van és u xs:restriction aleleme.

42 42 Megszorítások: xs:restriction uA base attribútum adja meg, hogy melyik egyszerű típusra (simple type) vonatkozik a megszorítás: pl. xs:integer. uxs:{min, max}{Inclusive, Exclusive} a négy attribútum használatával alsó és felső korlátokat adhatunk meg. uxs:enumeration alelem, a value attribútuma után megadhatjuk a felsorolás elemeit.

43 43 Példa: engedély attribútum a kocsmákhoz

44 44 Példa: az árak [1,5) intervallumba eshetnek

45 45 Kulcsok az XML sémában uAz xs:element elemhez tartozhat xs:key alelem. uJelentése: ezen az elemen belül, minden elem, ami egy adott szelektor ösvényen keresztül elérhető egyedi értékekkel kell, hogy rendelkezzen a megadott mezőinek (field) kombinációin (alelem, attribútum). uPélda: egy kocsma elemen belül a sör elemek név attribútumának egyedinek kell lennie.

46 46 Példa: kulcs Az XPath segítségével az XML fákat járhatjuk be (következő óra). attribútumot jelöl.

47 47 Idegen kulcsok uA xs:keyref alelem az xs:element elemen belül előírja, hogy ezen az elemen belül bizonyos értékek, melyeket ugyanúgy a szelektor és mezők használatával adhatunk meg, egy kulcs értékei között kell, hogy szerepeljenek.

48 48 Példa: idegen kulcs uTegyük fel, hogy a név alelem kulcs a kocsma elemekre vonatkozóan. wA kulcs neve legyen kocsmaKulcs. uAz alkeszek elemhez látogat alelemeket szeretnénk hozzáadni. Ezen elemek kocsma attribútuma idegen kulcs lesz, a kocsma elem név alelemére hivatkozik.

49 49 Példa: idegen kulcs az XML sémában


Letölteni ppt "1 XML Document Type Definitions (DTD) XML séma. 2 Féligstrukturált adat uEgy másik, fákon alapuló adatmodell. uMotiváció: az adatok rugalmas megjelenítése."

Hasonló előadás


Google Hirdetések