A szoftver és hardverfüggetlen adatbázis

Hasonló dokumentumok
Általános lekérdezési feladatok

3. SZÁMÚ MELLÉKLET. Elektronikus számla - XML definíciók. a) Számla. 1. ábra Számla

3. SZÁMÚ MELLÉKLET. Elektronikus számla - XML definíciók. a) Számla. 1. ábra Számla

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

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

Félig-strukturált adatmodell (Semi-structured data model)

XML. Document Type Definitions (DTD) XML séma

DTD Dokumentumtípus definició

XML sémák, adatmodellezés

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

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

XML dokumentumok feldolgozása Java-ban XML, DTD, XSD, XSLT, JAXP, DOM, SAX, JDOM

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

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

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

Az XML S chema deklarációs nyelv oktatási s egédlet

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

Web-fejlesztés NGM_IN002_1

Adatkezelés - XML. XML 3 XML séma

XML EXtensible Markup Language

Adatkezelési mőveletek az XML nyelvben XQuery - XML dokumentumok lekérdezésére szolgáló lekérdezınyelv kifejezı ereje az OQL nyelvével egyenértékő.

XML adatkezelés. 11. témakör. Az XQuery nyelv alapjai. XQuery. XQuery célja egy imperatív lekérdező nyelv biztosítása. XQuery.

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

Miskolci Egyetem. Műszaki kommunikáció. Vizsga-jegyzet. Hegedűs Ádám Imre

É É Ö ű Ú Ú É ű

Az XML dokumentumok adatmodellje

XML adatkezelés. 5. témakör. Nincs explicit névtér kijelölve. <?xml version="1.0"?> <xs:schema xmlns:xs="

Adatbázisok II. Jánosi-Rancz Katalin Tünde 327A

30 MB INFORMATIKAI PROJEKTELLENŐR

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

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 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

Térinformatikai (GIS) és CAD adatmodellek és adatformátumok Digitális térképek előállítási technológiái, metaadatok szerepe

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

Adatbázis rendszerek 7. előadás State of the art

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

Adatmodellezés. 1. Fogalmi modell

É Ö É É Ú ü É Ü É ü Ü ü

ArcGIS Desktop QGIS GRASS AutoCAD Map ITR. Op. rendszer Win Linux, Win, OSX Unix, CygWin, (Win) Win korábban DOS, Win. GRASS specific GDAL/OGR

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

Zenetár a webszerverünkön,

Ö

Ö Ö É Ő Ú É

Ö Ó Ó Ó

Ó ű ű ű ű ű ű É É É

Ó Ó É ü É ü ü

Ü ű Ü É ű ű É Ü Ü

ű ű ű Ö ű ű ű Ú ű ű ű Ö ű ű ű ű ű ű ű

Ü Ü Ó Ü Ó

Ú Ú Ü Ü ű ű ű É Ú É ű

Ó Ó ú ú ú ú ú É ú

Ó ú É ú É É É Ő ú ú ű Ó Ö É É ú Ü ú É ú

É ö

Ó ú É Ú

ű ő ű ű ű ö ő ú ö ő ő ő ő ő ő ő ű ő ő ő ő ü ü ő ü ü ő ú ü ő ő ü ü ü ő ú ü

.Net előadás jegyzet 7. óra. .NET és az XML

XML az Extensible Markup Language (Kiterjeszthet jelöl nyelv) szavak rövidítése. XML a World Wide Web Konzorcium (W3C) ajánlása, amely kompatíbilis

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

ö ű é é é é é é ü é é é é ű é é ü é é é é é ó ó é Í é í é é é é ó ö é ö ö ö ó é é í é é é é Ő é é é ü ü é é é ö ö ö é ü é é í é ó ü é é ü é ó é ó ó é

Lekérdezések az SQL SELECT utasítással

É ű ű ú ú ú Ü ú Ö ű ü ü ü

Í Á ő é é é é é ő é ő é ő é Í Á Ú Á Á é ő é ő é é é é é ű é é é é é é é é Á é é é é é ú ú é é é é é é é ú é é é é é é é é é é é ő é é é é é é é é ű é

