Az XML Bevezetés. Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Utolsó módosítás:

Hasonló dokumentumok
Dokumentumformátumok Jelölő nyelvek XML XML. Sass Bálint Bevezetés a nyelvtechnológiába 2. gyakorlat szeptember 20.

XML alapú adatbázis-kezelés. (Katona Endre diái alapján)

KML Keyhole Markup Language

Elektronikus levelek. Az informatikai biztonság alapjai II.

DTD Dokumentumtípus definició

az XML egy leírónyelv, másnéven meta-nyelv, mely segítségével új nyelveket írhatunk le egy XML dokumentum egy ilyen nyelvnek a példánya, a formális

Az XML szabvány. Az XML rövid története. Az XML szabvány

XML / CSV specifikáció

Szerver oldali Java programozás /II. 1. óra. Elemkönyvtárak. Elemkönyvtárak használata Saját elemkönyvtár készítése.

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Zenetár a webszerverünkön,

XML / CSV specifikáció

HTML. Dr. Nyéki Lajos 2016

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Az XML alapnyelv. dr. Paller Gábor. XML technológiák

Az XML alapjai BME VIK BSc. Intelligens Rendszerek ágazat, Kooperatív rendszerek labor

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

A webprogramozás alapjai. Óbudai Egyetem Neumann János Informatikai Kar 2018/19/1 szemeszter

Az annotáció elvei. Oravecz Csaba MTA Nyelvtudományi Intézet MANYE vitaülés február 20.

Regionális forduló november 19.

Dspace fejlesztési tapasztalatok, problémák és megoldások

HENYIR interfész. Hibaüzenetek leírása EMMI Tisztifőorvosi Feladatokért Felelős Helyettes Államtitkárság Egészségügyi Igazgatási Főosztály

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

Az XML 1.0 szabvány. tanulmány. Készítette: Mészáros Tamás. Budapest, BME Méréstechnika és Információs Rendszerek Tanszék

Nyilvántartási Rendszer

Ungváry Rudolf: Relex Relációkat és lexikai egységeket kezelő névtérszerkesztő a weben

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

CSS3 alapismeretek. Bevezetés a CSS-be. Mi is az a CSS? Alkalmazási formái, szintaxisa

Regionális forduló november 19.

Orvos Bejelentő Program (OBP) rekordkép 2. verzió XML formátum

XML és XSLT (a színfalak mögül)

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

Webszolgáltatások (WS)

Aspektus-orientált nyelvek XML reprezentációja. Kincses Róbert Debreceni Egyetem, Informatikai Intézet

13. Fájlformátumok. Schulcz Róbert Madarassy László 13. Fájlformátumok v

XML. XML dokumentumok alapszerkezete. XML ( / ) 5

Intelligens közlekedési rendszerek (ITS)

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

HTML 5 - Start. Turóczy Attila Livesoft Kft

SZAKDOLGOZAT ÓBUDAI EGYETEM. Neumann János Informatikai kar Alba Regia Egyetemi Központ

Az XML kidolgozásakor a fejlesztés szempontjait tíz pontban foglalták össze:

Java I. A Java programozási nyelv

A Java EE 5 plattform

Internet programozása. 1. előadás

Web programoz as

Webes űrlapok és az XForms ajánlás

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

A szoftver és hardverfüggetlen adatbázis

WEB TECHNOLÓGIÁK 2.ELŐADÁS

Debreceni Egyetem Informatikai Kar

Adatexport útmutató Könyvvizsgálói program számára átadott adatok XML formátumban

Web-fejlesztés NGM_IN002_1

Általános nyomtatványok xml szerkezete. (v1.3)

Tájékoztató. Használható segédeszköz: -

1. Az XML és XHTML nyelvek. Az XML leíró nyelv Szabályok XHTML írásra. Tartalom Az XML leíró nyelv

w w w. h a n s a g i i s k. h u

GS Pláza API dokumentáció

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

