XML
Mi az XML? Extensible Markup Language Kiterjeszthető jelölő nyelv Adatok, adatstruktúrák leírására szolgál A HTML és az SGML tapasztalataira alapulva jött létre HTML-nél szigorúbb SGML-nél egyszerűbb
Milyen az XML? Rugalmas Tetszőleges elem neveket lehet használni Rugalmasan bővíthető Több állományból állhat és egyszerre szigorú Strukturális szabályok Felhasználható karakterek és elnevezések
Példa 1 Tamás Tamás Jani Jani Emlékeztető Emlékeztető Ne felejtsd el elzárni a vizet! Ne felejtsd el elzárni a vizet!
Értelmezés Végrehajtási utasítás Fa struktúra megjegyzés Tamás Géza Emlékeztető Ne felejtsd... <?xml version="1.0" encoding="ISO "?> Tamás Jani Emlékeztető Ne felejtsd el elzárni a vizet!
Elemek Gyökér elem Gyermek elemek Rugalmas bővíthetőség A kezelő alkalmazás nem értelmezi hibaként a bővítést <Gyökér><Gyermek><AlGyermek>....</AlGyermek></Gyermek></Gyökér>
Strukturális szabályok Kötelező bezáró pár Az elemek nem lapolódhatnak át HTML XML Ez a szöveg félkövér ez a rész dőlt is ez már csak dőlt dőlt is ez már csak dőlt Ez a szöveg félkövér ez a rész dőlt is ez már csak dőlt dőlt is ez már csak dőlt
Tulajdonságok Tulajdonságok csak idézőjelben Tamás Tamás......
Tulajdonságok vagy Gyermek elemek A tulajdonságok Nem tartalmazhatnak több elemet Nem könnyen bővíthetők Nem rendezhetők struktúrákba Nehezebb az érvényességet ellenőrizni
Az XML megjelenítése Egyéni alkalmazások a megjelenítéshez Böngésző támogatás Megjelenítés HTML-ben adat szigetek - adat szigetek - Megjelenítés script nyelvekkel XMLDom (Vbasic, JavaScript, stb…) Megjelenítés stylesheet segítségével CSS XSL
További lehetőségek Namespace-ek Escape karakterek CDATA adatok karakter kódolás (encodeing)
Elnevezések Case sensitive Problémás karakterek elemnévben Ékezetes karakter Kihagyás - Nem tartalmazhat Aláhúzás ( _ ) - Nem kezdődhet vele XML - Nem kezdődhet vele Nem ajánlott Mínusz, pont, kettőspont
Az XML felhasználása Adat leírás Adatok szabványos megosztása Adatbázisok Biztalk Adat struktúrák vagy nyelvek definíciója XML Schema
XML DOM XML Document Object Model Szabvány része Szoftver komponens Operációs rendszer része (MSXML) Faként ábrázolja az XML-t Minden típusnak van megfelelője Element Attribute …
XML DOM működése Bemenete az XML állomány Fájl Karakterlánc … Komponenseken és interfészeken keresztül biztosítja az elérést COM .NET …
XML DOM objektumok XmlDocument A teljes dokumentumot reprezentálja Betölt, elment Eseményeket biztosít Létrehoz elemeket, attribútumokat, … Egyben egy XmlNode is
XML DOM objektumok XmlNode Egy részfát reprezentál Alaptípusa az objektumoknak Név, érték páros Hozzáférést biztosít a Gyerekeihez (elemekhez) Attribútumaihoz Szülőjéhez Dokumentumhoz XML szöveghez
XML DOM objektumok Fontosabb objektumok XmlDocument XmlElement XmlAttribute XmlDeclaration (<?xml..) XmlComment XmlText
XML DOM betöltés XmlDocument tudja A forrás nem számít (lehet bármi) Sima beolvasás ellenőrzi a szerkezetet Validálás beolvasáskor XmlValidatingReader Meg kell adni a sémát (XSD) Hibakezelés Pontosan megadja a helyét
XML DOM módosítás Létrehozni új elemeket XmlDocument-tel lehet A sorrend fontos Be lehet szúrni elé, mögé, előre, hátra Itt már nincs XSD ellenőrzés Szintaktikai ellenőrzés van Másolás lehetséges
XML soronként XmlTextReader Létrehozásnál adjuk meg a fájlt Forward-only cursor Mindig egy aktuális elemen áll Ennek a tulajdonságait lehet olvasni Tetszőleges nyelvet, karaktert kezel XmlTextWriter a Reader párja Formáz is
XPath Demo
XML Designer XML adatok és XSD sémák egyszerű szerkesztése XML forrás szerkesztése Séma elkészítése adatbázis alapján fogd-és-vidd módszerrel XML adatból kikövetkezteti a sémát Típusos DataSet-et generál
XML Designer XML dokumentumok / adatok XSD sémák W3C által javasolt XML séma leíró nyelv Felváltja a DTD-t XML adatok szerkezetét írja le XML adatok helyességének ellenőrzése Adatcsere formátumok leírása Relációs sémához rendelhető