Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Web programozás és haladó fejlesztési technikák XML
SAX vs DOM DTD vs Schema JSON
2
XML
3
eXtensible Markup Language
Strukturált adatok tárolása szöveges formátumban Jelölő-nyelv Az ember és a gép számára is olvasható hierarchikus formátum
4
XML példa <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="children"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <price>29.99</price> <book category="web"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> <book category="web" cover="paperback"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <price>39.95</price> </bookstore>
5
XML dokumentum Az XML dokumentum az alábbi elemekből áll: Címke (tag)
Nyitó (<author>) vagy záró (</author>) címke Üres címke (<author />) Elem (element) Nyitó és záró tagek valamint a közöttük levő tartalmak Attribútum (attribute) Minden elemhez tartozhat, a nyitó tagben vagy az üres tagben definiálandó kulcs="érték" felépítés
6
XML példa Tag <?xml version="1.0" encoding="UTF-8"?>
<book category="web"> <bookstore> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <book category="cooking"> <author>Per Bothner</author> <title lang="en">Everyday Italian</title> <author>Kurt Cagle</author> <author>Giada De Laurentiis</author> <author>James Linn</author> <year>2005</year> <author>Vaidyanathan Nagarajan</author> <price>30.00</price> <year>2003</year> </book> <price>49.99</price> <book category="children"> <title lang="en">Harry Potter</title> <book category="web" cover="paperback"> <author>J K. Rowling</author> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <price>29.99</price> <price>39.95</price> </bookstore>
7
XML példa Elem <?xml version="1.0" encoding="UTF-8"?>
<book category="web"> <bookstore> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <book category="cooking"> <author>Per Bothner</author> <title lang="en">Everyday Italian</title> <author>Kurt Cagle</author> <author>Giada De Laurentiis</author> <author>James Linn</author> <year>2005</year> <author>Vaidyanathan Nagarajan</author> <price>30.00</price> <year>2003</year> </book> <price>49.99</price> <book category="children"> <title lang="en">Harry Potter</title> <book category="web" cover="paperback"> <author>J K. Rowling</author> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <price>29.99</price> <price>39.95</price> </bookstore>
8
XML példa Attribútum <?xml version="1.0" encoding="UTF-8"?>
<book category="web"> <bookstore> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <book category="cooking"> <author>Per Bothner</author> <title lang="en">Everyday Italian</title> <author>Kurt Cagle</author> <author>Giada De Laurentiis</author> <author>James Linn</author> <year>2005</year> <author>Vaidyanathan Nagarajan</author> <price>30.00</price> <year>2003</year> </book> <price>49.99</price> <book category="children"> <title lang="en">Harry Potter</title> <book category="web" cover="paperback"> <author>J K. Rowling</author> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <price>29.99</price> <price>39.95</price> </bookstore>
9
XML Szintaxis A tagek kisbetű-nagybetű érzékenyek
Kötelezően egy gyökérelem Minden nyitó taghez kell hogy tartozzon záró tag Proper nesting (helyes beágyazás): a beágyazott elemek záró tagje meg kell előzze a szülő záró tagjét A < karakter nem használható a tartalmakban XML prolog opcionálisan az első sorban: <?xml version="1.0" encoding="UTF-8"?> Helyes szintaxis: well-formed XML
10
Névterek Névütközés ellen Prefix
11
Feldolgozás XML dokumentum értelmezése két módon történhet
SAX (Simple API for XML) DOM (Document Object Model)
12
SAX Esemény-alapú soros feldolgozás
A dokumentum feldolgozása során észlelt tagekről értesítést küld Alacsony memóriaigény Nem lehet összetett lekérdezést készíteni
13
DOM A teljes dokumentumot betölti mint fa-szerkezetet a memóriába
A fa bejárható, keresés és módosítás, visszaírás is lehetséges Nagy memóriaigény Nagyméretű dokumentumok esetén nem alkalmazható
14
XML fa Gyermek-szülő kapcsolat Szülő-gyermek kapcsolat
bookstore book book book book … … … title author year price Gyermek-szülő kapcsolat Szülő-gyermek kapcsolat Testvér kapcsolat
15
XML fa Gyermek-szülő kapcsolat Szülő-gyermek kapcsolat
bookstore book book book book … … … title author year price Gyermek-szülő kapcsolat Szülő-gyermek kapcsolat Testvér kapcsolat
16
XML fa Gyermek-szülő kapcsolat Szülő-gyermek kapcsolat
bookstore book book book book … … … title author year price Gyermek-szülő kapcsolat Szülő-gyermek kapcsolat Testvér kapcsolat
17
XML fa Gyermek-szülő kapcsolat Szülő-gyermek kapcsolat
bookstore book book book book … … … title author year price Gyermek-szülő kapcsolat Szülő-gyermek kapcsolat Testvér kapcsolat
18
Validálás Attól hogy az XML szintaktikailag helyes, azaz well-formed csak annyit jelent hogy nem sérült A feldolgozónak azonban az is fontos, hogy a dokumentumban tárolt információ számára értelmezhető, használható legyen Ehhez validálni szükséges
19
XML validálás Validálásra két módszer terjedt el:
DTD (Document Type Definition) Schema
20
DTD Elfogadott elemek és attribútumok, értékek meghatározása
Sajátos leíró nyelv
21
Schema Az XML Schema ugyanazt írja le amit a DTD
Azonban az XML struktúrája nagyban segíti az átláthatóságot XSD: XML Schema Definition
22
DTD vs Schema DTD: XSD:
23
DTD vs Schema DTD: XSD:
24
XML alkalmazásai
25
HTML
26
XAML
27
JSON
28
JSON JavaScript Object Notation Strukturált adatok tárolására szolgál
Épp, mint az XML Mivel a JavaScriptben ez a formátum szolgál az objektumok leírására, ezért a böngészőkben alapból támogatott De más technológiák esetén is gond nélkül alkalmazható
29
JSON XML: JSON:
30
JSON vs XML A JSONben Nincs zárótag: rövidebb
Lehet benne tömböt definiálni Nem lehet ciklikus / rekurzív adatszerkezetet tárolni
31
Webszolgáltatások
32
A filozófus-fordító-titkárnő architektúra
33
A filozófus-fordító-titkárnő architektúra
A filozófusok a kommunikáló alkalmazások A küldő fordítója XML-t állít elő az üzenetből, a fogadó fordítója az XML-t alakítja a filozófus számára érthető üzenetté A titkárnők felelnek az XML dokumentumok hálózati továbbításáért
34
Web szolgáltatások üzenetváltásai
35
Wikipedia MediaWiki API
36
Waze live map
37
Források W3schools.com MediaWiki API Waze.com
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.