ColourSMS Protokol definíció. Version 1.2

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté

Adatbázis rendszerek. dr. Siki Zoltán

Felhasználói kézikönyv

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

Web-fejlesztés NGM_IN002_1

DSD. A webes akadálymentesítés helyzete Magyarországon Pataki Máté DSD. Pataki Máté 1/ 41

Java II. I A Java programozási nyelv alapelemei

A fejlesztendő tananyagok formai követelményei

Web-fejlesztés NGM_IN002_1

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

Atlon XML interface fejlesztői dokumentáció. Dokumentum verzió: 3.0

Az XCZ állományban szereplő állományok nevének UTF-8 kódolásúnak kell lennie. Probléma esetén használjon ékezet nélküli állományneveket.

Multimédia 2017/2018 II.

Flex: csak rugalmasan!

Online adatszolgáltatás beállítása a Számlázás - vevő-szállító nyilvántartás programban (UJVSZ)

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Tartalomjegyzék BEVEZETÉS... IX WEBSZERKESZTÉSI ALAPISMERETEK HTML. 1. II. Háttér beállítása I. Elsõ weblapunk III. Karakterformázás...

Könyvtári címkéző munkahely

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté.

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

UNIX / Linux rendszeradminisztráció III. előadás

Ezek után már csak a Mentés és a Lekérdezés Futtatása (az ellenőrzés miatt) van hátra. Ügyeljünk, hogy a mentésnél a megadott (Kezd) nevet adjuk meg.

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET)

XML (DTD) (XSD) DOM SAX XSL. XML feldolgozás

XML avagy az univerzális információelérés álma

Weboldalak fejlesztése mobil eszközökre

Neumann János Számítógép-tudományi Társaság Programozás, robotprogramozás szakkör Három félév 3 * 8 foglalkozás

Tájékoztató. Használható segédeszköz: -

Bevezetés Működési elv AJAX keretrendszerek AJAX

Szemantikus Web Semantic Web A szemantikus web alkalmas megközelítés, illetve megfelel nyelvekkel, eszközökkel támogatja az intelligens információs

Weblap készítése. Fapados módszer

INFORMATIKAI ALAPISMERETEK

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3

AWK programozás, minták, vezérlési szerkezetek

Online adatszolgáltatás beállítása a kettős, egyszeres könyvelés programban és a számlázóprogramban (UJEGYKE, UJEGYSZ, UJVSZ)

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting

Az intézeti kérdıív kezelı rendszer dokumentációja

és az instanceof operátor

MŰSZAKI DOKUMENTÁCIÓ. Aleph WebOPAC elérhetővé tétele okostelefonon. Eötvös József Főiskola 6500 Baja, Szegedi út 2.

AWK programozás Bevezetés

Átírás:

Az XML Bevezetés Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 10. 02.

Szüks kségessége 2 Java: plattform független programok XML: plattform független adatok

Az XML kialakulásának törtt rténete SGML 1986 az ISO szabványosítja az SGML-t (Standard Generalized Markup Language) Az SGML egy metanyelv egy adott nyelvvel írunk le egy másikat Az SGML mindent tud, amit egy metanyelvtől elvárunk Hátrány: drága, nehéz kezelhetőség, nagy szakértelem kell egy dokumentum megírásához 3

Az XML kialakulásának törtt rténete (folyt.) HTML I. 1990 - Tim Bernes-Lee kiadja a HTML-t A HTML definícióját SGML-ben adta meg Előny: ingyenes, könnyen kezelhető A ló túlsó oldala: túl egyszerű lett, így összetettebb feladatok elvégzésére nem alkalmas Másik gond: különböző szervezetek, saját kiegészítésekkel látták el 4

Az XML kialakulásának törtt rténete (folyt.) HTML II. Eredmény: Az eredetileg egységes képet felváltotta az "úgy értelmezem a HTML-t, ahogy gondolom" elv A HTML célja a dokumentum megjelenítése (képek, fontok, táblázatok...) Ez a része igen részletes, szinte az összes formázási technikával rendelkezik Lehetőség strukturált dokumentum létrehozására 5

