Előadás vázlat Az XML története és alkalmazási területe

Slides:



Advertisements
Hasonló előadás
Koordináták, függvények
Advertisements

Zenetár a webszerverünkön, avagy XML használata PHP 5 alatt. Ercsey Balázs (laze) – netpeople.hu.
HTML nyelv Hiper-Text Markup Language 1. óra.
JQuery 8. előadás.
ADATBÁZISOK.
Hatékonyságvizsgálat, dokumentálás
A normalizálás az adatbázis-tervezés egyik módszere
Programozás III STRING-XML.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Document Type Definitions (DTD) XML séma
Extensible Markup Language
2010/2011.Huszár István1. dia Weboldalak tervezése II. (X)HTML.
ELŐADÁS VÁZLATOK (kiegészítés) XML - eXtensible Markup Language KNAPP GÁBOR 2000/2001 Gábor Dénes Főiskola.
Irodai és rendszer fájltípusok
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.
Bemutatkozik az XML.
Amit a HTML-ről érdemes tudni
Stílus, mesteroldal, témák
Mutatók, tömbök, függvények
HTML nyelv.
Leírónyelvek: HTML és XHTML
Hernyák Zoltán XML validálás.
2011. szeptember Az információtechnológia menedzselése Az információs rendszer fejlesztése Image of the slide: www2.raritanval.edu/departments/busadmin/.../Ch07-IntrotoBusiness.ppt.
XML alapok 2. XML hibaellenőrzés XML a böngészőkben XML parser
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
Instant alkalmazások SharePoint platformon. A fejlesztés és a testre szabás határai elmosódtak. A testre szabást végző legtöbbször nem programozó A.
Önleíró adatok: XML INFO ÉRA, Békéscsaba
Vizuális és web programozás II.
Vizuális és web programozás II.
Google earth és a térinformatika kapcsolata
Webszerkesztés Stíluslapok (CSS).
XML alapok 1. Forrás: Általános jellemzők Az XML szintaxisa XML elemek XML attribútumok Az XML ellenőrzése.
SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:
WEB Technológiák WEB-DB és XML ME Általános Informatikai Tsz. dr. Kovács László.
WEB Technológiák WEB-DB és XML ME Általános Informatikai Tsz. dr. Kovács László.
XML támogatás adatbázis-kezelő rendszerekben
Objektum Vezérelt Szoftverek Analízise Ferenc Rudolf és Beszédes Árpád Szegedi Tudományegyetem FrontEndART.
SQL, Relációs adatmodell
CSS.
Metaadatok és digitális szövegek Bakonyi Géza SZTE Egyetemi Könyvtár.
XHTML 1. óra. Miért térjünk át HTML-ről XHTML- re? HTML-szabványban tartalom és forma összemosódott HTML 4.0 szabványban stíluslapok használatát javasolták.
Űrlapok és keretek.
Weboldalak tervezése (X)HTML.
Hernyák Zoltán XML Schema sémadefiníció.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Adatbázis kezelés. Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei – egy meghatározott tulajdonságuk alapján – összetartozónak tekinthetők.
Adatbázis kezelés.
World Wide Web Szabó Péter Számítástechnika-technika IV. évfolyam.
XML adatkezelés 1. témakör Az XML szabvány.
Java web programozás 11..
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.
Adatbázis alapfogalmak
Apache Ant 2. gyakorlat Alkalmazásfejlesztés /2 Gyakorlat Zalatnai Csongor.
Készítette: Turócziné Kiscsatári Nóra
Az NVU webszerkesztő program
XML alapok 1. Általános jellemzők Az XML szintaxisa XML elemek
Webprogramozó tanfolyam Űrlapok (form-ok). Űrlapok a HTML-ben Biztosan mindenki találkozott már vele – Űrlap példapélda Felhasználási lehetőségei – Regisztráció,
Első lépések a szövegszerkesztő használatában
Weblap-szerkesztés. Információs hálózati szolgáltatások Internet fontosabb szolgáltatásai (szóbeli) Elektronikus levelezési rendszer használata (szóbeli)
Spanyolország gyöngyszeme: GRANADA Egy hobby portál kivitelezése.
Az XML nyelv (Extensible Markup Language). XML  XML: leíró nyelv (metanyelv)  XML alkalmazás: egy megalkotott nyelv  XML dokumentum: egy új nyelv egy.
Java web programozás 2..
Kulcsrakész Közgyűjteményi Portál
Ubuntu – ismerkedés Fájlok és könyvtárak
Programozási nyelvek alapfogalmai
Cascading Style Sheet.
Relációs adatmodell, normálformák
A digitális kép bevezetés.
Előadás másolata:

Előadás vázlat Az XML története és alkalmazási területe Az XML alapelemei XML validáció (DTD, XML Schema) DOM

Az XML története Az adatok formatált dokumentumként való tárolása megoldott a ’60-as évek óta. (Tex) Sajnos az ilyen dokumentumok feldolgozása programmal nehézkes, nem támogatják az adatok struktúrálását, az adatok közötti egyszerű keresést. Elsődleges céljuk az, hogy a dokumentum „jól nézzen ki” monitoron, illetve nyomtatásban.

Első lépés a generikus kódolás irányába ‘60-as évek vége felé a GCA volt. Az igazi előrelépés a Generalized Markup Language (GML) volt, amit az IBM fejlesztett ki, és használt erősen a dokumentációk készítése során. A tartalomról információkat hordozó címkék (tag) használatának köszönhetően jól szerkeszthető és kereshető dokumentunokat lehetett benne definiálni A ’80-as évek elején az ANSI felkérte a GML megalkotóit egy szabványos, általános dokumentum leíró nyelv kidolgozására. Ez lett az SGML.

Az SGML alapvetően egy eszköz saját markup nyelvek definiálására. Az SGML terjedni kezdett, de széleskörű felhasználásra túl bonyolult volt. A generikus kódolásnak a ’90-es években Tim Berners-Lee és Anders Berglund adott a HTML definiálásával. Egyszerűbb volt használni, de visszalépést is jelentett, mivel sok, formázást előíró tag-et alkalmazott, ami miatt pont a struktúráltság veszett el, ráadásul nem lehet saját tag-eket definiálni. A web-nek köszönhetően azonban hamar elterjedt.

Az eredeti generikus alapokhoz való visszatérés jegyében jött létre az XML. Olyan nyelvet akartak létrehozni, amely lehetővé teszi markup nyelv definiálását kifejezetten a használni kívánt adatokhoz, egyértelműen interpretálható, egyszerű, a lehető legtöbb hiba ellenőrzést biztosítja, és elválasztja a megjelenítést a leírástól. Az XML az SGML leszűkítése a sokak számára felesleges részek elhagyásával. (Ezzel szemben a HTML egy SGML-ben definiált markup nyelv!)

Egy XML dokumentum <?xml version="1.0" encoding="UTF-8"?> <mobil> <gyarto> Motorola </gyarto> <tipus> K1 </tipus> </mobil> (Példák forrása: Bátfai Norbert programozó Páternoszter melléklet, ppmkonyv.pdf )

Mire jó az XML? Adat tárolás: Konfigurációs és egyéb átmeneti állományok egyszerű leírása. Adat csere: Adatok XML dokumentumokon keresztüli cseréje. (webszolgáltatások, adatbázissal történő kommunikáció, platform független stb.) A dokumentumokhoz külön megadható formázás. (stíluslapok, CSS) A dokumentumok a megjelenítéshez transzformálhatóak. (XSL, pl. XML -> HTML) Adat integritás biztosítása, adat ellenőrzés (parser, validálás)

Akkor mire nem jó az XML? Az XML (önmagában) nem helyettesíthet egy adatbázist. A célja ugyan adatok tárolása, és van lehetőség a dokumentumon belüli keresésre is, de maga a dokumentum egy szekvenciális elérésű fájl ennek minden hátrányával. Nagy tömegű adat tárolására továbbra is DBMS rendszerek szükségesek. Kis mennyiségű adat esetén esetleg alkalmazható ebben a szerepkörben is.

Az XML dokumentum elemei Document prolog: Az XML dokumentum ezzel az elemmel kezdődik. Meghatározza a használt XML verziót, a kódolást, illetve ha az XML dokumentum több darabból áll, akkor a parser-nek tudnia kell erről a tényről. <?xml?> <?xml version="1.0"?> <?xml version='1.0' encoding='US-ASCII' standalone='yes'?> <?xml version = '1.0' encoding= 'iso-8859-1' standalone ="no"?>

Tag-ek és XML elemek Az XML elemek a dokumentum építőelemei. Tartalmazhatnak további XML elemeket és/vagy szöveget. Ezeket tag-ek határolják. Üres elem: <xref linkend="abc"/> Konténer elem: <p>This is a paragraph.</p> Deklaráció: <!ENTITY author "Erik Ray"> Feldolgozási előírás: <?print-formatter force-linebreak?> Komment: <!— here's where I left off —> CDATA szekció: <![CDATA[Ampersands galore! &&&&&&]]>

