xml adatkezelés

21
XML adatkezelés 1. témakör Az XML szabvány

Upload: tavi

Post on 14-Jan-2016

36 views

Category:

Documents


1 download

DESCRIPTION

XML adatkezelés. 1. témakör. Az XML szabvány. XML kialakulása. A jelölő nyelvek közés tartozik. Története: - 1967: Tunnicliffe tanulmánya (tartalom és formátum) - 1969: GML: Generalized Markup Language (formátum orientált) - 1983: SGML: Standard Generalized Markup Language (ANSI) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: XML adatkezelés

XML adatkezelés

1. témakör

Az XML szabvány

Page 2: XML adatkezelés

XML kialakulása

A jelölő nyelvek közés tartozik

Története:- 1967: Tunnicliffe tanulmánya (tartalom és formátum)- 1969: GML: Generalized Markup Language

(formátum orientált)- 1983: SGML: Standard Generalized Markup Language

(ANSI)- 1993: HTML HyperText Markup Language (WEB)- 1998: XML (eXtensible Markup Language)

Távoli rokonok:- LaTEX- LSE

Page 3: XML adatkezelés

SGL jellemzése

- jelölő elemeket használ- moduláris szerkezetű a dokumentum- külön sémaleírás (DTD)

chapter><chptitle>SQL SELECT szintaktikája</chptitle> <para>A SELECT parancs célja a relációkban tárolt adatok hatékony lekérdezése... </para> <para>A GROUP BY elemmel a csoportképzésre utalunk...</para> </chapter>

<!ELEMENT chapter (chptitle, (para | heading)+) >

XML kialakulása

Page 4: XML adatkezelés

XML kialakulása

XML az SGML-ből jött létre:- egyszerűbb , elhagyott számos elemet - szabadabb tartalom, nincs fix elem- szigorúbb szerkezetű- hatékonyabban kezelhető- számos feldolgozó program fejlődött ki (W3C, MS)

Kapcsolódó szabványok (állandóan gyarapodik)

- SAX- DOM- XPath- DTD- XMLSchema- XSL- XQuery

Page 5: XML adatkezelés

- hordohatóság és plattform-függetlenség;- hatékony alkalmazhatóság az Internet-en; - támogassa az alkalmazások mind szélesebb körét;- részleges kompatíbilitás az SGML szabvánnyal; - az XML nyelv legyen egyszerű szerkezetű;- minnél kevesebb opcionális elemet tartalmazzon; - könnyen lehessen programozni XML feldolgozó programokat; - XML dokumentum legyen a felhasználó által is érthető,

olvasható formátumú; - legyenek eszközök a struktúra gyors megtervezésére; - az XML szabvány legyen tiszta, a helyesség formálisan is

igazolható legyen; - legyenek eszközök az XML dokumentumok hatékony

elkészítésére; - nem fontos a tömörség, rövidség, fontosabb az olvashatóság

biztosítása.

XML jellemzői

Page 6: XML adatkezelés

XML szerkezete

- logikai szerkezet- fizikai szerkezet

dokumentum := prolog jelölő_elem egyéb*

Elemek típusai:- jelölő elem- feldolgozási utasítás- megjegyzés

Az elemek megadása elemtagokkal történik

A prolog feldolgozás előtti utasítást jelent

Normalizálás: minden szeparáló szövegrész egy karakter hoszú

Page 7: XML adatkezelés

Helyesen formált dokumentum

Egyetlen fő, gyökér jelölő elem létezik

Jelölő elemek formátuma:- kéttagú elem: <tagnév …> tartalom </tagnév>- egytagú elem: <tagnév .. />

Azelem neve tetszőleges

Jelölő elemek egymásba ágyazhatók, de átlapolás nem lehet

feldolgozási utasítás elem alakja:<?kezelő …. ?>

megjegyzés elem alakja:<!-- …. -->

Page 8: XML adatkezelés

Helyesen formált dokumentum

A prolog egy <?xml version=“..” .. ?> elemet tartalmaz

Az elemekhez elemjellemzők rendelhetők

Elemjellemző alakja:<tag .. jellemző_neve=“érték” ..>