Az XML kialakulásának törtt rténete (folyt.) HTML III. Gond: különböző programok a különböző formázásokat másképpen értelmezhetik (a fent említett elv miatt) A HTML nem rugalmas Nincs lehetőség saját tag-eket megadni 6

Az XML kialakulásának törtt rténete (folyt.) HTML IV. Saját fejlesztés két akadálya: Szinte kizárt, hogy az otthon a sufniban fejlesztett HTML-t a böngészők úgy kezelik, ahogy elterveztük (készíthetünk ugye saját böngészőt, de minek?) A W3C elég kémény megkötéseket tesz a HTML tagekkel szemben 7

Az XML kialakulásának törtt rténete (folyt.) HTML V. Egy dokumentum 2 részre osztható adat központú rész (content style) formázott rész (presentation style) A HTML-ben ez a két rész összemosódik Eredmény: adat változik -> forma is újra generálódik (és fordítva) A HTML képtelen azonos adatokat a felhasználó által megadott formában megjeleníteni 8

Az XML kialakulásának törtt rténete (folyt.) HTML VI. DHTML és javascript volt egy próbálkozás Eredmény: Totális káosz a böngészők és weboldalak terén. 9

Az XML kialakulásának törtt rténete (folyt.) Megjelenítés és s leírás Két szó: megjelenítés és leírás HTML az információt megjeleníti Példa: Az ég kék és a víz nedves. Ezt a HTML gond nélkül képes megjeleníteni Arra nincs utalás, hogy tulajdonképpen egzakt módon mit is jelent, hogy "kék" és hogy "nedves" (Hogy ezek az alany tulajdonságai, az sehol nincs megadva!) 10

Az XML kialakulásának törtt rténete (folyt.) XML Ez a példa gond nélkül megadható SGML-ben, persze komoly nehézségek árán Igény valami újra, megfoghatóbbra, használhatóbbra 1996 - Jon Bosak kéri a W3C-től, hogy SGML-t használhasson WEB-technológiákban Készítettek egy olyan "valami"-t, ami rendelkezik az SGML összes eszközével, de nagyságrendekkel könnyebben kezelhető 11

Az XML kialakulásának törtt rténete (folyt.) XML A "valami" nevet is kapott: XML (extensible Markup Language) 1998. február 10. - A W3C bejelenti az XML 1.0- át 12

XML felépítése Dokumentum központk zpontú XML Az XML fájlokat két csoportba oszthatjuk: dokumentum központú XML adat központú XML 1997-es megjelenése után előszerettel használták dokumentációk leírásánál, hisz "könnyen" olvasható Most a továbbiakban elsősorban az XML adat központú használatával foglalkozunk. 13

XML felépítése (folyt.) Adatközpont zpontú XML Erősen struktúrált adatok tárolására használják (adatbázis szöveges adatai, tranzakciók...) Általában program állítja elő XML platform független Előny: különböző OS-ek közti kommunikációnak nincs akadálya Intranet illetve Internet környezetben 14

Egyszerű XML példa p I. 15 <?xml version="1.0" encoding="utf-8"?> <sending sequence="2"> <sender id="4"> <host name="localhost" /> <senttime timezone="gmt+0"> 1063753377 </senttime> <reponse need="no" /> </sender>

Egyszerű XML példa p II. 16 <messages count="3"> <message type="plain"> Ramrod </message> <message type="plain"> Highway Patrol </message> <message type="command"> bye </message> </messages> </sending> <!-- komment -->

XML dokumentum Bevezető elem I. Minden XML dokumentum egy bevezető elemmel indul Megadja, hogy XML dokumentumról van szó Megadhat kiegészítéseket, metaadatokat a dokumentumra vonatkozóan A feldolgozó programnak szóló utasítások megadási formája: <? művelet?> ahol művelet a feldolgozó program által ismert utasítás 17