Attribútumok Az XML elemekhez adhatóak attribútumok. Tulajdonképpen modellezési kérdés annak eldöntése, hogy a modellezés során valamely konkrét esetben elemet vagy attribútumot definiálunk. <book contentType=”Fiction” format=”Hardback”>

Jól formáltság Egy XML dokumentum akkor jól használható, ha teljesíti a jól formáltsági követelményeket. A dokumetumot a document prolog vezeti be Szükség van egy gyökér (legfelső szintű) XML elemre, ami az összes tübbit tartalmazza. Minden nemüres XML elemhez szükséges egy nyitó és egy záró tag.

Minden üres XML elemet jelölő tag-nek tartalmaznia kell /-t a záró > előtt. A tag-ek beágyazási sorrendjének megfelelőnek kell lennie. Minden attribútum értéknek idézőjelek között kell szerepelnie. Minden saját tag-nek az előírt formátumot teljesíteni kell. A jólformáltság minden XML dokumentum fontos tulajdonsága, mert a szigorú szintaktika teszi lehetővé az egyszerű parser-ek írását.

<?xml version="1.0" encoding="UTF-8"?> <mobilbolt> <neve cime="http://norbi.boltja">Norbi MobilBoltja</neve> <mobil> <gyarto>Motorola</gyarto> <tipus>K1</tipus> <kep forrasa="k1.png" /> <kamera felbontas="2" /> <java midp="2.0" cldc="1.1" /> <kaphato ar="70000" allapot="jó"/> </mobil> <gyarto>Nokia</gyarto> <tipus>6131</tipus> <kep forrasa="6131.png" /> </mobilbolt>

Validáció Az XML egyik nagy erőssége a dokumentum validáció. Többféle nyelv áll rendelkezésre ahhoz, hogy megadhassunk betartandó formai szabályokat. A legelterjedtebb a DTD és az XML Schema, de létezik még sok egyéb nyelv is. (Pl. RelaxNG, Schematron) A szabályok teljesülését az XML feldolgozó ellenőrizni tudja. Habár hasznos megadni a használt nyelvtant, ez nem kötelező köszönhetően az XML szigorú szintaktikájának.

