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 1. Általános jellemzők Az XML szintaxisa XML elemek

Hasonló előadás


Az előadások a következő témára: "XML alapok 1. Általános jellemzők Az XML szintaxisa XML elemek"— Előadás másolata:

1 XML alapok 1. Általános jellemzők Az XML szintaxisa XML elemek
XML attribútumok Az XML ellenőrzése

2 eXtensible Markup Language, bővíthető jelölő nyelv.
Forrás: XML Tutorial, (Copyright Refsnes Data) A HTML-t az adatok megjelenítésére tervezték és a hangsúly azon van, hogy az adat hogyan néz ki. Az XML-t az adatok leírására tervezték és a hangsúly magán az adaton van. Mi is az az XML? eXtensible Markup Language, bővíthető jelölő nyelv. Az XML a HTML-hez sokban hasonlító jelölő nyelv. Az XML-t az adatok leírására tervezték. Az XML-ben nincsenek előredefiniált tag-ek, nekünk kell definiálnunk a saját tag-jeinket. Az XML az adatok leírására a Document Type Definition (DTD)-t vagy az XML Schema-t használja. Az XML-t a DTD-vel vagy az XML Schema-val úgy tervezték, hogy önleíró legyen. XML /2

3 Az XML és a HTML közötti fő különbség
Az XML-t az adatok hordozására tervezték. Az XML nem helyettesíti a HTML-t. Az XML-t és a HTML-t más-más céllal tervezték: A HTML-t az adatok megjelenítésére tervezték és a hangsúly azon van, hogy az adat hogyan néz ki. Az XML-t az adatok leírására tervezték és a hangsúly magán az adaton van. A HTML az információ megjelenítéséről, míg az XML az információ leírásáról szól. Az XML nem csinál semmit Az XML-t nem arra tervezték, hogy bármit is csináljon. Az XML-t az információ strukturálására, tárolására és küldésére hozták létre. Példa egy üzenet XML-ként való tárolására. Ez az XML dokumentum nem csinál semmit. Ez a puszta információ XML tag-ekbe csomagolva. Szoftver kell a küldésére, fogadására, vagy kijelzésére. XML /3

4 Az XML kötetlen és bővíthető
<note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> Az XML kötetlen és bővíthető Az XML tag-ek nincsenek előre definiálva. Nekünk kell saját tag-jeinket "feltalálni". Az XML megengedi a szerzőnek saját tag-ek és saját dokumentum struktúra meghatározását. Az XML a HTML kiegészítője Az XML nem helyettesíti a HTML-t. XML /4

5 Az XML a jövőbeni Web fejlesztésben
A jövőben a Web fejlesztésben nagyon valószínű, hogy az XML-t használják az adatok leírására, míg a HTML-t ugyanezen adatok formázására és megjelenítésére használják. Az XML egyik leírása: az XML platformok közötti (cross-platform), szoftvertől és hardvertől független eszköz az információ átvitelére. Az XML a jövőbeni Web fejlesztésben Az XML mindenütt jelen kezd lenni (jelen van). Az XML szabvány nagyon gyorsan kialakult és nagyszámú szoftverfejlesztő elfogadta ezt a szabványt. Az XML a Web jövőjében legalább olyan fontos lesz, mint amilyen a HTML volt a Web megalapozásában és az XML az adatkezelés és az adatátvitel legáltalánosabb eszközévé válik. XML vicc (vigyázat angol humor) Mikor használjam az XML-t? Amikor az összefoglalásban (resume) szükséged van egy jól hangzó szóra (buzzword). XML /5

6 Hogyan használjuk az XML-t?
Fontos megérteni, hogy az XML-t az adat tárolására, hordozására és cseréjére tervezték és nem az adat megjelenítésére. Az XML elválaszthatja az adatot a HTML-től, és az adat a HTML-en kívül tárolódik. Amikor a HTML-t használjuk az adat megjelenítésére, akkor az adatot a HTML-en belül tároljuk. Az XML-lel az adat külön XML fájlokban tárolható. Így a HTML használatánál az adat elrendezésére és megjelenítésére összpontosíthatunk, és biztosak lehetünk abban, hogy a kérdéses adatok változásai nem kívánják a HTML módosítását. Az XML adatok a HTML lapok belsejében adat-szigetekként (Data Islands) is tárolhatók. És így továbbra is koncentrálhatunk az adatok formázására és megjelenítésére. Az XML-t az adatcserére is használhatjuk Az XML-lel az adatok nem kompatibilis rendszerek között is cserélhetők. A valóságban a számítógép rendszerek és az adatbázisok az adatokat inkompatibilis formátumban tárolják. XML /6