XML dokumentum (folyt.) Bevezető elem II. Leggyakoribb eset: megadja az XML verzióját, és a karakter kódolást <?xml version="1.0"?> <?xml version="1.0" encoding="utf-8"?> 18 A bevezető elem elhagyható. Ha nincs akkor a program feltételezi, hogy XML 1.0-ról van szó, UTF-8 karakter kódolással

XML dokumentum (folyt.) Elemek I. Az XML dokumentum egységei az elemek. Minden elemnek van nyitó és záró tag-je, és lehet(nek) attribútumai és tartalma 19 <elemnév attribútumok> tartalom </elemnév>

XML dokumentum (folyt.) Elemek II. Elemek II. Az elemnév [a-z A-Z _ - :] elemekből állhat, kivéve az xml karaktersorozatot bármely betűállásban, mert az fentartott név! Kis és nagy betűk között különbséget tesz! tartalom lehet: további elem szöveg a kettő együtt Tartalom nélküli elem: <elemnév attribútumok /> 20

XML dokumentum (folyt.) Attribútumok tumok Megadásuk az elem nyitó tag-jében Egy attribútumhoz csak egy érték tartozhat A nevekre ugyanazok a megadási szabályok vonatkoznak, mint az elemnevekre Ajánlás: Hasonló nevek kerülése (olvashatóságot rontja) Speciális attribútum család: xml:-tal kezdődik <document type= description xml:lang= en >... </document> 21

XML dokumentum (folyt.) Bevezető Gyökér elem elem Az egyszerű példa értelmezése <?xml version="1.0" encoding="utf-8"?> <sending sequence="2"> <sender id="4"> Elemnév Attributum Attributum név értéke <host name="localhost" /> Tartalmazott <senttime timezone="gmt+0"> elem 1063753377 Tartalom </senttime>... </sender> <reponse need="no" /> Záró tag 22 Üres elem

XML dokumentum (folyt.) Jelentés Egy XML dokumentum tartalma egy hierachikus struktúrát ír le - fával ábrázolható A tartalmazott elem a tartalmazó alatt helyezkedik el Amelyik elemet nem tartalmaz más elem, az a gyökér Egy dokumentumnak csak egy gyökere lehet (egy fával ábrázolható) 23

<sending sequence="2"> <sender id="4"> XML dokumentum (folyt.) <host name="localhost"/> Az egyszerű példa szerkezete <senttime timezone="gmt+0"> </senttime> 1063753377 <reponse need="no" /> </sender> elem atribútum tum 24 sending érték sequence sender 2 id host senttime response 4 name timezone 1063753377 need "localhost" "GMT+0" "no"

<messages count="3"> <message type="plain"> Ramrod </message> <message type="plain"> Highway Patrol </message> <message type="command"> bye </message> </messages> </sending> XML dokumentum (folyt.) Az egyszerű példa szerkezete (folyt.) sending 25 sequence sender messages 2 count message message message 3 type Ramrod type Highway Patrol type bye "plain" "plain" "command"

XML dokumentum (folyt.) Well Formed I. Egy XML dokumentumnak JÓL FORMÁLTNAK KELL LENNIE Egy csakis egy gyökér eleme lehet egy dokumentumnak Minden elemet le kell zárni, nem lehet lezáratlan elem Szigorúbb szabályok, mint a HTML-nél 26

HTML: <table> XML dokumentum (folyt.) Well Formed II. <tr><td>első cella<td>második cella <tr><td>már a második sor </table> XML: <table> <tr><td>első cella</td><td>második cella</td> </tr> <tr><td>már a második sor</td></tr> </table> 27

XML dokumentum (folyt.) Well Formed III. 28 Nincs lehetőség "átlapolásra" (overlapping) HTML: <i>helló <b>világ</i></b> XML: <i>helló <b>világ</b></i>