Fejlett Adatbázis Technológiák - Jegyzet Dr. Adamkó, Attila

ü ü ű ű ü ü ü Á ű ü ü ü ű Ü

XPath. dr. Paller Gábor. XML technológiák

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

DIPLOMAMUNKA. Szűcs Béla. Debrecen PDF processed with CutePDF evaluation edition

34. Elsődleges kulcs megadása XMLSchema-ban Idegen kulcs megadása XMLSchema-ban Típusok kategóriái és saját típus megadásának

Multimédia 2017/2018 II.

Web-fejlesztés NGM_IN002_1

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

SQLServer. DB Recovery modes

XPath 1.0. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar Utolsó módosítás: szeptember 5.

é ü ó ö é Ö é ü é é ó ö é ü ü é é ó ó ó é Á é é ü ó é ó ó é ö ö ö é é ü é ü é é ö ü ü é ó é é é é é é ö é é é é é é ö é ó ö ü é é é ü é é ó é ü ó ö é

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

XML / CSV specifikáció

Í í ó í Í í í é í ó ő ő ö í é ő ő é é í ü é é ö é é é ú ő ö é é é ő é ő í é í ő é é é é é é í é é é é ú í ó í í ó í é é é í é ú í é í é ü é é í ő ő ő

Ó é é Ó Ó ő ű Ó Ö ü Ó é Ó ő Ó Á Ö é Ö Ó Ó é Ó Ó Ó Ó ú Ó Ó Ó Ó ű Ö Ó Ó Ó é Ó Ó ö Ö Ó Ö Ö Ó Ó Ó é ö Ö é é Ü Ó Ö Ó é Ó é ö Ó Ú Ó ő Ö Ó é é Ö ú Ó Ö ö ű ő

ó ő ő ó ő ö ő ő ó ó ó ö ő ó ó ó ö ő ó ő ő ö Ö ő ö ó ő ö ő ő ú ö ö ü ö ó ö ö ö ő ö ö Ö ú ü ó ü ő ő ő ő ó ő ü ó ü ö ő ö ó ő ö ő ö ü ö ü ő ö ö ó ö ő ő ö

Ú ű É ű ű Ü Ü ű ű Ú É ű ű Ü ű ű ű ű ű ű ű Ú ű ű

ú Ó ú ú ú ú ú ú ú É Á

Á Á ő ő Ö ő ő ö É ö ő ö ő ő ö ő ő ö ő ő ü ö

Á Ö Ö Ö Ö ú ú Ö Ö Ó Ó ú ú Ü ú Ó Ö Ö Ü Ó Ö Ö Á Ó ú ú ú ű Ö Ö Ö Ö Á Ó Ö Ó ú ú Ö

Ó Ó ö ú ö ö ö ö ü ú ú ö ö ö ú ú ö ö ö ú ú ú ű ö ö ú ö ü ö ö ö ö ü ú Á ö ü Á ö ö ö ö ö ö

ű Ú ű ű É Ú ű ű

Á Ü É Ü Ú Ü É

Á Ó ű ű Á É ű ű ű ű Ú Ú

ű ű ű Ú Ú Á ű Ö ű ű Ú Ő É

ü ü Ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü É ü ü

ö ö Á Á Ó Á ö ö ö ö ö ú ű ö ö Á Á ű ű ö ö ö ö ű

ű Ö ű Ú ű ű ű Á ű

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

ő ű É Ó Ü É É É É Ü Ö É É É ű É Ö É Ü É Ú Ó ő Ó

Á ű ó ó

Ó Ó ó ö ó

ú ö ö ö ö ö ö Á ö ö ö á á á ű Ü ű ö ö Á á Á

ü ú ú ü ú ú ú ú

Á ó ó ó Ü Ü ó ó Ü ó ó ú ú ó ó Ü ó ó ó Ü ó ó

É É Ö

ö ő ü ö ő ő ü ü ő ő ő ü ö ü ü ő ú ő ő ő ü ő ő ő ő ő ú ő ő ü ő ő ő ü ö ü ú ő ő ő ő ü ü ő ő ú