<?xml version=”1.0" ?> <!-- ez egy minta KL:2007.07.01 --> <könyvek> <könyv ikod="2"> <cim> Adatkezelési alapok </cim> <ev>2003</ev> <olvasoterem/> </könyv> </könyvek>

Page 9: XML adatkezelés

Speciális karakterek kezelése

Karakter-készlet kibővítése: helyettesító szimbólumok (egyedek)

Előre definiált helyettesítő jelek: < : &lt; > : &gt; & : & amp; ' : &apos; " : &quot;

Hosszabb egyedi karaktersorozat:<![CDATA[ szöveg ]]>

Tetszőleges karakter:&#nnn;

Page 10: XML adatkezelés

<?xml version="1.0" ?> <forrasok> <rutin nev="fv1"> main() { if (this-&gt;setA() &lt; 0 &amp;&amp; x &lt; X) { strcpy (valasz,&quot;Alacsony ertek&quot;); } } </rutin> <rutin nev="fv2"> <![CDATA[ main() { if (this->setA() < 0 && x < X) { strcpy (valasz,"Alacsony ertek"); } } ]]> </rutin> </forrasok>

Speciális karakterek kezelése

Page 11: XML adatkezelés

Névterek használata

A felhasználók maguk jelölhetik ki az elemek neveit

Az elemnév önmagában nem elegendő egyértelmű azonosításra ahononímák miatt

Megoldás: a név kibővítése a feldolgozó azonosításval

Névtér: a feldolgozó program azonosítója

Névtér szokásos alakja: URI

Egy dokumentumban több névtér is élhet

A névterek elemhez kötése alias nevekkel történik

Page 12: XML adatkezelés

Névterek használata

Névtér és alias összekötése:<tagnév … xmlns:alias=“URI” … >

Névtér kötése elemhez:<alias:tagnév ….> … </alias:tagnév>

Névtér kötése elemjellemzőhöz:<tagnév … alias:jellemző=“érték” …>

http://www.w3.org/2000/10/XMLSchema : W3C XMLSchema névterehttp://www.w3.org/1999/XSL/Transform : XSL feldolgozó névterehttp://www.w3.org/1999/xlink : XLink feldolgozó névtere

Page 13: XML adatkezelés

Névterek használata

Van alapértelmezési névtér is, ahol az alias üres karakter(nincs)

Névtér és alias összekötése:<tagnév … xmlns =“URI” … >

Alapértelmezési névtér kötése:<tagnév ….> … </tagnév><tagnév … jellemző=“érték” …>

Az aliasnév érvényességi köre azon elemre és annak befoglalt elemeire terjed ki, amelyben definiálták. Egy belső elemben a kívül értelmezett aliasnév felülírható egy új értelmezéssel

Page 14: XML adatkezelés

Névterek használata

<ktar:konyvek xmlns:kt='http://iit.uni-miskolc.hu/kovacs/konyvtar’xmlns:vir='http://uni-miskolc.hu/nyilvanartas'xmlns='http://iit.uni-miskolc.hu/root'>

<ktar:konyv id='1'><ktar:ISBN> I11233 </ktar:ISBN><vir:olvaso> UZI234 <uid> olg45 </uid> </vir:olvaso><vir:nkod xmlns:vir='http://uni-miskolc.hu/neptun'>

OPUZT7 </vir:nkod> </ktar:konyv> <ktar:konyv id='3'>

<ktar:ISBN> TF7671 </ktar:ISBN><vir:olvaso> JII781 <uid> z78hz </uid> </vir:olvaso><vir:nkod xmlns:vir='http://uni-miskolc.hu/neptun'>

LOP86J </vir:nkod> </ktar:konyv></ktar:konyvek>

Page 15: XML adatkezelés

HTML és XML viszonya

- HTML rögzített elemnevek (HR, BR, TABLE,…)

- HTML-ben a jellemző értéke szabadon megadható

- HTML-ben nem kötelező a lezáró tag

- HTML-ben lehet átlapolás

- HTML-ben hiányzó feldolgozási utasítás