7 Az XML-lel a pénzügyi információk is kicserélhetők az Interneten.
Nagy kihívás az ilyen rendszerek közötti adatcsere megvalósítása az Interneten. Az adatok XML-re való alakítása nagymértékben csökkentheti ezt a bonyolultságot és olyan adatot hozhatunk létre, ami olvasható a különböző alkalmazásokkal. Az XML és a B2B Az XML-lel a pénzügyi információk is kicserélhetők az Interneten. Az XML a vállalatok közötti pénzügyi információk cseréjének a fő nyelvévé válik. Sok B2B alkalmazás áll fejlesztés alatt (ebXML). Az XML használható az adatok megosztására Az XML-lel sima text fájlok használhatók az adatok megosztására. Mivel az XML adat sima text formátumban tárolódik, ezért az XML az adatmegosztás szoftvertől és hardvertől független módját biztosítja. Így könnyebb olyan adatokat létrehozni, melyekkel a különböző alkalmazások dolgozhatnak. Ugyancsak könnyebb új operációs rendszerre, szerverre, alkalmazásra és új böngészőre váltani. XML /7

8 Az XML adatok tárolására is használható
Az XML-lel a sima text fájlok adatok tárolására is használhatók. Az XML az adatok fájlokban vagy adatbázisokban való tárolására is használható. Alkalmazások írhatók az információ tárolására és kinyerésére a tárból, és általános alkalmazásokat használhatunk az adatok megjelenítésére. Az XML hasznosabbá teheti adatainkat Az XML-lel az adataink több felhasználó számára elérhetők. Mivel az XML hardver-, szoftver- és alkalmazásfüggetlen, így az adataink nemcsak szabványos HTML böngészőkkel érhetők el. Más kliensek és alkalmazások is elérhetik az XML fájlainkat adatforrás gyanánt, éppúgy ahogy az adatbázisokat is elérik. Adataink mindenféle olvasógépekkel (ágensekkel) is elérhetők, így azokat a vak, vagy egyéb hátrányos helyzetű emberek is elérhetik. XML /8

9 Az XML új nyelvek létrehozására is használható
Az XML a WAP (Wireless Application Protocol) és a WML (Wireless Markup Language) anyja A WAP-ot is XML-ben írták meg, amit a kézi készülékek, mint pl. a mobil telefonok, Internet alkalmazásaihoz használják. További információk: WML tutorial, Ha a fejlesztőknek volna józan eszük Ha tényleg volna józan eszük, akkor minden jövőbeni alkalmazásukban az adatcserét XML-ben végeznék. A jövő olyan szövegszerkesztőket, táblázatkezelőket és adatbázisokat hozhat, melyek egymás adatait sima text formátumban tudnák olvasni, mindenféle konverziós rutinok nélkül. Csak imádkozhatunk, hogy a Microsoft és az összes többi szoftvergyártó megegyezzen. XML /9

10 Az XML dokumentumok önleíró és egyszerű szintaxist használnak.
Az XML szintaxisa Az XML szintaktikai szabályai nagyon egyszerűek és szigorúak. A szabályokat nagyon könnyű megtanulni és használni. Emiatt nagyon könnyű olyan szoftvert készíteni, amely képes olvasni és kezelni az XML-t. Példa XML dokumentum Az XML dokumentumok önleíró és egyszerű szintaxist használnak. <?xml version="1.0" encoding="ISO "?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> XML /10

11 Minden XML elemhez tartoznia kell egy záró tag-nek
A dokumentum első sora - az XML deklaráció - meghatározza az XML verzióját és a karakter kódolást. Gyökérelem: <note> , 4 gyerekelem: to, from, heading és body, és végül az utolsó sor meghatározza a gyökérelem végét: </note> Minden XML elemhez tartoznia kell egy záró tag-nek Az XML-ben a záró tag elhagyása nem megengedett. A HTML-ben bizonyos tag-ekhez nem szükséges záró tag: <p>This is a paragraph <p>This is another paragraph Az XML-ben minden tag-nek záró tag-gel kell rendelkeznie: <p>This is a paragraph</p> <p>This is another paragraph</p>  Megjegyzés: az XML deklarációnak nincs záró tag-je. A deklaráció magának az XML dokumentációnak nem része, nem XML elem, ezért nincs záró tag-je. Vagy: <tag /> XML /11

