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

XML alapok 2. XML hibaellenőrzés XML a böngészőkben XML parser XML névterek XML CDATA XML fájlok karakter kódolása Egy egyszerű XML szerver XML alkalmazások.

Hasonló előadás


Az előadások a következő témára: "XML alapok 2. XML hibaellenőrzés XML a böngészőkben XML parser XML névterek XML CDATA XML fájlok karakter kódolása Egy egyszerű XML szerver XML alkalmazások."— Előadás másolata:

1 XML alapok 2. XML hibaellenőrzés XML a böngészőkben XML parser XML névterek XML CDATA XML fájlok karakter kódolása Egy egyszerű XML szerver XML alkalmazások XML HTTP kérések

2 XML /2 Az XML dokumentumok hibái leállítják az XML programot A W3C XML specifikáció kinyilvánítja, hogy az XML dokumentum feldolgozását a program ne folytassa, ha érvényességi hibát talál. Ennek indoka az, hogy az XML szoftvert könnyű legyen megírni, és hogy az összes XML dokumentum kompatibilis legyen. A HTML-lel lehetséges hibákkal zsúfolt dokumentumot létrehozni (pl. a vég tag- ek elhagyásávall). A HTML böngészők terjedelmességének és inkompatibilitásának egyik fő oka az, hogy mindegyik saját módszert követ annak kitalálására, hogy a dokumentumnak hogyan kellene kinéznie, amikor egy HTML hibát észlel. XML esetén ez nem lehetséges. Egy általános XML érvényesség ellenőrző A következő címen található egy XML érvényesség ellenőrző program (Validate any XML file):

3 XML /3 XML a Netscape-ben és az Explorer-ben XML a Netscape 6-ban A Netscape 6 támogatja az XML-t. Az XML forrás megnézéséhez kattints a jobb gombbal a lapra és válaszd a "View Page Source"-t (Lap forrás megnézése). XML az Internet Explorer 5.0-ban Az Internet Explorer 5.0 támogatja az XML 1.0 szabványt és az XML DOM-t (Document Object Model). Ezeket a szabványokat a World Wide Web Consortium (W3C) határozta meg. Az Internet Explorer 5.0 a következő XML támogatással rendelkezik: XML dokumentumok megnézése, a W3C DTD szabványok teljes támogatása, a HTML-be adat-szigetekként (Data Islands) beágyazott XML, HTML elemekhez XML adat kötése, XML transzformálása és kijelzése XSL-lel,

4 XML /4 XML megjelenítése CSS-sel, hozzáférés az XML DOM-hoz. Az Internet Explorer támogatja a Behaviors-öket ("viselkedéseket") is a Behaviors kizárólagos Microsoft technológia, a Behaviors el tudja választani a scripteket a HTML oldaltól, a Behaviors képes az XML adatokat a kliens diszkjén tárolni. Ezen jellegzetességekre a következő fejezetben mutatunk példát. XML fájlok megnézése A nyers XML fájlok a böngészőkben megnézhetők, de a weblap-szerű megjelenítéshez további információkat kell megadnunk. A böngészők színekkel jelzik a gyökér és gyerek elemeket, +- jellel az elem struktúra kinyitását és elrejtését. Hibás XML fájl megnyitásakor a böngészők jelzik a hibát. A következő fejezetekben a kijelzés különböző megoldásait mutatjuk be.

5 XML /5 XML megjelenítése CSS-sel Valószínűleg a jövőben nem ezt a módszert fogjuk alkalmazni a Weben. Azt hisszük, hogy az XSL-lel való formázás lesz az új szabvány, amikor már a fő böngészők támogatják ezt. Nem hisszük, hogy az XML-t honlapok készítésére használnánk a jövőben, hanem az XHTML (az XML-ként definált HTML) lesz a megoldás. XHTML tutorial címe: XML megjelenítése XSL-lel Az XSL az XML ajánlott stíluslap nyelve. Az XSL (eXtensible Stylesheet Language) sokkal kifinomultabb, mint a CSS. Az XSL használatának egyik módja az XML HTML-lé alakítása a böngészővel való kijelzés előtt. Az sor az XML dokumentumban az XML fájlt az XSL fájlhoz csatolja. Az XSL tutorial címe:

6 XML /6 XML az adat-szigetekben (IE 5.0) A nem hivatalos tag-et használjuk az XML adat HTML-be való beágyazására: Tove Jani Reminder Don't forget me this weekend! vagy a különálló XML fájl is beágyazható: Az tag egy HTML elem, és nem egy XML elem!

7 XML /7 Adat csatolás (Data Binding) Az adat-szigetek HTML elemekhez köthetők (a HTML táblázatokhoz hasonlóan). Az alábbi példában az ID "cdcat" attribútumú XML adat-szigetet külső XML fájlból töltjük be. Az adatforrás attribútummal a HTML táblázatot az adat- szigethez kötjük, és végül a tabledata elemeket egy span-on (áthidalás) belüli adatmező attribútummal az XML adatelemekhez kötjük:

8 XML /8 XML parser (elemző) használata Az XML dokumentum olvasásához és módosításához - létrehozásához és kezeléséhez egy XML elemzőre van szükségünk. A Microsoft Internet Explorer 5.0-val együtt adják a Microsoft XML parser-t, amit a nyelvsemleges programozási modell jellemez, és támogatja a JavaScript, VBScript, Perl, VB, Java, C++ és más, W3C XML 1.0 és XML DOM, DTD és érvényesség ellenőrzés eszközöket. Az XML fájl a következő script kóddal tölthető a parser-be: var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc.async="false"xmlDoc.load("note.xml") // processing the document goes here Az XML megjelenítésére JavaScript (vagy VBScript) használható.

9 XML /9 XML névterek (namespaces) Mivel az XML-ben az elem nevek nem rögzítettek, nagyon gyakran névütközés áll elő, amikor két különböző dokumentum ugyanazt a nevet használja két különböző típusú elem leírására, pl.: Apples Bananas és African Coffee Table Ha ezt a két dokumentumot összeraknánk, akkor névütközés keletkezne.

10 XML /10 A névütközés feloldása prefix (előtag) használatával: Apples Bananas és African Coffee Table

11 XML /11 Névterek használata Apples Bananas és African Coffee Table A prefixen túl a tag-hez xmnls attribútumot is adtunk, ami az elem prefixhez egy névtérrel (namespace) minősített nevet (qualifid name) társít.

12 XML /12 A névtér (namespace) attribútum A névtér attribútumot az elem kezdő tag-jében a következő szintaxissal helyezhetjük el: xmlns:namespace-prefix="namespace" Az előző példában magát a névtért egy Internet címmel adtuk meg: xmlns:f="http://www.w3schools.com/furniture" A W3C névtér specifikáció szerint a névtérnek URI-nak (Uniform resource Identifier) kell lennie. Az elem azonos prefixű gyerekei ugyanazzal a névtérrel lesznek társítva. Megjegyzendő, hogy a parser ezt a címet nem keresi meg, a cél csupán az, hogy a névtér egyedi nevet eredményezzen. Ennek ellenére a társaságok nagyon gyakran a névteret egy valódi Web lapra való mutatóként használják, amely információt tartalmaz a névtérről.

13 XML /13 Uniform Resource Identifiers (Egységes Forrás Azonosító) Az Uniform Resource Identifier (URI) egy karaktersorozat, ami egy Internet Resource-t (Internet Forrás) azonosít. Az URI általában egy Uniform Resource Locator (URL), ami egy Internet domain címet azonosít. Egy másik kevésbé szokásos URI típus az Universal Resource Name (URN). Példáinkban csak URL-eket használunk, ez biztosítja a névtér egyediségét. Default névterek A default névtér kijelölésével a gyerek elemeknél nem kell a prefixet használni. Szintaktikája: Példák: Apples Bananas

14 XML /14 és African Coffee Table A névterek használata Az XSL stílus lapokat az XML dokumentumok más formátumúvá, mint pl. HTML, alakítására használjuk. A következő XSL dokumentumban a legtöbb tag HTML tag, a többieknek xsl prefixe van, melyeket a "http://www.w3.org/TR/xsl" névtér azonosít.

15 XML /15 Title Artist XML CDATA Az XML dokumentumban a parser a CDATA szakaszban lévő szöveg kivételével minden szöveget elemez. Egy XML elem elemzésénél a parser az XML tag-ek közötti szöveget is elemzi, mivel az XML elemek más elemeket is tartalmazhatnak:

16 XML /16 Bill Gates A parser ezt alelemekre tördeli: Bill Gates Escape karakterek A nem megengedett XML karaktereket entity hivatkozással (entity reference) kell helyettesíteni. Pl. a '<' karakter egy XML elemen belül hibát okoz: if salary Ennek elkerülésére a '<' karaktert entity hivatkozással kell helyettesíteni: if salary < 1000 then Az XML-ben 5 előre definíált entity hivatkozás van: <greater than &&ersand ''apostrophe ""quotation mark Megjegyzés: csak a '<' és a '&' karakterek szigorúan illegálisak.

17 XML /17 CDATA A CDATA szakaszon belül a parser mindent figyelmen kívül hagy. A CDATA kezdő és zárótag-je: " " : A CDATA szakasz nem tartalmazhat másik CDATA szakaszt.

18 XML /18 Az XML dokumentumok idegen karaktereket is tartalmazhatnak, az ilyen dokumentumokat Unicode-ként kell menteni, hogy a parser megértse. A Windows 95/98 Notepad nem képes a fájlokat Unicode formátumban menteni, ezért ezeket a fájlokat encoding attribútummal kell menteni: De a hibát eredményez. A Windows 2000 Notepad támogatja az Unicode-ot. Hiba üzenetek a karakter kódolással kapcsolatban An invalid character was found in text content : egy karakter az XML dokumentumban nem illeszkedik a kód attribútumhoz. A fájl idegen karaktereket tartalmaz és nem megfelelően mentett, vagy nem tartalmaz kódolási attribútumot.

19 XML /19 Switch from current encoding to specified encoding not supported : a fájlt Unicode/UTF-18-ként mentették, de a kód attribútum más egybyte-os kódolási formát ír elő. Ugyanezt az üzenetet kaphatjuk akkor is, amikor a dokumentumot egybyte-os kódolással mentettük, de kétbyte-os kódolást adtunk meg kódolási attribútumként. Végkövetkeztetés Olyan szerkesztőt használj, ami támogatja a karakter kódolást. Bizonyosodj meg az alkalmazott kódolási formáról. Ugyanazt a kódolási attribútumot használd az XML dokumentumaidban. Egy egyszerű XML szerver Az XML előállítható olyan szerveren is, amire nem telepítettek XML vezérlőket. XML tárolása a szerveren Az XML fájlok tárolhatók az Internet szervereden ugyanolyan módon, mint a HTML fájlok. Írd be a Notepad-del a következő sorokat: Jani Tove Remember me this weekend

20 XML /20 Mentsd el pl. a "note.xml" néven ugyanabba a katalógusba, ahová a HTML fájlokat mented, az XML fájlokhoz a MIME típust állítsd "text/xml"-re. XML előállítása ASP-vel Egy XML szerver válasz előállítására írd be a következő kódot és mentsd ASP fájlként a szerverre: <% response.ContentType="text/xml" response.Write(" ") response.Write(" Jani ") response.Write(" Tove ") response.Write(" Remember me this weekend ") response.Write(" ") %> A válasz tartalomtípusát XML-re kell állítani. További információk: Hogyan tér vissza az ASP fájl a szerverről: ASP tutorial:

21 XML /21 XML kinyerése adatbázisból XML előállítható adatbázisból is minden további XML szoftver installálása nélkül. Írd be a következő kódot és mentsd ASP fájlként: <% response.ContentType = "text/xml" set conn=Server.CreateObject("ADODB.Connection") conn.provider="Microsoft.Jet.OLEDB.4.0;" conn.open server.mappath("../ado/database.mdb") sql="select fname,lname from tblGuestBook" set rs=Conn.Execute(sql) rs.MoveFirst() response.write(" ") while (not rs.EOF) response.write(" ") response.write(" " & rs("fname") & " ") response.write(" " & rs("lname") & " ") response.write(" ")

22 XML /22 rs.MoveNext() Wend rs.close() conn.close() response.write(" ") %> A tényleges output megnézhető: A fenti példa az ASP-t ADO-val használja, ADO tutorial:

23 XML /23 XML alkalmazások Bemutatunk egy kicsi keretet az XML alkalmazásra. Egy XML dokumentummal kezdjük Egy CD katalógus: Empire Burlesque Bob Dylan USA Columbia more.... A dokumentum betöltése egy adat-szigetbe

24 XML /24 A fenti kóddal a "cd_catalog.xml" XML fájlt betöltjük a "láthatatlan" "xmldso" adat- szigetbe. Az async="false" attribútum biztosítja, hogy az XML adat betöltése a HTML feldolgozás előtt megtörténik. Az adat-sziget kötése egy HTML táblázathoz Az XML adat láthatóvá tételéhez az XML adat-szigetet egy HTML elemhez kell kötni. Ehhez meg kell adni a táblázat adatforrás attribútumát, a táblázat adatain belül az adatmező elemeket a elemekhez kell adni: Title Artist Year

25 XML /25 Az adat-sziget kötése vagy elemekhez A HTML lapon bárhol megjeleníthető az adat-sziget adata, nemcsak táblázatban. Csupán vagy elemeket kell a laphoz adni, az adatforrás attribútumot használd az elemek adat-szigethez való kötésére, és az adatmező attribútumokat pedig az elemek XML elemhez való kötésére: Title: Artist: Year: vagy Title: Artist: Year:

26 XML /26 A elem használatával az adat új sorban jelenik meg. A fenti példa csak egy sort mutat, a navigáláshoz egy kis scriptet kell a kódhoz adni. Navigációs script hozzáadása az XML-hez Olyan scriptet kell létrehozni, amely hívja Data Island movenext() és moveprevious() metódusait: function movenext() { x=xmldso.recordset if (x.absoluteposition < x.recordcount) { x.movenext() } function moveprevious() { x=xmldso.recordset

27 XML /27 if (x.absoluteposition > 1) { x.moveprevious() } XML HTTP kérések Az IE 5.0-től kezdve, a HTTP kérés (request) használatával XML adat kérhető le a szerverről. A böngésző kérés A böngészőből kiadott HTTP kérés XML-t kérhet a szerverről: var objHTTP = new ActiveXObject("Microsoft.XMLHTTP") objHTTP.Open('GET','httprequest.asp',false) objHTTP.Send()

28 XML /28 A kérés eredménye megjeleníthető a böngészőben: document.all['A1'].innerText= objHTTP.status document.all['A2'].innerText= objHTTP.statusText document.all['A3'].innerText= objHTTP.responseText Kommunikáció a szerverrel A HTTP kéréssel kommunikálhatunk a szerverrel, a következő példa csak a módszer szemléltetése: <% response.ContentType="text/xml" txt=" 12 Years " response.write(txt) %> A válasz a kérdéstől függetlenül mindíg 12 év, további kódra van szükség.

29 XML /29 XML Behaviors - az új DHTML? A behavior egy CSS attribútum szelektor. Ez a behavior szelektor képes mutatni egy különálló XML fájlra, amely a Web lap XML vagy HTML elemein végrehajtandó kódot tartalmaz. A Behaviors nem W3C szabvány, hanem egy Microsoft technológia. Ez egy olyan nagyszerű módszer, ami a HTML lapról teljesen eltávolítja a script kódot. Így most elkezdhetünk script könyvtárakat írni és a scriptjeinket tetszés szerinti elemhez csatolhatjuk. Az alábbi HTML fájl tartalmaz egy elemet, amely a elem számára meghatároz egy behaviort: h1 { behavior: url(behave.htc) } Move your Mouse over me

30 XML /30 Működése kipróbálható a: címen. A behavior kódot a behave.htc XML dokumentum tartalmazza: function hig_lite() { element.style.color=255 } function low_lite() { element.style.color=0 }

31 XML /31 A behavior fájl JavaScript-et tartalmaz, amit a elembe csomagoltunk. A component csomagoló a script eseménykezelőjét is tartalmazza. XML-lel kapcsolatos technológiák Ez a fejezet az XML alkalmazások megértéséhez és fejlesztéséhez fontos technológiákat sorolja fel.


Letölteni ppt "XML alapok 2. XML hibaellenőrzés XML a böngészőkben XML parser XML névterek XML CDATA XML fájlok karakter kódolása Egy egyszerű XML szerver XML alkalmazások."

Hasonló előadás


Google Hirdetések