DTD Az SGML-től örökölt nyelv. Dokument típus deklaráció: A DTD fájl helye. <!DOCTYPE RootElement SYSTEM “filename.dtd”> Elem típus deklaráció: XML elem leírása. <!ELEMENT Name (#PCDATA)> Attribútum lista deklaráció: Egy elemtípus attribútumait definiálja. <!ATTLIST ElementName Name Datatype Default> Egyed deklaráció: <!ENTITY Entity Name “text”>

Document prolog A DTD leírások elhelyezhetők magában az XML dokumentumban, illetve külső állományban is. Külön állományban: <?xml version=’1.0’ encoding=’UTF-8’?> <!ELEMENT mobil (gyarto,tipus)> <!ELEMENT gyarto (#PCDATA)> <!ELEMENT tipus (#PCDATA)>

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mobil SYSTEM "mobil.dtd"> <mobil> <gyarto> Motorola </gyarto> <tipus> K1 </tipus> </mobil>

Beágyazva: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mobil [ <!ELEMENT mobil (gyarto,tipus)> <!ELEMENT gyarto (#PCDATA)> <!ELEMENT tipus (#PCDATA)> ]> <mobil> <gyarto> Motorola </gyarto> <tipus> K1 </tipus> </mobil>

XML elem deklaráció XML elemek tartalmának leírása: Bármit tartalmazhat: <!ELEMENT Name ANY> Üres elem: <!ELEMENT Name EMPTY> Kevert tartalom: <!ELEMENT Name (#PCDATA | ChildName)*> Konténer elem: <!ELEMENT Name (Child1, Child2)>

További jelölések kevert elemekhez Vessző (,): Listát definiál. <!ELEMENT customer (custNumber, lastName, firstName) > Függőleges vonal (|): Vagy kapcsolat. <!ELEMENT books (book1 | book2)> Nincs egyéb szimbólum: Az adott elem egyszer fordul elő. <!ELEMENT books (book)>

További jelölések kevert elemekhez Plussz (+): Egy vagy több előfodulást jelöl. <!ELEMENT books (book+)> Csillag (*): 0 vagy több előfordulást jelöl. <!ELEMENT books (book*)> Kérdőjel (?): Egyszer vagy egyszer sem fordul elő az adott elem. <!ELEMENT books (book?)>

Attribútumom definiálása Általános forma: <!ATTLIST element-name attribute-name datatype defaultvalue> Többféle adattípus lehet (Pl. : CDATA, ID, ENTITY) #REQUIRED: Az elem minden használatakor értéket kell adni az attribútumnak. #IMPLIED: Az attribútum opcionális. Ha nem használt, akkor nincs alapértelmezett értéke. #FIXED: Az attribútum opcionális, és ha szerepel, akkor a DTD-ben megadott kezdőértékű. Value: Hagyományos alapértelmezett érték.

Egyedek Az egyedek gyakorlatilag névvel ellátott szövegblokkok. Lehetnek általános és paramérter egyedek. Az általámos egyedek az XML dokumentumban használhatóak, míg a paraméter egyedek a DTD leírásnan.

Általános egyedek <!ENTITY entityName “replacementText”> <!ENTITY store1 “River Valley Center”> Az egyedek később &entityName; alakban hivatkozhatók. Az eddig definiáltak a belső egyedek. Hivatkozhatóak más dokumentunban és gépen megtalálható egyedek is. (külső egyedek) <!ENTITY entityName SYSTEM “system-identifier”> <!ENTITY entityName PUBLIC “system-identifier”>

Paraméter egyedek <!ENTITY % entityName “replacementText”> Hivazkozásuk: %entityName ; Szintén léteznek belső és külső egyedek. Külső paraméter egyedek felhasználásával a DTD állományok kisebb, jól kezelhető és újrafelhasználható darabokra bonthatóak.

<?xml version=’1.0’ encoding=’UTF-8’?> <!ELEMENT mobilbolt (neve, mobil*)> <!ELEMENT neve (#PCDATA)> <!ATTLIST neve cime CDATA #IMPLIED> <!ELEMENT mobil (gyarto,tipus,kep,kamera,java,kaphato?)> <!ELEMENT gyarto (#PCDATA)> <!ELEMENT tipus (#PCDATA)> <!ELEMENT kep EMPTY> <!ATTLIST kep forrasa CDATA #IMPLIED> <!ELEMENT kamera EMPTY> <!ATTLIST kamera felbontas CDATA #IMPLIED> <!ELEMENT java EMPTY> <!ATTLIST java cldc CDATA #IMPLIED midp CDATA #IMPLIED <!ELEMENT kaphato EMPTY> <!ATTLIST kaphato ar CDATA #REQUIRED allapot (remek|jó|közepes|elmegy|rossz) "jó">

XML Schemas W3X szabvány. Olyan XML dokumentum, ami más XML dokumentum felépítéséről tárol információkat. Célja megegyezik a DTD-vel, de itt az XML Schema specifikációban megadott tag-ek felhasználásával XML dokumentumot hozunk létre. A DTD-vel szemben ez a leírás nem ágyazható be az XML dokumentum. Sok beépített adattípust tartalmaz.

Az XML Schemas alapelemei Document prolog Séma elem: <xsd:schema xmlns:xsd= ”namespace”> <xsd:schema xmlns: xsd=”http://www.w3.org/2001/XMLSchema” /> Elem deklaráció: <xsd:element name=”name”> Attribútum deklaráció: <xsd: attribute name=”name” type=”type”>

XML Prolog A document prolog szabvány XML. A gyökérelemként szolgál a séma elem leírás. Minden más elemet tartalmaz, illetve megadja a használt névteret. A névtér egy URL, ahol a használt XML szótár részletei találhatóak. <xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema”> Az xsd: -al jelölt elemek ehhez a névtérhez tartoznak. Ha csak egy névteret használunk, akkor nem kell ezt a jelölést használni.

Elem deklarációk Kétféle elem deklarációról beszélhetünk: egyszerű és komplex deklarációról. Egyszerű esetben nem tartalmazhat az elem attribútumokat és további elemeket (csak szöveget), míg összetett esetben igen. Egy egyszerű elem deklaráció: <xsd:element name=”date” type=”xsd:date”/>

Komplex elem deklaráció A komplex elemeknél 4 féle tartalmi elrendezés lehetséges. Szöveg: Csak szöveget tartalmaz az elem. Üres: Nem tartalmazhat sem szöveget, sem egyéb elemet. (De attribútumot igen.) <xsd:element name=”source”> <xsd:complexType> <xsd:attribute name=”yearsInService” type=”xsd:positiveInteger”/> </xsd:complexType> <xsd:element>

Elem: Gyermek elemeket tartalmazhat Elem: Gyermek elemeket tartalmazhat. <xsd:element name=”bookInfo”> <xsd:complexType> <xsd:sequence> <xsd:element ref=”title”/> <xsd:element ref=”author”/> <xsd:element ref=”publisher”/> <xsd:element ref=”isbn”/> </xsd:sequence> </xsd:complexType> </xsd:element> A sequence elem előírja, hogy az elemek ebben a sorrendben forduljanak elő; a choice elem esetén bármelyik bezárt elem előfodulhat; az all elem pedig nem ír elő semmit.

Kevert: Lehetnek benne elemek, és az elemek között szövegek is Kevert: Lehetnek benne elemek, és az elemek között szövegek is. <xsd:element name=”confirmOrder”> <xsd:complexType mixed=”true”> <xsd:sequence> <xsd:element ref=”opening”/> <xsd:element ref=”fullName”/> <xsd:element ref=”date”/> <xsd:element ref=”title”/> </xsd:sequence> </xsd:complexType> </xsd:element>

Komplex attribútum deklarációk Definiálhatóak komplex típusok is. Ezek később az attribútum definíció „type” tagjában felhasználhatóak. <xsd:element name=”customer”> <xsd:complexType> <xsd:sequence> <xsd:element name=”firstName” type=”xsd:string”/> <xsd:element name=”lastName” type=”xsd:string”/> </xsd:sequence> <xsd:attribute name=”custNumber” type=”xsd:positiveInteger”/> </xsd:complexType> </xsd:element> Attribútum deklarációnál use=„előírás” alakban adható meg az előfodulással kapcsolatos előírás. (Lásd DTD.) Adhatóak megszorítások a saját adattípushoz.

Annotációk Adott a lehetőség megjegyzés beszúrásásra: <xsd:element name=”books”> <xsd:annotation> <xsd:documentation xml:lang=”en”> This is a collection of best-selling books. </xsd:documentation> </xsd:annotation> </xsd:element>

1 2 <?xml version="1.0" encoding="UTF-8"?> 3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 4 <xs:element name="mobilbolt"> 5 <xs:complexType> 6 <xs:sequence> 7 <xs:element name="neve"> 8 <xs:complexType> 9 <xs:simpleContent> 10 <xs:extension base="xs:string"> 11 <xs:attribute name="cime" type="xs:string"/> 12 </xs:extension> 13 </xs:simpleContent> 14 </xs:complexType> 15 </xs:element> 16 <xs:element name="mobil" minOccurs="0" maxOccurs="unbounded"> 17 <xs:complexType> 18 <xs:sequence> 19 <xs:element name="gyarto" type="xs:string"/> 20 <xs:element name="tipus" type="xs:string"/> 21 <xs:element name="kep"> 22 <xs:complexType> 23 <xs:attribute name="forrasa" type="xs:string"/> 24 </xs:complexType> 25 </xs:element> 26 <xs:element name="kamera"> 27 <xs:complexType> 28 <xs:attribute name="felbontas" type="xs:string"/> 29 </xs:complexType> 30 </xs:element> 31 <xs:element name="java"> 32 <xs:complexType> 33 <xs:attribute name="midp" type="xs:string"/> 34 <xs:attribute name="cldc" type="xs:string"/> 35 </xs:complexType> 36 </xs:element>

<xs:element name="kaphato" minOccurs="0" maxOccurs="unbounded"> 38 <xs:complexType> 39 <xs:attribute name="ar" type="xs:decimal"/> 40 <xs:attribute name="allapot"> 41 <xs:simpleType> 42 <xs:restriction base="xs:string"> 43 <xs:enumeration value="remek"/> 44 <xs:enumeration value="jó"/> 45 <xs:enumeration value="közepes"/> 46 <xs:enumeration value="elmegy"/> 47 <xs:enumeration value="rossz"/> 48 </xs:restriction> 49 </xs:simpleType> 50 </xs:attribute> 51 </xs:complexType> 52 </xs:element> 53 </xs:sequence> 54 </xs:complexType> 55 </xs:element> 56 </xs:sequence> 57 </xs:complexType> 58 </xs:element> 59 </xs:schema>

Document Object Model Az XML dokumentumokat egy XML feldolgozó alakítja át programokban felhasználható formátumúra. Ehhez ad egységes programozási interfészt a DOM. Jó példa a DOM felhasználására a böngésző. A DOM vizuálisan egy fával ábrázolható. Az XML dokumentum alkotóelemei a fában csomópontként jelennek meg.

A DOM csomópontok típusai Gyökér: Az egész XML dokumentumot tartalmazza. Dokumentum elem: A komment és feldolgozási utasításon kívül a dokumentum elemeit tartalmazza. (Azok a gyökér gyermekei.) Elem Szöveges Attribútum Névtér Feldolgozási utasítás Komment