12 Az XML tag-ek kis/nagybetű érzékenyek
A HTML-től eltérően az XML tag-ek kis/nagybetű érzékenyek, ezért a nyitó és záró tag-eket ugyanúgy kell írni: <Message>This is incorrect</message> <message>This is correct</message> Az összes XML elemet helyesen kell egymásba ágyazni Az elemek hibás egymásba ágyazása az XML számára értelmetlen. HTML-ben helyes: <b><i>This text is bold and italic</b></i> XML-ben így helyes: <b><i>This text is bold and italic</i></b> Minden XML dokumentumban kell lennie egy gyökér (root) elemnek Minden XML dokumentumnak kell tartalmaznia egyetlen tag párt, amely meghatározza a gyökér elemet. XML /12

13 Minden más elemnek ezen gyökér elemen belül kell lennie.
Minden elemnek lehet aleleme (gyerek elem), az alelemeket is helyesen kell beágyazni a szülő(k) elemeibe: <root> <child> <subchild>....</subchild> </child> </root> Az attribútum értékeket mindig idézőjelbe kell tenni Az XML elemeknek a HTML-hez hasonlóan lehetnek név-érték párosai. Az attribútum értékeket mindig idézőjelbe kell tenni. XML /13

14 Helytelen: Helyes: <?xml version="1.0" encoding="ISO-8859-1"?>
<note date=12/11/2002> <to>Tove</to> <from>Jani</from> </note> Helyes: <note date="12/11/2002"> XML /14

15 Az XML-ben a white space karakterek megőrződnek
Az XML a HTML-től eltérően, ami csonkítja a fehér karaktereket (helyköz, tabulátor), nem vágja le azokat. Az XML a CR/LF jelkombinációt LF-re alakítja át. Az XML az újsor jelet mindig LF-ként tárolja, hasonlóan a Unixhoz (a Macintosh CR-ként tárolja az újsort). Megjegyzések (comments) az XML-ben <!-- This is a comment --> Semmi különleges nincs az XML-ben Ez csupán egy sima szöveg néhány hegyes zárójelbe tett XML tag hozzáadásával. Egy egyszerű szövegszerkesztőben az XML tag-ek láthatóak és nincs különleges kezelésük. Egy XML-t váró alkalmazás a tag-eket ezzel szemben speciálisan kezeli. A tag-ek láthatóak, vagy nem, és lehet funkcionális jelentésük, az alkalmazás jellegétől függően. XML /15

16 Az XML elemek bővíthetők
Az XML dokumentumok bővíthetők, hogy több információt legyenek képesek hordozni. <note> <to>Tove</to> <from>Jani</from> <body>Don't forget me this weekend!</body> </note> Képzeljünk el egy alkalmazást, ami kivonja az XML dokumentumból a <to>, <from> és <body> elemeket, hogy a következő outputot állítsa elő: MESSAGE To: Tove From: Jani Don't forget me this weekend! XML /16

17 Az XML elemeknek vannak kapcsolataik
Tételezzük fel, hogy a szerző további információkat tesz az XML dokumentumba: <note> <date> </date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> Tönkre mehet-e, összeomolhat-e az alkalmazás? Nem, mert az alkalmazás továbbra is meg tudja találni a <to>, <from> és <body> elemeket az XML dokumentumban. Az XML elemeknek vannak kapcsolataik Az elemek mint szülők és gyerekek összekapcsolódnak. Az XML terminológia megértéséhez ismernünk kell, hogy hogyan nevezzük az XML elemek közötti kapcsolatokat és hogy az elemek tartalmát hogyan írjuk le. XML /17

18 Képzeljük el a következő könyv leírást:
Book Title: My First XML Chapter 1: Introduction to XML What is HTML What is XML Chapter 2: XML Syntax Elements must have a closing tag Elements must be properly nested XML /18

