Bemutatkozik az XML
Mi is az XML? Extensible Markup Language – Bővíthető jelölő nyelv Word Wide Web Consortium (W3C) terméke Az SGMLből (Structured Generalized Markup Language) fejlődött ki
Mire való az XML? az XML a hordozható adat készítésének az eszköze Széles körben elterjedtek az ASCII alapú szövegfájl alkalmazások, pl.: interface-k, konf fájlok. A gond hogy ezek nem tartalmaznak semmilyen leíró adatot, meta adatot. (Még a kódlap tulajdonság sem örzödik meg)
Mire való az XML? Az XML a benne tárolt adatok mellett rendelkeznek plusz információkkal, ugyanakkor a leírásuk továbbra is egyszerű. Pl.: elhelyezhetünk címkéket amik utalnak az adat természetére, a dok. szerkezeti és tartalmi felépítésére valamint érvényesség vizsgálatra is jó
Mire jó az XML? Egy egyszerű példa: dőlt betűt jelöl. Miért? Hangsúlyozás vagy idegen szó? XML-ben deklarálok két kifejezést: és. Eredményüknek a dölt betüt állítom be. Amikor megjelenik meg tudom tekinteni hogy a háttérben mi zajlott, miért lett dőlt betű
Mire jó az XML? Az XML elsősorban dokumentumok webes publikálására íródott. Tekinthető egyfajta ősnyelvnek, automatikusan generálható belőle egyéb szabvány: html, pdf
Alkalmazási területei: Szövegfeldolgozás Közös nyelv Protokoll Alkalmazások objektumainak szérializálási formája
Alkalmazási területei: E-business pl. EDI XML Telefónia Adatbázisok XSL(T)
Célkitűzések könnyű használhatóság a gyors elterjedés érdekében széleskörű felhasználhatóság kompatibilisnek kell lennie az SGML Egyszerű programírás xml dokumentumoknak, így a programozóknál gyorsan terjed
Célkitűzések II XML forrásnak világosnak és olvashatónak kell lenni XML szabványt rövid idő alatt kell kifejleszteni, így elérhető, hogy egyetlen nyelv terjedjen el az XML szabványnak formálisnak és tömörnek kell lenni
Egyszerű példa Az XML az adatokat hierarchikus szerkezetben tárolja Éppen ezért az xml adatok mindig fa struktúra szerkezetűek lesznek Egy vendégkönyvet hozzunk létre: Tároljuk a nevet, címet, dátumot és megjegyzést
Egyszerű példa Aladár Hello world! Béla Hello world
Egyszerű példa (elso.xml) Béla Hello world Bela Hello world
Egyszerű példa A példán is látszik, hogy többféleképpen is leírhatjuk az adatainkat. Természetesen ez mindig feladat függő is. A dokumentum kinézetét nem tudjuk befolyásolni.
XML alkalmazások Az XML-lel létrehozott jelölő nyelveket XML alkalmazásoknak nevezzük Pl.: XSQl, XHTML, stb.
Az XML felépítése Jól formázott a szöveg ha megfelel az XML specifikációjában rögzített szabályoknak. Érvényes névnek nevezzük azokat a karaktersorozatokat amik betüvel vagy alulvonással kezdődnek, tetszőleges hosszú. Jelentés nélküli karakter: melyeket az xml értelmező módul félrehagy
Az XML dokumentum felépítése fejrész -XML fejléc -XML fejléc -dokumentum típus definíció -dokumentum típus definíció -XML-séma definíció -XML-séma definíció -megjegyzések -megjegyzések -feldolgozási utasítások(stíluslap definíció vagy egyéb) -feldolgozási utasítások(stíluslap definíció vagy egyéb) -jelentés néküli karakterek -jelentés néküli karakterek test rész -dokumentum elem -dokumentum elem –további elemek –megjegyzések –feldolgozási utasítások –jelentés nélküli karakterek -jelentés néklüli karakterek -jelentés néklüli karakterek -megjegyzések -megjegyzések -feldolgozási utasítások -feldolgozási utasítások
Az XML fejléc Megadása nem kötelező, de a specifikáció mégis előírja. Mindig az első sorban szerepel Tartalmazza: XML verziószám XML verziószám Kódolási forma Kódolási forma Tartozik e a dokumentumhoz külső jelölésdeklaráció Tartozik e a dokumentumhoz külső jelölésdeklaráció
Elemek létrehozása tartalom tartalom Kis és nagybetű meg van különböztetve (vmelyik bőngésző nem foglalkozik vele!) Az elemnévnek érvényesnek kell lenni Minden elem rendelkezhet szöveges tartalommal, elem tartalommal és vegyes tartalommal. Ha az elem elemet tartalmaz, akkor azt gyermekelemnek nevezzük.
Elemek 2002 Michael Schumacher Nemet 2002 Michael Schumacher Nemet jellemzőnévnek érvényesnek kell lenni, és a hozzá tartozó értéket dupla (") vagy szimpla (') idézőjelben kell megadni. Egy elemen és egy névtéren belül nem lehet két azonos nevű tulajdonság, vagy ha mégis, akkor az első lesz az érvényes a többit figyelmen kívül hagyja az értelmező! Létezik üres tartalom is. Lásd html Létezik üres tartalom is. Lásd html
Dokumentumelem Dokumentum elemnek nevezzük az XML dokumentum adattartalmának legfelső szintű elemét. jólformázott XML dokumentum mindig egyetlenegy legfelső szintű elemet tartalmaz valami szoveg valami szoveg valami szoveg valami szoveg
Névterek A névterek az egyes elemek, illetve azok tulajdonságainak csoportosítását teszik lehetővé. 1999 Mika Hakkinen Finn 1999 McLaren-Mercedes Brit 1999 Mika Hakkinen Finn 1999 McLaren-Mercedes Brit
Névterek 1999 Mika Hakkinen Finn 1999 Mika Hakkinen Finn 1999 McLaren-Mercedes Brit 1999 McLaren-Mercedes Brit
Névterek Az xmlns kulcsszó után adjuk meg a névtér nevét (névtér előtag) valamint a névteret, amely valójában azonosítja a névteret. Névtérnek bármilyen url-t megadhatunk. Nem feltétlenül nyitja meg. Meg lehet adni alapértelmezett névteret is, amely az összes felül nem bírált gyermekelemre érvényes, vagyis azon elemekre, amelyeknél nem definiáltunk újabb névtereket.
CDATA részek A CDATA rész szöveges tartalmát az XML értelmező puszta szövegként értelmezi, így azon belül sem megjegyzés sem más utasítás nem kerül értelmezésre. A CDATA rész a " " karakterek sorozata. Példa: (= )(, =...); ]]> (= )(, =...); ]]>
Dokumentum típusú definíció Érvényes XML dokumentumnak nevezzük azon jólformázott XML dokumentumokat, melyek logikai felépítése és tartalma teljes mértékben megegyezik az XML dokumentumban meghatározott szabályoknak Ezen szabályok megfogalmazhatóak (megírhatóak) Dokumentum Típus Definíció vagy xml séma segítségével. Miért fontos ez? Mert ha ismert a dtd, akkor bárki képes olyan dokumentumot írni, ami tud az én xml dokumentumommal kommunikálni. Tehát ez egy tervrajz szerűség
A DTD és az elemek létrehozása ] > Ezútán pedig má jön a rendes eddigi megszokott leírás.
Előbbire egy példa 1954 Juan Fangio Argentin... 1954 Juan Fangio Argentin...
A DTD és az elemek létrehozása ] >
Az előbbi alkalmazása Gulyás T Péter 1970 Technikai egyetem Paksi atomerőmű Gujás Veronika Gujás Zoltán Hajmási Péter 1981 Ipari Középiskola ELTE... Gulyás T Péter 1970 Technikai egyetem Paksi atomerőmű Gujás Veronika Gujás Zoltán Hajmási Péter 1981 Ipari Középiskola ELTE...
Jellemzők deklarálása ] > ] >
Névterek deklarálása az egyes elemek illetve jellemzők neve előtt fel kell tüntetni a névteret (amelyhez tartozik) kettősponttal elválasztva. Az egyes névterek DTD deklarálását is fel kell tüntetni az elemben, amelyikben deklaráljuk, mint jellemző.
Névterek deklarálása ] > ] >
Külső és belső DTD Azon DTDket, amelyeket az XML dokumentum közvetlenül tartalmaz, nevezzük belső DTD alkészletnek, azokat, amelyekre csak hivatkozás van az XML dokumentumban nevezzük külső DTD alkészletnek. A külső és belső DTD alkészletek együttes használata is lehetséges. Többszörös deklaráció esetén a belső DTD élvez nagyobb prioritást
Pár szó az xml sémáról Egyszeru.xml: Jacques Villeneuve Jacques Villeneuve
Elemek létrehozása Felhasználható típusok: String,integer (positiv, negativ, nonpos, nonneg), decimal, time, datetime, gyear, gmonth, gday, gyearmont
Elemek létrehozása reguláris kifejezés(pattern) - segítségével egy olyan sablont hozhatunk létre, amelyel pontosan leírhatjuk egy karaktersorozatban használható karakterek listáját illetve sorrendjét felsorolás(enumeration) - melynél egy előre definiált lista elemei közül választhatunk egyet Ezenkívűl meg lehet határozni a maximális és minimális értékeket is. (Value)
Összetett adattípus létrehozása általános összetett típus (anyType) használata esetén az elem tartalmazhat bármilyen jellemzőt, elemet és karakteres adatot saját összetett típus létrehozása akár névtelenül, akár nevesített módon
Összetett típus Meg lehet mondani az elemek sorrendjét (choice) De lehet ezeket fix sorrendűnek is venni (sequence) Létre lehet hozni üres elemet és vegyes elemet is
Jellemzők deklarálása Következők támogatottak Default: Ha nem adaunk meg értéket, akkor ez lesz Fix: Miket vehet fel Use: Optional: a jellemző elhagyható Prohibited: a jellemző le van tiltva Prohibited: a jellemző le van tiltva Required: a jellemző használata kötelező Required: a jellemző használata kötelező
Az XML gyakorlati haszna Adatbázis kezelő rendszerek dtd-vel szokták definiálni a típusokat. Így elérték hogy báki tudjon az adatbázishoz XML dokumentumot gyártani, úgy hogy nem kell ismerni az adatbázis felépítését. A DTD értelmezéséhez rengeteg segéd progi van. A legismertebb a DOM
XML DOM XML DOM célja, hogy egy XML dokumentumot beolvasson, értelmezzen, és lehetvé tegye a dokumentumban (XML fában) való mozgást és módosítást programozható felületeken keresztül. Azaz miután beolvasta a XML csodánkat, képesek leszünk programból új tagokat beleilleszteni, attribútumokat módosítani stb.
XML DOM és XSL A Dom-nak rengeteg hibája akad. A legsúlyosabb az, hogy mindig az egész xml fájlt be akarja olvasni. Ettől lassú lesz, de ez főleg hálózaton jön elő. Ezért fejlesztették kis az XSL-t. Ez képes soronként feldolgozni az XML fájlt.
Még néhány szó Az XML megteremtette azt a lehetőséget, hogy az adatok hordozhatósága egyszerű legyen. Ennek elvi következmény hogy a programok jobban fognak tudni egymással kommunikálni Az XML-nek egyik következménye, hogy a lehető legtávolabbi platformon levő gépek rendszerei között is ki tud alakulni egy kommunikáció. Az adatbányászat be fog élénkülni, főleg az interneten lehet ezt érezni.
Még néhány szó… Ennek az adatbányászat fellendülésnek csak egy tipikus példája: Mpeg 7 szabvány, ami gyakorlatilag arra képes, hogy rá keres egy film tetszőleges jelenetére és adataira.