Átírás:

A szoftver és hardverfüggetlen adatbázis http:///korszeru_xml/

Példa <?xml version="1.0" encoding="utf-8"?> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body lang="en">don't forget me this weekend!</body> </note> 2

Mi az XML? Adat leíró nyelv Hardver és Szoftver független Semmi köze a megjelenítéshez (Ellenben a HTML-lel, ahol pont ez a cél) 3

Építőelemek Elemek (Elements) Attribútumok (Attributes) Entitások (Entities) Névterek (Namespaces) XML deklaráció (XML declaration) Feldolgozási instrukciók (Processing Instruction) Megjegyzések (Comments) CDATA szekciók (CDATA sections) 4

Egy XML dokumentumban egy nyitó és megfelelő záró jelölő (tag) közötti részt elemnek hívjuk. <?xml version="1.0" encoding="utf-8"?> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body lang="en">don't forget me this weekend!</body> </note> 5

XML-ben Attribútumokkal további információk írhatóak le egy elemről. Attribútum csak nyitó tag-ben szerepelhet, és az értékét idézőjelbe kell tenni <?xml version="1.0" encoding="utf-8"?> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body lang="en">don't forget me this weekend!</body> </note> 6

Túl sok attribútum <messages> <note day="10 month="01 year="2008 to="tove from="jani heading="reminder" body="don't forget me this weekend!"> </note> </messages> 7

Az attribútumok helyett, törekedjünk az elemek használatára, ez sokkal áttekinthetőbb <messages> <note day="10 month="01 year="2008 to="tove from="jani heading="reminder" body="don't forget me this weekend!"> </note> </messages> <note> <date> <year>2008</year> <month>01</month> <day>10</day> </date> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> 8

Az attribútumokat ne vigyük túlzásba, lehetőség szerint hagyjuk meg a metaadatoknak <messages> <note id="501"> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> <note id="502"> <to>jani</to> <from>tove</from> <heading>re: Reminder</heading> <body>i will not</body> </note> </messages> 9

Entitás < < > > Az entitás egy rövidítés, egy bonyolult vagy hosszú szöveges adat megnevezésére. Entitások szabadon definiálhatók, a dokumentumban bárhol használhatóak. & & &apos; " Elemzéskor az entitás helyére behelyettesítődik az a szöveg, amit rövidít. 10

Névütközés 1. Dokumentum <table> <tr> <td>apple</td> <td>pear</td> </tr> </table> 2. Dokumentum <table> <name>coffee Table</name> <width>80</width> <length>120</length> </table> N É V Ü T K Ö Z É S 11

Névterek és minősített nevek A névterek jelölőnevek a tag-ek egyedivé tételére, ezáltal a névütközések elkerülhetőek A névterekkel egyedivé tett jelölőneveket minősített neveknek nevezzük 12

Névütközés 1. Dokumentum <table> </table> 2. Dokumentum <table> </table> <root> <h:table xmlns:h="http://www.w3.org/ TR/html4/"> <h:tr> <h:td>apples</h:td> <h:td>bananas</h:td> </h:tr> </h:table> <f:table xmlns:f="http://www.w3schoo ls.com/furniture"> <f:name>african Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root> 13

XML Deklaráció 1.0 verzió esetén opcionális, 1.1 esetén kötelező Ha nincs megadva akkor az alapértelmezett 1.0-ként azonosítjuk <?xml version="1.0" encoding="utf-8"?> 14

Megjelenítési információt társíthatunk a dokumentumhoz. <?xml-stylesheet type="text/css href="cd_catalog.css"?> Feldolgozási instrukciók 15

<! Ez csak egy komment --> A megjelenítési információ nem gyakran használt, a W3C által nem is ajánlott, helyette XSLTt használjunk. 16

CData A CData szekcióba írt területet az elemző figyelmen kívül hagyja <script> <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then return 1; else return 0; } ]]> </script> 17

Jól formált XML 1. Minden tag-nek kell hogy legyen záró párja. (Szöveg nélküli tag rövidíthető) <p>this is a paragraph.</p> <br /> 2. A tag-ek kis- és nagybetű érzékenyek <Message>incorrect</message> <message>correct</message> 3. Helyes egymásba ágyazás <b><i>this is incorrect</b></i> <b><i>this is correct</i></b> 18