19 és az ezt leíró XML dokumetumot:
<book> <title>My First XML</title> <prod id="33-657" media="paper"></prod> <chapter>Introduction to XML <para>What is HTML</para> <para>What is XML</para> </chapter>  <chapter>XML Syntax <para>Elements must have a closing tag</para> <para>Elements must be properly nested</para> </book> Gyökér (root), gyerek (child), szülő (parent), testvér (sibling, sister) elemek. XML /19

20 Az elemeknek van tartalmuk
Az elemeknek lehet különféle típusú tartalmuk. Az XML elem minden, ami az elem kezdő tag-jétől a záró tag-ig található, magukat a tag-eket is beleértve. Az elemeknek lehet: elem, vegyes, egyszerű (text) vagy üres tartalmuk. Az elemeknek lehetnek attribútumaik. Az elemek elnevezése Elnevezési szabályok: - a nevek tartalmazhatnak betűket, számokat és más karaktereket, - a nevek nem kezdődhetnek számmal vagy írásjellel, - a név nem kezdődhet az xml (vagy XML, vagy Xml, ...) betűkkel, - a nevek nem tartalmazhatnak helyközt. Kövesd ezeket az egyszerű szabályokat: bármely szó használható, de a nevek legyenek szemléletesek, rövidek és egyszerűek, használd az aláhúzás jelet: <first_name>, <last_name>. Kerüld a kötőjelet és a pontot, használatuk félreérthető! Használd az adatbázisban alkalmazott elnevezési szabályokat a megfelelő XML dokumentumban! XML /20

21 A nem-angol betűk megengedettek, de figyelj azokra a problémákra, melyet szoftver fejlesztők/kereskedők okozhatnak azzal, hogy nem támogatják azokat! A kettőspontot ne használd a nevekben, mivel azokat a névterekben (namespace) való használatra tartjuk fenn! XML attribútumok A HTML-hez hasonlóan az XML elemek a kezdő tag-ben tartalmazhatnak attribútumokat további információk tárolására: <img src="computer.gif"> <a href="demo.asp"> Az attribútumok gyakran olyan információt biztosítanak, ami nem része az adatnak, de fontos lehet annak a szoftvernek, ami kezeli ezt az elemet: <file type="gif"> computer.gif </file> XML /21

22 Idézőjelek használata
Az attribútum értékeket idézőjelbe kell tenni, a szimpla és a dupla idézőjel is használható: <person sex="female"> vagy <person sex='female'> Ha az attribútum maga is tartalmaz idézőjelet: <gangster name='George "Shotgun" Ziegler'> vagy <gangster name="George 'Shotgun' Ziegler"> Elemeket vagy inkább attribútumokat használjunk? Az adatok gyerek elemekben vagy attribútumokban is tárolhatók: <person sex="female"> <firstname>Anna</firstname> <lastname>Smith</lastname> </person> Itt a neme attribútum. XML /22

23 Kedvelt módszer lehet a 3.
<person> <sex>female</sex> <firstname>Anna</firstname> <lastname>Smith</lastname> </person> Itt a neme gyerek elem. Mindkét példa biztosítja az információt. Nincs szabály a választásra. Ha az információt adatnak gondoljuk, akkor gyerek elemként ábrázoljuk. Kedvelt módszer lehet a 3. Az adatokat gyerek elemekben szeretem tárolni, három megoldás: 1. a dátum attribútum: <note date="12/11/2002"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> XML /23

24 2. a dátum adatelem: <note>
<date>12/11/2002</date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> 3. a dátum kifejtett adatelem: <note> <date> <day>12</day> <month>11</month> <year>2002</year> </date> XML /24

25 Kerüljük az attribútumok használatát?
Az attribútumok használatával kapcsolatos néhány nehézség: - az attribútumok nem tartalmazhatnak többszörös értékeket (a gyerek elemek igen), - az attribútumokat nem könnyű bővíteni (jövőbeni változtatások), - az attribútumok nem tudják leírnia a struktúrát (a gyerek elemek igen), - az attribútumokat sokkal nehezebb programkóddal kezelni, - az attribútum értékeket nem könnyű ellenőrizni, hogy megfelelnek-e a DTD-nek. Ha attribútumokat használunk az adatok tárolására, akkor azokat nehéz olvasni és karbantartani. Csak olyan információk biztosítására érdemes használni, melyek nem az adatokra vonatkoznak. Az adatok leírására elemeket használjunk! Egy szélsőséges példa: <note day="12" month="11" year="2002" to="Tove" from="Jani" heading="Reminder" body="Don't forget me this weekend!"> </note> XML /25