XHTML: a HTML átalakítása XML szabványra

Page 16: XML adatkezelés

XHTMLAz XHTML szabványos XML dokumentum

<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/css" href="http://www.w3.org/MarkUp/style/xhtml2.css"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">

<html xmlns="http://www.w3.org/2002/06/xhtml2/" xml:lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2002/06/xhtml2/ http://www.w3.org/MarkUp/SCHEMA/xhtml2.xsd" > <head> <title>Virtual Library</title> </head> <body> <p>Moved to <a href="http://example.org/">example.org</a>. </p> </body> </html>

Page 17: XML adatkezelés

XHTML elemei

Elemek:Dokumentum felépítés body, head, html, titleStruktúra: address, blockcode, block quote, div, hn, p, pre,

section, separatorSzövegkezelés: abbr, cite, code, dfn, em, kbd, l, q, samp, span,

strong, sub, sup, varLista: dl, dt, dd, label, nl, ol, ul, liHypertext: aTáblázat: caption, col, cplgroup, summary, table, tbody, td,

tfoot, th, trMetaadatok: meta, link, object, param, standby

Jellemzők: xml:lang, edit, src, style, datatype, about, src, dir, rel, property, class, id,

Page 18: XML adatkezelés

Szerző címe:<address href="mailto:[email protected]">Webmaster</address>

Programkód:<blockcode class="Perl"> sub squareFn { my $var = shift; return $var * $var ; } </blockcode>

Idézet:<blockquote cite="http://www.example.com/tolkien/twotowers.html"> <p>They went in single fed and blackened as they passed.</p> </blockquote>

Tetszőleges tagolás:<body> <h>The meaning of life</h> <p>By Huntington B. Snark</p> <div class="slide"> <h>What do I mean by "life"</h> <p>....</p> </div> <div class="slide"> <h>What do I mean by "mean"?</h> ... </div> ... </body>

Page 19: XML adatkezelés

Címsorok és szöveblokkok:<body> <h>This is a top level heading</h> <p>....</p> <section> <p>....</p> <h>This is a second-level heading</h> <p>....</p> </section>

Bekezdések, listák:<p>Payment options include: <ul> <li>cash</li>

<li>credit card</li> <li>luncheon vouchers.</li>

</ul> </p> Nem formázandó rész:

<pre> If I had any talent I would be a poet </pre>

Válaszvonal:<p>This is some lead in text</p> <separator /> <p>This is some additional, but separate text.</p>

Input billentyűzés kérés:To exit, type <kbd>QUIT</kbd>.

Sorokra bontáés:<blockcode class="program"> <l>program p(input, output);</l> <l>begin</l>

Indexek:H<sub >2</sub>O

Page 20: XML adatkezelés

Rövidítés:<abbr full="Limited">Ltd.</abbr>

Hivatkozás:As Gandalf the White said in <cite cite="http://www.example.com/bs/the_two_towers">The Two Towers</cite>,<quote xml:lang="en">"The hospitality of your hall is somewhat lessened of late, Theoden King."</quote>

Kód és változó:The Pascal statement <code>i := 1;</code> assigns the literal value one to the variable <var>i</var>.

Definíció:<p role="definition"> An <dfn id="def-acronym">acronym</dfn> is a word formed from the … </p>

Kiemelés:Do <em>not</em> phone before 9 a.m.

Page 21: XML adatkezelés

Handler (kezelő):html xmlns="http://www.w3.org/2002/06/xhtml2" xml:lang="en"> <head> <title>A document with a handler</title> <handler type="text/x-vbscript" src="http://example.org/progs/vbcalc"> <handler type="text/javascript"> ...some inline JavaScript... </handler> </handler> </head> <body> <handler type="text/x-perl"> ... some Perl script ... </handler> </body> </html>

Hivatkozás leírók:<head> <title>Chapter 2</title> <link rel="index" href="../i1.html"/> <link rel="next" href="Ch3.html"/> <link rel="prev" href="Ch1.html"/> </head>

Külső objekltum behozatala: <object src="http://www.e.c/f.jpg" srctype="image/jpeg"> <em>alternate text</em> </object>