Jól formált XML folytatás 4. Minden dokumentumnak kell hogy legyen pontosan egy gyökér eleme, ami tartalmazza az összes többi elemet <root> <child> <subchild>...</subchild> </child> </root> 5. Az attribútum értékeket idézőjelben adjuk meg <title lang=inglis>hp</title> <title lang="en">hp</title> 19

XML fa <bookstore> <book category="cooking"> <title lang="en">everyday Italian</title> <author>giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book>a <book category="children"> <title lang="en">harry Potter</title> <author>j K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore> 20

DTD (Document Type Description) A DTD sémaleíró meghatározza az XML dokumentumok szerkezetét. DTD használatával specifikáljuk, hogy mikor érvényes egy XML dokumentum. A DTD azt mondja meg, hogy mikor legális egy elem, illetve milyen beágyazások megengedettek. A DTD kifejező ereje nem elég típusok definiálására. 21

Miért jó a DTD? Speciális nyelvet alkothatunk vele (http://www.w3.org/tr/html401 /sgml/dtd.html) Az alkalmazásunk könnyen ellenőrizni tudja hogy a kapott adat valid-e. 22

Hogyan? <?xml version="1.0"?> <!DOCTYPE note SYSTEM "note.dtd"> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> 23

Hogyan? <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>!DOCTYPE note megadja hogy a dokumentum gyökere a note!element note rész megadja hogy a note "to,from,heading,body" részekből áll!element to, from, heading, body megadják hogy azok az elemek szöveges értékűek 24

a a elem e1? 0 vagy 1 előfordulása az e1 kifejezésnek e1* 0 vagy több előfordulása az e1-nek e1+ 1 vagy több előfordulása az e1-nek e1,e2 e1 e2 (e) #PCDATA EMPTY ANY (#PCDATA a 1.. a n )* Az e2 az e1 után következik e1 vagy e2 Zárójelezés Nem elemzendő szöveg Nincs tartalom Tetszőleges tartalom Vegyes tartalom 25

Attribútumokra is megfogalmazható megszorítás #REQUIRED - Szükséges az adott attribútum <!ATTLIST person number ID #REQUIRED> <person number="5" /> <person /> #IMPLIED - Opcionális az adott attribútum <!ATTLIST contact fax CDATA #IMPLIED> <contact fax="555-667788" /> <contact /> #FIXED - Fix érték kel l hogy legyen <!ATTLIST sender company IDREF #FIXED "Microsoft"> <sender company="microsoft" /> <sender company="w3schools" /> 26

Entitás létrehozás <!ENTITY NEWSPAPER "Vervet Logic Times"> <!ENTITY PUBLISHER "Vervet Logic Press"> <body>&newspaper;&publisher;</body> 27

Érvényesség DTD szerint Egy XML dokumentum érvényes egy adott DTD szerint, ha a dokumentum illeszkedik a reguláris kifejezésekre az attribútumok típusai megfelelőek az azonosítók és hivatkozások használata szabályos. 28

Feladat http:///korszer u_xml/dtd_feladat.txt Ellenőrzéshez: http://www.xmlvalidation.com/ 29

XSD - XML séma Nagyon hasonlít a DTD-re Vannak típusok xs:string xs:decimal xs:integer xs:boolean xs:date xs:time 30

XSD példa <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="note"> <xs:complextype> <xs:sequence> <xs:element name="date" type="xs:date"/> <xs:element name="to minoccurs= 1" maxoccurs="unbounded /> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> <xs:attribute name= ID" type="xs:integer" use="required"/> </xs:complextype> </xs:element> </xs:schema> 31

DTD Tuning Feladat: http:/// korszeru_xml/xsd_feladat.txt Validálás: http://www.utilitiesonline.info/xsdvalidation/ 32

XPath XPath kifejezéseit az XML fa alapján kell kiértékelni. Navigálás Kiválasztás Általános információ kinyerés 33

Csúcs Az XML fa csúcsai a következő csúcstípusúak lehetnek: Dokumentum Elem Attribútum Szöveg Instrukció Megjegyzés Névtér 34

Csúcs Egy csúcsnak lehet neve, vagy értéke, vagy mindkettő egy Elem csúcsnak neve van, de értéke nincs; egy Szöveg csúcsnak nincs neve, de karaktersorozatú értéke van; egy Attribútum csúcsnak neve és értéke is van. 35

Csúcs sorrend A csúcsok közti rendezést a dokumentum sorrend definiálja, mely a pre-order bejárásnak felel meg. Egy szülő csúcs megelőzi a gyerekeit és attribútumait. A testvér csúcsok közül az attribútumok jönnek előbb és csak utána a más típusúak. Az attribútumok sorrendje implementáció függő. 36

Példa Xpath lekérdezésre <irodalom> <könyv ár= 55 > <kiadó>addison-wesley</kiadó> <>Serge Abiteboul</> <><kernév>rick</kernév> <veznév>hull</veznév> </> <>Victor Vianu</> <cím>foundations of Databases</cím> <év>1995</év> </könyv> <könyv> <kiadó>freeman</kiadó> <>Jeffrey D. Ullman</> <cím>principles of Database and Knowledge Base Systems</cím> <év>1998</év> </könyv> </irodalom> 37

Az XML fa Gyökér irodalom ár könyv könyv kiadó cím év kiadó cím év kernév veznév 38

/irodalom/könyv/év Gyökér irodalom ár könyv könyv kiadó cím év kiadó cím év kernév veznév /irodalom/könyv/év Eredmény: <év>1995</év> <év>1998</év> /irodalom/cikk/év eredménye üres, mert nincs cikk. 39

// Gyökér irodalom ár könyv könyv kiadó cím év kiadó cím év kernév veznév // Eredmény: <>Serge Abiteboul</> <><kernév>rick</kernév> <veznév>hull</veznév> </> <>Victor Vianu</> <>Jeffrey D. Ullman</> 40

// Gyökér irodalom ár könyv könyv kiadó cím év kiadó cím év kernév veznév // Eredmény: <>Serge Abiteboul</> <><kernév>rick</kernév> <veznév>hull</veznév> </> <>Victor Vianu</> <>Jeffrey D. Ullman</> 41

/irodalom//kernév Gyökér irodalom ár könyv könyv kiadó cím év kiadó cím év kernév veznév /irodalom//kernév Eredmény: <kernév>rick</kernév> 42

/irodaalom/könyv//text() Gyökér irodalom ár könyv könyv kiadó cím év kiadó cím év kernév veznév text() = visszaadja a szövegcsúcs értékét node() = visszaadja csúcsot name() = visszadja a jelölő nevét /irodalom/könyv//text() Eredmény: Serge Abiteboul Victor Vianu Jeffrey D. Ullman 43

/irodalom/könyv/@ár Gyökér irodalom ár könyv könyv kiadó cím év kiadó cím év kernév veznév /irodalom/könyv/@ár Eredmény: 55 44

/irodalom/könyv/[kernév] Gyökér irodalom ár könyv könyv kiadó cím év kiadó cím év kernév veznév /irodalom/könyv/[kernév] Eredmény: <> <kernév>rick</kernév> <veznév>hull</veznév> </> [kernév] igaz, ha a elemnek van kernév gyereke. 45

További példák /irodalom/könyv[@ár < 60] az ára kisebb mint 60 /irodalom/könyv[/kernév = "Rick"] egyik jének kerneve Rick /irodalom/könyv[/text()] van szöveggel megadott je /irodalom/könyv[2] a 2. könyv 46

Halmazműveletek A következő halmazműveleteket lehet használni: Egyesítés:, union Metszet: intersect Kivonás: except Ezek a műveletek eltávolítják a többszörös előfordulásokat. 47

XPath Feladat http:///korszeru_xml/xpath _feladat.txt http:///korszeru_xml/kolcs onzesek.xml Ellenőrzéshez: http://www.xpathtester.com/xpath 48