26 Egy kivétel az előbbi szabály alól
Néha az elemekhez ID hivatkozásokat is rendelünk. Ezzel az elemek nagyon hasonló módon érhetők el, mint a HTML-ben a NAME és ID attribútumok: <messages> <note id="p501"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>   <note id="p502"> <to>Jani</to> <from>Tove</from> <heading>Re: Reminder</heading> <body>I will not!</body> </messages> Az ID ebben a példában csak egy számláló, vagy egyedi azonosító, és nem része a note adatoknak. Tehát ez a meta adat attribútumként tárolandó. XML /26

27 XML dokumentumok kezelése
Az XMLdocs egy Web-alapú XML szerkesztő (editor) teljes XML dokumentum kezelő rendszerrel. Az XMLdocs rendkívül gazdaságos megoldás az XML dokumentumok szerkesztésére. Létrehozhatók vele sablonok a sajtóközleményektől és termékleírásoktól kezdve a tudásalapú cikkekig és a help dokumentumokig minden. Ezeket a sablonokat nem-műszaki felhasználók is használhatják XML dokumentumok írására és szerkesztésére is az XMLdocs szövegszerkesztőjében, mint amilyen az XML editor. A dokumentumok ezután exportálhatók a Web site-on, vagy bárhol másutt az egyszerű Web Service-zel. Az XMLdocs egy hosted megoldás, így kis idő szükséges a beindítására, menj a címre és hozz létre egy munkaterületet! Itt nyilvános dokumentum sablonokat találhatsz sajtóközleményekre, help dokumentumokra, termékleírásokra, stb.! Ezek lehetővé teszik az azonnali indítást. Az XML Schema-kon alapulva könnyen létre lehet hozni saját sablont is. XML /27

28 Helyes formátumú XML dokumentumok
Az XML ellenőrzése A helyes szintaktikájú XML a jól formázott (well formed) XML. A DTD-vel ellenőrzött XML érvényes XML. Helyes formátumú XML dokumentumok A jól formázott XML dokumentumnak helyes az XML szintaktikája: <?xml version="1.0" encoding="ISO "?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> Érvényes XML dokumentumok Egy érvényes XML dokumentum egy DTD-nek (Document Type Definition) is megfelel: XML /28

29 <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "InternalNote.dtd"> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> Az XML DTD A DTD meghatározza egy XML dokumentum érvényes elemeit. Meghatározza a dokumentumstruktúrát az érvényes elemek listájával. Bővebben: DTD Tutorial, címe: XML séma (schema) Az XML Schema a DTD XML alapú alternatívája, a W3C támogatja az XML sémát. Bővebben: Schema Tutorial, címe: XML /29

30 a „note.dtd” fájl, meghatározza a fenti XML dokumentum elemeit:
a „note.xml” fájl: <?xml version="1.0"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> a „note.dtd” fájl, meghatározza a fenti XML dokumentum elemeit: <!ELEMENT note (to, from, heading, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>

31 Egy egyszerű XML Schema:
a „note.xsd” fájl meghatározza az előző XML dokumentum elemeit: <?xml version="1.0"?> <xs:schema xmlns:xs=" targetNamespace=" xmlns=" elementFormDefault="qualified"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

32 A következő XML dokumentum hivatkozik egy DTD-re:
A note elem komplex típusú, mivel más elemeket is tartalmaz. A többi elem egyszerű, mivel nem tartalmaz más elemeket. Hivatkozás egy DTD-re A következő XML dokumentum hivatkozik egy DTD-re: <?xml version="1.0"?> <!DOCTYPE note SYSTEM " <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>

33 Hivatkozás egy XML Schema-ra
A következő XML dokumentum hivatkozik egy XML Schema-ra: <?xml version="1.0"?> <note xmlns=" xmlns:xsi=" xsi:schemaLocation=" note.xsd"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>


Letölteni ppt "XML alapok 1. Általános jellemzők Az XML szintaxisa XML elemek"

Hasonló előadás


Google Hirdetések