XML dokumentum (folyt.) Well Formed IV. Az attribútum értékeit kötelezően "" között kell megadni. HTML: <form action=get>... </form> XML: <form action="get">... </form> 29

XML dokumentum (folyt.) Well Formed V. A szöveg mezőben szereplő <, >, " karaktereket minden esetben kvótázni kell <, >, és " formában kell őket szerepeltetni (előre definiált "entitások") Megjegyzés formátuma: <!-- tetszőleges szöveg --!> Jól meghatározott szabályok szerint az XML szöveg tartalmazhat jelentés nélküli ("whitespace") karaktereket. 30

XML dokumentum (folyt.) Well Formed VI. Bizonyos karakterek (mint például a < >) speciális jelentéssel bírnak, így csak arra a célra használhatók. Miért is fontos a jól formáltság? Egyszerű: a feldolgozást (melyet program(ok) végez(nek)) segíti. Egy feldolgozó programnak joga van előfeldogozásként elhagyni a "whitespace" karaktereket. 31

XML dokumentum (folyt.) Well Formed VII. A feldolgozás során érintetlenül hagyandó karaktersorozatot CDATA blokkba zárhatjuk: <!CDATA[ Tetszőleges karaktersorozat ]]> Egy CDATA blokk tehát fenntartott és whitespace karaktereket is tartalmazhat. 32

XML dokumentum (folyt.) Well Formed VIII. Összefoglalva a jól formáltság szabályait: a névalkotás és az elemképzés szabályainak betartása minden elemet le kell zárni minden attribútum értéknek "" karakterek között kell állnia egy elem egy másik elemet csak teljes egészében tartalmazhat pontosan egy gyökér elemnek kell lennie a tartalomban és az attribútum értékben a fenntartott karakterek helyettesítése az előre definiált entitásokkal. 33

XML dokumentum (folyt.) Well Formed IX. Szabályos megjegyzések Szabályos CDATA blokkok Néhány további, itt nem említett alkotórész (pl, dokumentum típus definíció) szabályainak betartása. 34

Névterek 35 XML dokumentumok hivatkozhatnak egymásra Ez névütközésekhez vezethet (elem nevek, attribútum nevek). Megoldás: névterek használata. A nevek előtt (egy kettősponttal elválasztva) egy prefix állhat. Prefix nélküli név az alapértelmezett ("név nélküli") névtérhez tartozik.

Névterek (folyt.) 36 A névteret abban a legkülső elemben kell definiálni, amely használni akarja. A névtér definíció a névtér nevéhez (ami prefixként azonosítja a névterek) egy egyedi azonosítót rendel, így a világ bármely XML dokumentuma használhatja névütközés nélkül. Az egyedi azonosító a szabvány szerint egy URI Egy elemben az alapértelmezett névtér is definiálható.

Névterek (folyt.) 37 Névtér definiálása: <névtérnév: elemnév xmlns:="uri"> elem további tartalma </névtérnév:elemnév> Alapértelmezés szerinti névtér definiálása esetén a "névtérnév" a fenti konstrukcióból elmarad. Egy elemhez több névtér is definiálható. (Ez nem mindig szerencsés!)

Ami még m érezhetően en hiányzik 38 Egy jól formált XML dokumentum még nem feltétlenül tartalmaz "értelmes" adatokat. Pl.: <lakcim> <varos>miskolc</varos> <utca>kossuth Lajos</utca> <utca>arany János</utca> <hazszám>hehehe</hazszám> </lakcim>

Ami még m érezhetően en hiányzik (folyt.) 39 Dokumentum szerkezetének, elemei lehetséges értékeinek definiálása DTD XML sémák Dokumentum értelmezése Adatközpontú XML esetén ez általában program Segítség kell az XML dokumentum feldolgozásához

Linkek 40 XML 1.0 Specifikáció http://www.w3c.org/tr/rec-xml Sun XML oldala http://java.sun.com/xml W3C XML oldala http://www.w3c.org/xml Apache XML projekt oldala Http://xml.apache.org

41