XML technologie. Edice Management v informa ní spole nosti



Podobné dokumenty
Ukázka knihy z internetového knihkupectví

XML technologie. Edice Management v informa ní spole nosti

Seminá e. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, sem. 1-13

Výzva pro předložení nabídek k veřejné zakázce malého rozsahu s názvem Výměna lina

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

Pravd podobnost a statistika - cvi ení. Simona Domesová místnost: RA310 (budova CPIT) web:

Věc: Výzva pro předložení nabídek k veřejné zakázce s názvem: VÚ a ŠJ PŠOV, Nákup nového osmimístného vozidla

Ukázka knihy z internetového knihkupectví

Limity funkcí v nevlastních bodech. Obsah

P íklad 1 (Náhodná veli ina)

APLIKACE METOD VÍCEKRITERIÁLNÍHO ROZHODOVÁNÍ PŘI HODNOCENÍ KVALITY VEŘEJNÉ DOPRAVY

Vektory. Vektorové veli iny

FINAN NÍ ÍZENÍ A ROZHODOVÁNÍ PODNIKU

Skalární sou in. Úvod. Denice skalárního sou inu

Memoria Mundi Series Bohemica z trezoru na Internet

Úvod, terminologie. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 1

Binární operace. Úvod. Pomocný text

TÉMA BAKALÁŘSKÉ PRÁCE

Čl. 3 Poskytnutí finančních prostředků vyčleněných na rozvojový program Čl. 4 Předkládání žádostí, poskytování dotací, časové určení programu

NÚOV Kvalifikační potřeby trhu práce

Zásady pro vypracování disertační práce Fakulty strojní VŠB-TUO

Edice Právo pro každého. JUDr. Jan Přib. Kdy do důchodu a za kolik 12. aktualizované vydání

Integrování jako opak derivování

Česká republika Ministerstvo práce a sociálních věcí Na Poříčním právu 1, Praha 2. vyzývá

Specifikace systému ESHOP

Orientační průvodce mateřstvím a rodičovstvím v zadávacích dokumentacích poskytovatele

A. PODÍL JEDNOTLIVÝCH DRUHŮ DOPRAVY NA DĚLBĚ PŘEPRAVNÍ PRÁCE A VLIV DÉLKY VYKONANÉ CESTY NA POUŽITÍ DOPRAVNÍHO PROSTŘEDKU

MATERIÁL PRO JEDNÁNÍ RADY MĚSTA PÍSKU DNE

účetních informací státu při přenosu účetního záznamu,

Česká zemědělská univerzita v Praze Fakulta provozně ekonomická. Obor veřejná správa a regionální rozvoj. Diplomová práce

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

Kočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011

Ústavní sociální služby pro osoby s postižením v Moravskoslezském kraji

STUDENTSKÁ GRANTOVÁ SOUTĚŽ UNIVERZITY J. E. PURKYNĚ V ÚSTÍ NAD LABEM

Ovoce do škol Příručka pro žadatele

PRAVIDLA PRO PRODEJ BYTŮ A NEBYTOVÝCH PROSTOR V MAJETKU MĚSTA VRBNO POD PRADĚDEM

Stanovy spolku. I. Úvodní ustanovení. 1.Název spolku : KLUB PŘÁTEL HISTORICKÝCH VOJENSKÝCH JEDNOTEK z.s.

Regenerace zahrady MŠ Neděliště

FOND VYSOČINY NÁZEV GP

Vydání občanského průkazu

HLAVA III PODROBNOSTI O VEDENÍ ÚST EDNÍHO SEZNAMU OCHRANY P ÍRODY


Pravidla. pro uskutečňování Programu podpory českého kulturního dědictví v zahraničí v oblasti lektorátů a Krajanského vzdělávacího programu

Konceptuální modelování

~- ro!c...i 'K*. / XX. Služebný pozemek, panující pozemek, inženýrské sítě a sjezd

Prezentace. Ing. Petr V elák 6. b ezna 2009

OBECN ZÁVAZNÁ VYHLÁ KA. Obce Plavsko. O fondu rozvoje bydlení

Termíny zkoušek Komise Komise. subkomise 1 (obhaj.) :30 B subkomise 2 (obhaj.) :30 B8 120

SMLOUVA O POSKYTOVÁNÍ SOCIÁLNÍ SLUŽBY č.../2013

DRAŽEBNÍ VYHLÁŠKA VEŘEJNÉ DOBROVOLNÉ DRAŽBY podle zák. č. 26/2000 Sb., o veřejných dražbách, ve znění pozdějších předpisů

VÁŠ DOPIS ZN.: PŘIJATO DNE:

Směrnice DSO Horní Dunajovice a Želetice - tlaková kanalizace a intenzifikace ČOV. Dlouhodobý majetek. Typ vnitřní normy: Identifikační znak: Název:

KRAJSKÝ ÚŘAD JIHOMORAVSKÉHO KRAJE Odbor dopravy Žerotínovo náměstí 3/5, Brno

DPH a ú tování p eprava, dovoz, vývoz, služby 4. aktualizované vydání

Využití EduBase ve výuce 10

3 nadbytek. 4 bez starostí

Zásady o poskytování finančních příspěvků z rozpočtu města Slaného pro sportovní a zájmové organizace (dále jen Zásady )

Aktuality a trendy v převodních cenách 17. června 2014

VEŘEJNÁ NABÍDKA POZEMKŮ URČENÝCH K PRODEJI PODLE 7 ZÁKONA

Zdravotní nauka 2. díl

Charakteristika kurzu BE4

Biologie všedního dne

Název: Univerzita Karlova v Praze. 1. lékařská fakulta Děkanát Kateřinská 32, Praha 2

Zásady a podmínky pro poskytování dotací na program Podpora implementace Evropské charty regionálních či menšinových jazyků 2011

Seriál: Management projektů 7. rámcového programu

Směrnice kvestorky AMU č. 1/2004

Dotazování nad stromem abstraktní syntaxe

Vektor náhodných veli in - práce s více prom nnými

ZNALECKÝ POSUDEK č /2015

Sbírka zákonů ČR Předpis č. 473/2012 Sb.

PRÁVNICKÉ OSOBY POJEM A KATEGORIZACE

městské části Praha 3 pro rok 2016 připravila

Sazba zdrojových kód. Jakub Kadl ík

Posilování sociálního dialogu v místním a regionálním správním sektoru. Diskusní dokument

Zásady pro prodej bytových domů Městské části Praha 5

Katedra obecné elektrotechniky Fakulta elektrotechniky a informatiky, VŠB - TU Ostrava 16. ZÁKLADY LOGICKÉHO ŘÍZENÍ

Fiche opatření (dále jen Fiche)

Kontrola správnosti sledování a měření objemu vypouštěných odpadních vod dle 92 vodního zákona

Vyvažování tuhého rotoru v jedné rovině přístrojem Adash Vibrio

VALNÁ HROMADA Informace představenstva společnosti o přípravě řádné valné hromady společnosti a výzva akcionářům.

Kreativní malování. s dětmi. Dana Cejpková

obecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů

Matematick ústav v Opav, Na Rybní ku 1, Opava. Zápis z 16. zasedání V decké rady Matematického ústavu v Opav dne 15.

19 Jednočipové mikropočítače

na sále Kulturního domu v Rudolticích dne 7. října 2013

Názory na bankovní úvěry

Upíše-li akcie osoba, jež jedná vlastním jménem, na účet společnosti, platí, že tato osoba upsala akcie na svůj účet.

Metodika kontroly naplněnosti pracovních míst

1. VÝCHODISKA AKTUALIZOVANÉHO DLOUHODOBÉHO ZÁMĚRU

Smlouva o ubytování. Článek I Smluvní strany

uzavírají podle ustanovení 1746 odst. 2 zákona č. 89/2012 Sb., občanský zákoník (dále jen občanský zákoník ), tuto

na prodej nemovitosti objektu č.p. 9 - Chrudim VI. kolo(4)

I. Objemové tíhy, vlastní tíha a užitná zatížení pozemních staveb

e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody

Fiche opatření (dále jen Fiche)

Zápis z jednání č. 01 Městského zastupitelstva ze dne

Návrh na na ízení exekuce s vysv tlivkami. Tento návrh lze pou ít na v echny p ípady na ízení exekuce.

KLÍČE KE KVALITĚ (METODIKA II)

PŘIJÍMACÍ ŘÍZENÍ. Strana

Národního registru u ivatel léka sky indikovaných substitu ních látek (papírové hlá enky)

Transkript:

Edce Management v nforma ní spole nost Ed ní rada: Prof. Ing. Josef Basl, CSc. Vysoká ²kola ekonomcká v Praze p edseda Ing. Kate na Drongová Grada Publshng, a.s. místop edseda Prof. Ing. Jan Ehleman, CSc. Techncká unverzta Lberec Doc. RNDr. Josef Hynek, MBA, Ph.D. Unverzta Hradec Králové JUDr. Martn Masner kancelá ROWAN LEGAL Doc. Ing. Karol Mata²ko, CSc. šlnská unverzta v šln Prof. RNDr. Jaroslav Pokorný, CSc. MFF UK v Praze Doc. Ing. Jan Pour, CSc. V E v Praze Doc. Ing. Karel Rchta, CSc. FEL ƒvut v Praze Doc. Ing. Petr Sodomka, Ph.D. UTB ve Zlín Doc. Ing. Mlena Tvrdíková, CSc. V B-TU Ostrava Prof. Ing. Ivan Vrana, DrSc. ƒeská zem d lská unverzta v Praze SEPARATOR Prof. RNDr. Jaroslav Pokorný, CSc. a kolektv XML technologe Prncpy a aplkace v prax Auto : RNDr. Irena Mlýnková, Ph.D. kap. 2, 4, 7.2 Mgr. Martn Ne aský kap. 9, 10 Prof. RNDr. Jaroslav Pokorný, CSc. úvod, kap. 1.5.2, 1.5.3, 3, 7.4 Doc. Ing. Karel Rchta, CSc. kap. 1, 5 Mgr. Kaml Toman kap. 6, 7.1, 7.3 Mgr. Vojt ch Toman kap. 8 Vydala Grada Publshng, a.s. U Pr honu 22, 170 00 Praha 7 tel.: +420 220 386 401, fax: +420 220 386 400 www.grada.cz jako svou 3420. publkac Recenzent Ing. J í Kosek a RNDr. Tomá² Ptner, Ph.D. Odpov dný redaktor Mgr. Petr Mu²álek Sazba RNDr. Irena Mlýnková, Ph.D. a Mgr. Martn Ne aský Po et stran 272 První vydání, Praha 2008 Vytskly Tskárny Havlí k v Brod, a.s. Husova 1881, Havlí k v Brod c Grada Publshng, a.s., 2008 Cover Photo c fotobanka allphoto mages ISBN 978-80-247-2725-7

Obsah O autorech......................................... 7 P edmluva.......................................... 9 Úvod............................................. 11 1 Prncpy formátu XML............................... 15 1.1 Formát XML...................................... 16 1.2 XML dokument..................................... 16 1.3 Dence struktury dokumentu pomocí DTD..................... 20 1.4 Jmenné prostory XML................................. 32 1.5 Aplka ní rozhraní................................... 36 2 XML schémata a jazyk XML Schema..................... 47 2.1 Motvace......................................... 47 2.2 Základy jazyka XML Schema............................. 50 2.3 Jednoduché datové typy................................ 52 2.4 Atrbuty......................................... 58 2.5 Elementy........................................ 59 2.6 Sloºené datové typy.................................. 60 2.7 Skupny atrbut.................................... 66 2.8 Dal²í jazyky pro denc XML schématu....................... 67 2.9 Shrnutí......................................... 70 3 Jazyky XPath, XPonter a XLnk........................ 71 3.1 XPath.......................................... 71 3.2 XPonter......................................... 82 3.3 XLnk.......................................... 85 3.4 Shrnutí......................................... 88 4 Pokro lé technky jazyka XML Schema.................... 89 4.1 Omezení dentty.................................... 89 4.2 Substtuovatelnost a substtu ní skupny....................... 93 4.3 Zástupc......................................... 95 4.4 Externí schémata.................................... 96 4.5 Notace.......................................... 97 4.6 Anotace......................................... 98 4.7 Ko enový element schema............................... 99 4.8 Vztah jazyka XML Schema k XML dokument m.................. 99 4.9 Vztah jazyka XML Schema k DTD.......................... 99 4.10 Shrnutí......................................... 100 5

5 Transformace XML dokument pomocí XSLT................ 103 5.1 Struktura XSL dokumentu............................... 104 5.2 Prvky jazyka XSL................................... 106 5.3 Aplkace pravdel XSLT................................ 116 5.4 Zpracování XML dokumentu pomocí XSLT..................... 117 5.5 P íklad p evodu XML do HTML........................... 119 5.6 P íklad jednoduché databáze v XML......................... 121 5.7 Shrnutí......................................... 125 6 Jazyk XQuery.................................... 127 6.1 Datové modely XML a dotazovacích jazyk..................... 127 6.2 Cesty.......................................... 129 6.3 Konstruktory...................................... 129 6.4 Výrazy FLWOR.................................... 131 6.5 Kvantkátory...................................... 135 6.6 Datový model XQuery................................. 136 6.7 Vstupní funkce..................................... 141 6.8 Funkce.......................................... 141 6.9 Datové typy a schémata................................ 143 6.10 Formální sémantka XQuery.............................. 145 6.11 Shrnutí......................................... 146 7 XML databáze.................................... 147 7.1 Uloºení XML dat v systému soubor......................... 147 7.2 Uloºení XML dat v rela ní databáz......................... 148 7.3 Natvní XML úloº²t................................. 161 7.4 SQL/XML........................................ 179 8 Komprese XML dat................................. 191 8.1 Komprese dat...................................... 193 8.2 Komprese XML dat.................................. 200 8.3 Shrnutí......................................... 215 9 Modelování XML dat................................ 217 9.1 Návody pro návrh XML schémat........................... 218 9.2 Abstrakce návrhu XML schémat........................... 225 10 Praktcké vyuºtí XML............................... 241 10.1 Vybrané standardní XML formáty.......................... 241 10.2 Webové sluºby..................................... 248 10.3 Podpora XML v exstujících RS BD......................... 254 10.4 Shrnutí......................................... 256 Lteratura.......................................... 257 Rejst ík........................................... 263 6 XML technologe

O autorech RNDr. Irena Mlýnková, Ph.D. absolvovala magsterské postgraduální studum na Matematcko-fyzkální fakult UK, kde v sou asné dob p sobí jako odborná asstentka na kated e softwarového nºenýrství. Ve své v decké nnost se v nuje problematce správy XML dat v (objektov ) rela ních databázích, podobnost XML dat a jejího vyuºtí, analýzy reálných XML dat, automatckého generování XML dat a XML benchmarkngu. Výsledky své práce publkuje na meznárodních konferencích (DocEng, DASFAA, DEXA, IDC, ISD,...) v odborných knhách a asopsech. N které z nch získaly významná ocen ní. V rámc svého pedagogckého p sobení spoluvytvá ela na MFF UK p edná²ku Technologe XML a Pokro lé technologe XML a na tuto oblast zam uje vedené bakalá ské a dplomové práce a studentské projekty. Mgr. Martn Ne aský vystudoval Matematcko-fyzkální fakultu UK, obor Datové nºenýrství. V sou asnost p sobí jako postgraduální student na kated e softwarového nºenýrství MFF UK. Tématy jeho výzkumu jsou návrh, ntegrace a správa XML dat a dále pak webové sluºby a sémantcký web. Výsledky své práce publkuje na meznárodních konferencích (SAC, EJC, ICDIM, APCCM,...). Na uvedené oblast zam uje témata vedených bakalá ských a dplomových prací. Na MFF UK vyu uje úvodní kurzy do databázových systém a programování a p edm ty Technologe XML a Pokro lé technologe XML. Na FEL VUT vyu uje p edm t Technologe XML. Prof. RNDr. Jaroslav Pokorný, CSc. byl jmenován profesorem nfor- matky v roce 1999. Je autorem více neº 250 p vodních publkací, v deckých monogra í a vysoko²kolských u ebnc z oblast zpracování dat. Jako len organza ního výboru se podílel na uskute n ní osm meznárodních konferencí. Je lenem v deckých rad FAV ZÚ v Plzn, FIS V E v Praze, rady ÚI AV R a MFF UK. Pracuje v koms pro státní zkou²ky na MFF UK a FEL VUT, je lenem oborové rady pro doktorské studum na MFF UK a dal²ích ²kolách. P sobí jako expert v European Commson, je reprezentantem R v organzac IFIP, stálým recenzentem Computng Revews a Zentralblatt für Mathematk. Na MFF UK pracuje od roku 1982, v letech 1995 2006 zde zastával funkc vedoucího katedry softwarového nºenýrství. Od roku 2008 je prod kanem MFF UK pro v du a zahran ní styky. O autorech 7

Doc. Ing. Karel Rchta, CSc. vystudoval obor Techncká kybernetka na FEL VUT v Praze, habltoval se v roce 1992 v oboru Výpo etní technka. V sou asnost pracuje na kated e softwarového nºenýrství MFF UK v Praze. Zabývá se formálním spec kacem, softwarovým nºenýrstvím, databázovým systémy a programováním. U í a u l také n které p edm ty na jných ²kolách, nap. na kated e po íta FEL VUT, kated e nforma ních technologí V E, kated e nforma ních technologí PEF ZU, kated e nformatky a matematky V FS a kated e nforma ních technologí BIV. Je autorem spoluautorem n kolka knh, publkoval více neº 100 p ísp vk na r zných konferencích. Je lenem ACM a SSI. Mgr. Kaml Toman vystudoval Matematcko-fyzkální fakultu UK, obor Po íta ové systémy. V sou asné dob p sobí jako postgraduální student na kated e softwarového nºenýrství. Tématy jeho výzkumné práce jsou zejména problematka adaptvního ukládání XML a vyhledávání v XML datech, analýza reálných XML dat a vyuºtí t chto postup v natvních XML databázích. Výsledky práce publkuje na meznárodních konferencích. V rámc svého p sobení na fakult spoluvytvá el p edná²ku Technologe XML. Mmo akademckou sféru p sobí jako softwarový archtekt, p emº se v nuje mmo jné problematce datových ntegrací a webových sluºeb. Mgr. Vojt ch Toman vystudoval Matematcko-fyzkální fakultu UK, obor Informatka. Po ukon ení studí pracoval jako softwarový nºenýr ve spole nost Gtus, a.s. Od roku 2006 p sobí v nzozemské spole nost X-Hve Corporaton B.V., která se zabývá vývojem technologí pro natvní správu XML dat a ízení a publkování komplexního XML obsahu. Je aktvním lenem pracovní skupny XML Processng Model konsorca W3C. Na MFF UK extern p edná²í o problematce komprese XML dat. 8 XML technologe

P edmluva Jazyk XML standardzovaný konsorcem W3C p sp l k vývoj souvsejících metod, které se dnes souhrnn nazývají XML technologí nebo XML technologem. Technologe, jak je známo, je soubor postup, nástroj a proces slouºících n jaké nnost. V p ípad XML m ºe jít nejen o transfer dokument nebo jejch transformace apod., ale o jejch ukládání v databáz a zpracování databázovým zp sobem. Zna kovací jazyk XML slouºí jako vým nný formát dat, tvo í syntaktckou základnu sémantckého webu, je na n m zaloºena servsn orentovaná ntegrace, lze ho dokonce povaºovat za nový databázový model. Exstence XML vedla k rozvoj ady dal²ích jazyk a podp rných nástroj pro pouºtí XML v softwarových systémech. Konsorcum W3C koordnuje rozvoj XML technologe a snaºí se dokonce o vytvo ení jejího formálního základu. ƒetba dokument vytvo ených W3C je ov²em, podobn jako jných standard, obtíºná, díky v²em nutným technckým detal m, které takové standardy musí mít. Jedním z cíl knhy je p blíºt technolog nformatkov tak, aby se mohl v p ípad pot eby orentovat v konkrétních prost edcích souvsejících s XML, které sou asná praxe nabízí, dokonce, aby byl schopen takové prost edky vyvíjet. P znejme, ºe zvlá²t u managementu XML dat, kam pat í sou asné XML databáze, to není njak snadný úkol. Seznámt eské tená e detaln j s databázovým zpracováním XML dat je proto dal²ím cílem knhy. P estoºe je knha zacílena na profesonály vyuºívající technolog XML v rámc aplkací, díky jejímu rozd lení do jednotlvých kaptol v ní m ºe za áte ník nalézt pot ebný úvodní materál a vynechat p ípadn detaly specálních ást XML technologe. Nezadatelnou motvací k vydání ttulu byl téº rychlý vývoj dané problematky v posledních letech. P pome me také v této souvslost, ºe od vydání p vodní eské práce o XML [91] J ího Koska uplynulo jº osm let. Knhu m ºeme neformáln rozd lt do dvou ástí. První, tj. kaptoly 16, vychází ze standard. Druhá ást, kaptoly 710, je zam ena na problematku, která se neustále vyvíjí a která spí²e mapuje stav v dané oblast. Díky rozsahu a orentac knhy se domníváme, ºe u nás exstuje relatvn ²roká základna potencálních tená, od student nformatky p es vývojá e software aº po manaºery podnkové nformatky. V textu je pouºta ada p íklad, které nazna ují, jak XML technolog vyuºít a zárove kudy se ubírá její dal²í vývoj. Na obsahu knhy se auto podílel následujícím zp sobem: Jaroslav Pokorný Úvod, kaptoly 1.5.2, 1.5.3, 3 a 7.4, Karel Rchta kaptoly 1 a 5, Irena Mlýnková kaptoly 2, 4 a 7.2, Kaml Toman kaptola 6, úvodní ást kaptoly 7 a kaptola 7.3, Vojt ch Toman kaptola 8, Martn Ne aský kaptoly 9 a 10. Knha p edstavuje vyúst ní aktvt autor v oblast XML technologe v posledních sedm letech. Látka byla nejprve zpracována na úrovn zvaného tutorálu konference EurOpen v roce 2000, dále pak byla zpracována pro semestrový kurz v nformatcké sekc MFF UK, který je dnes sou ástí magsterské výuky. Publka n byla ást materálu také zpracována ve form skrpt. Od roku 2007 je kurz v modkované form realzován na FEL ƒvut. Auto se v dané oblast v nují rovn º výzkumu. Jejch výsledky byly prezentovány jak na etných meznárodních konferencích, tak ve sv tových asopsech. P edmluva 9

Auto d kují Mgr. Janu Ulrychov za pe lvé p e tení rukopsu textu, kontrolu p íklad v odpovídajícím SW a za adu p pomínek, které p sp ly ke zkvaltn ní výsledku. Dále d kují RNDr. Davdu Bednárkov a Mgr. J ímu Dokullov za p e tení vybraných ástí textu a konzultace k nm. V neposlední ad pak pat í velký dík recenzent m, Ing. J ímu Koskov a RNDr. Tomá² Ptnerov, Ph.D., za cenné rady, p pomínky a post ehy a také sponzor m za významnou pomoc p pokrytí náklad na vydání knhy. Knha obsahuje pom rn velké mnoºství p íklad. V²echny p íklady je moºné nalézt na webové stránce http://kocour.ms.mff.cun.cz/necasky/bk/technologexml. Budou zde také umís ovány opravy p ípadných chyb a dal²í souvsející nformace. P pomínky ke knze jsou vítány na e-malové adrese technologexml@ks.mff.cun.cz. V Praze dne 8. 8. 2008 auto 10 XML technologe

Úvod O XML se m ºeme do íst, ºe je to zna kovací jazyk ur ený pro zna kování text. Co a k emu v²ak je to zna kování? Sta í s uv domt, ºe s n jakým zna kováním se setkáváme b ºn v ºvot. K zapsanému textu zapí²eme nap. po stranách jednotlvých stránek r zná znaménka, jejchº význam známe jen my sam, pouºjeme podtrhávání, r zné barvy pro orámování ástí textu apod. Zna ky tedy slouºí k vyzna ení jstých ástí nebo obecn j jednotek v textu. Z ejm je moºné pomocí zna ek vtsknout p vodn zcela nestrukturovanému textu n jakou strukturu. V XML se taková sada zna ek nejprve denuje, aby j mohla vyuºívat n jaká zájmová skupna, a pak se aplkuje na zvolené texty. Zna ky jsou vlastn jakés závorky vyjád ené op t jako text, který smyslupln vyjad uje, co obsah textu mez závorkam znamená. Nap. text Technologe XML ozna kovaný jako <název>technologe XML</název> m ºeme vnímat tak, ºe text mez závorkam <název> a </název> znamená název. O jaký název jde, m ºe být patrné z kontextu výskytu textu. To, ºe jsou zna ky voltelné, nazna uje, ºe XML je vlastn metajazyk. K dspozc jsou pevn daná (jen syntaktcká) pravdla, jak zna ky pouºívat. Je celkem z ejmé, jak zna kovat ru n, lze s v²ak p edstavt zp sob, kdy ozna kovaný text je podle n jakého p edpsu generován z po íta ových aplkací. A k emu je to dobré? Na základ dohodnutých zna ek pak jedna aplkace m ºe porozum t údaj m z jné aplkace. Prvotním ú elem jazyka XML bylo skute n podpo t vým nu dat. O jaká data vlastn jde? XML, jako zcela unverzální prost edek, samoz ejm m ºe být pouºt pro jakákolv data. Typcky m ºe jít o data z rela ní databáze, která jsou transportována v busness-to-busness (B2B) úlohách. Dále lze uvést poloºky z telefonního seznamu, rozvrh odlet letadel nebo data zákaznckých smluv. Jejch hlavním rysem je, ºe jsou pravdeln strukturovaná a v dob návrhu jejch po íta ového zpracování jsou známy jejch typy (v e databází schéma databáze). Na druhé stran spektra stojí data zcela nestrukturovaná, anebo strukturovaná jen velm málo. Jde obvykle o texty, u kterých sce známe autora a datum vydání apod., ne v²ak jº vnt ní strukturu samotného textu. Ta m ºe sce exstovat (kaptoly, odstavce), ale nejsou prost edky, jak j p esn popsat. Obvyklým nástrojem pro manpulac s t lem takového dokumentu jsou fulltextové systémy. Praxe proto rozl²la XML data na dokumentov orentovaná (document- -orented nebo document-centrc) a datov orentovaná (data-orented nebo data-centrc). Mez datov orentovaným a dokumentov orentovaným XML daty je v²ak n kdy hrance nez etelná, n které dokumenty mají rysy obou kategorí. Nap. objednávka m ºe obsahovat nestrukturovaná data jako nap. poznámky nebo komentá e, zatímco lánek v asopse obsahuje strukturovaná data jako nap. jméno autora, datum vydání apod. Na tuto kategor XML dat se hodí termín hybrdní. Dále exstují data, jako jsou záznamy o vy²et eních pacenta, soubor kucha ských recept, webová místa, nap. stránka Amazon.com, ale data ve formátu XHTML (XML následník formátu HTML). Tato data mohou být velm nepravdelná. Nap. záznamy pacent mohou obsahovat vºdy odl²né druhy vy²et ení a odpovídající nasazení lék. To znamená, ºe typy v²ech poloºek nejsou známy v dob návrhu po íta ového uloºení (depoztá e, databáze) t chto dat. Jným slovy e eno, je obtíºné, ne-l nemoºné, zkonstruovat jejch schéma. Rol hraje uspo ádání ástí dat. Ve známé databáz XML dat obsahující Shakespearovy hry jsou data reprezentována Úvod 11

tak, ºe lze rozl²t nap. v²echny replky Desdemondy, je ov²em vyºadováno, aby po adí replk v dalozích z stalo uspo ádáno stejn jako v p vodním textu. Hovo í se pak o semstrukturovaných datech, tj. datech, která nemají schéma, mají nepravdelnou nebo mplctní strukturu, jsou hnízd ná a heterogenní. O takových datech se p edpokládá, ºe budou spí²e zpracovávána strojov neº dotazována lov kem. XML text je dobrým p íkladem semstrukturovaných dat. Ozna kovaná data se tedy vym ují mez aplkacem a dokonce exstují poºadavky, aby byla vhodným zp sobem transformovatelná. Moºná do jných XML dat a nebo k prezentac v uºvatelských výstupech nebo na webových stránkách. V obou p ípadech je ob as nutné XML data ukládat do n jakého repoztá e nebo dokonce databáze. To umoº uje jejch sostkovan j²í management, a to nejen pro dotazování, ale pro aktualzac. Jako databáze m ºe být pouºt n jaký dostupný systém ízení bází dat (S BD) (pro datov orentovaná XML data), ale specální databáze, kterým se íká natvní. Tyto databáze jsou zaloºeny na mplementac ²té na míru XML dat m a jejch zpracování. Nep íl² zajímavá je moºnost chápat XML data pouze jako text. Pak lze pouºít pouze prost edky pro prác s textovým daty umoº ující ndexac, vyhledávání podle klí ových slov apod. Podívejme se nyní na XML z hledska nového databázového modelu. P blº²ím zkoumání zna kování v XML uvdíme, ºe správn se zna ky do sebe zahnz ují herarchckým zp sobem. Tedy XML lze dob e pouºít pro reprezentac dat, která jsou p rozen herarchcká a vyºadují navíc jsté uspo ádání. To napl uje deu roz²í t stávající moºnost databázového zpracování tam, kde byly rela ní databáze nepouºtelné nebo byly pouºtelné jen velm obtíºn. P pome me v této souvslost obtíºn vyjád telné dotazy nad stromovým strukturam v SQL, nap. sou ástek a jejch díl. Jakmle XML pronklo do sv ta databází, bylo nutné vytvo t jazyky pro vyjád ení schématu XML databáze ( kdyº XML databáze m ºe exstovat bez takového schématu). Objevly se dotazovací jazyky a dal²í jazyky pro prác s XML daty. Lze jº tedy hovo t o technolog XML. Knha by m la tená m p blíºt základy technologe XML. Jejím cílem není podat podrobný pops formátu XML. V textu jsou zd razn ny zejména základní my²lenky souvsející s XML, je nastín n datový model XML a moºnost dence struktury XML dokument jazyky DTD a XML Schema. Knha se dále zabývá nástroj, jako jsou jazyk XPath, dotazovací jazyk XQuery a transforma ní nástroj XSLT. Zvlá²tní d raz je kladen na základy databází orentovaných na XML, smyslem je ukázat, jak ukládat XML data do databáze, jak je zpracovávat databázovým zp sobem a jak se k novému trendu staví sou asné standardy. Ze standard jmenujme zejména d leºtá doporu ení konsorca W3C 1, zvlá²t pak jeho pracovní skupny XML Query WG, ale také aktvty tým rozvíjejících pod ISO a ANSI rela ní jazyk SQL. Dal²í významnou pr myslovou ncatvou je XML:DB 2, která se zabývá hlavn návrhem API k XML databázím. Prncpy jazyka XML jsou uvedeny v kaptole 1. Zahrnují syntax jazyka a jeden z moºných model XML dat Infoset, dále pak aplka ní rozhraní SAX, StAX a DOM umoº ující snaz²í prác s XML daty. V kaptole je také popsán prost edek pro denc struktury XML dokument jazyk DTD. Kaptola 2 je v nována podstatn sloºt j²ímu prost edku, neº je DTD, jazyku XML Schema (v aktuální verz 1.0), který slouºí podobnému ú elu, ov²em na mnohem vy²²í úrovn a s podstatn v t²ím moºnostm. V kaptole 3 vysv tlujeme základy t í d leºtých jazyk XML technologe. První z nch XPath (ve verz 1.0) je p íkladem jednoduchého dotazovacího jazyka nad XML daty, XPonter umoº uje odkazování mez XML dokumenty a XLnk zobec uje vazby mez webovým místy do prost edí, kde jsou místo HTML stránek XML dokumenty. Výklad pokro lých rys jazyka XML Schema je obsaºen kaptole 4. Jazyk transformací XSLT, dal²í z rodny XML jazyk, je popsán v kaptole 5. Vyvrcholení výkladu o XML p edstavuje z ejm kaptola 6, v novaná jazyku XQuery. Tento jazyk, jehoº sou ástí je mmo jné jazyk XPath 2.0, p edstavuje zatím nejv t²í o í²ek v technolog XML, nejv t²í výzkumné úslí dosaºené v jejím vývoj, zvlá²t pak z hledska efektvní mplementace jazyka. Následující rozsáhlá kaptola 7 1 http://www.w3.org/ 2 http://www.xmldb.org/ 12 XML technologe

se v nuje XML databázím. Rozebírají se v ní tzv. natvní XML databáze a ukládání XML dat v rela ní databáz. Aktuální je také ntegrace XML dat a rela ních dat podle standardu SQL/XML. Dal²í kaptoly se zabývají tématy, která v dostupné lteratu e zatím nebývají p íl² prezentována. Kaptola 8 pojednává o kompres XML dat. Je z ejmé, ºe jde o d leºtou oblast technologe XML, která p spívá k efektvnost provozu XML dat, jak p p enosech, tak p dotazování. Konceptuální modelování XML dat je p edm tem kaptoly 9. Toto téma je dnes zvlá² aktuální v souvslost s aplkacem orentovaným na webové sluºby. Poslední kaptola 10 je zam ena na praktcké vyuºtí XML a jeho podporu v exstujících rela ních S BD. Následuje rejst ík umoº ující rychlej²í orentac v textu a seznam obsahující uºte né odkazy na dal²í relevantní lteraturu. Úvod 13

Kaptola 1 Prncpy formátu XML Formát XML denovalo konsorcum W3C jako formát pro p enos obecných dokument a dat. XML je zkratka pro extensble Markup Language, tj. roz² telný zna kovací jazyk [47]. Návrh XML vychází ze star²ího a obecn j²ího standardu SGML (Standard Generalzed Markup Language ISO 8879:1986 [2]). Poznamenejme, ºe ze standardu SGML vycházel formát dokument HTML (Hyper-Text Markup Language [116]). Sada zna ek formátu HTML je pevná a slouºí k vyjád ení prezenta ní podoby dokumentu. Naprot tomu v XML sada zna ek pevná není, ale m ºe být denována pro r zné sady dokument r zn. Dence sady zna ek m ºe být sou ástí dence XML dokumentu, m ºe být speckována odkazem, nebo m ºe být dohodnuta p edem. Zna ky mají tvar obecných závorek, nap.: <podps>josef</podps> Zna ky slouºí k ozna ení ur tých prvk ( ástí) dokumentu. Zna ky mají otevírací závorku (start-tag), nap. <podps>, a zavírací závorku (end-tag), nap. </podps>. Pokud je text mez závorkam prázdný, lze dvojc otevírací a zavírací závorky nahradt prázdným elementem (empty-element), v na²em p ípad nap. <podps/>. Obr. 1.1 P íklad neozna kované a ozna kované zprávy Uvaºme nap. hypotetckou zprávu na obrázku 1.1. Vyzna íme-l v této zpráv závorkam podps odesílatele, bude takový dokument lépe uchoptelný a bude jej moºno zpracovat programem. V XML m ºeme navíc stanovt, ºe dokument typu zpráva musí obsahovat adresu, oslovení, text, podps a dodatek. Tento poºadavek zapí²eme nap. pomocí nástroje DTD (Document Type Denton) následovn : Prncpy formátu XML 15

<!ELEMENT zpráva (adresa, oslovení, text, podps, dodatek)> Vlastní obsah kaºdé zprávy pak musí mít odpovídající tvar, nap.: <zpráva> <adresa>jan Ámos</adresa> <oslovení>ahoj!</oslovení> <text>pozdrav z í²e dv!</text> <podps>alenka</podps> <dodatek>nap²te m!</dodatek> </zpráva> Pomocí zna ek XML vyzna íme syntaktckou strukturu dokumentu. Sémantka zna ek an význam jejch obsahu nejsou pomocí XML denovány. Nap. pro vý²e zmín nou zprávu nevíme, co obsah zprávy znamená, nevíme, jak zprávu zpracovat to je v cí aplkací, které s dokumentem manpulují. Význam XML spo ívá v tom, ºe struktura dokumentu je známa, lze j kontrolovat a zpracovat obecným nástroj. Lbovolná aplkace s m ºe strukturu dokumentu zjstt a dle této struktury jej zpracovat nap. zjstt, kdo zprávu podepsal. Pot eba nezávslého formátu pro reprezentac a p enos obecných dokument je nesporná. Tato kaptola p edstavuje úvod, ve kterém bude popsán podrobn j formát XML. V následujících kaptolách se budeme zabývat nástroj, které tvo í rodnu XML formát a p edstavují základ technologe XML. 1.1 Formát XML XML je formát pro reprezentac a p enos obecných dokument. P návrhu XML se auto [47] z konsorca W3C ídl následujícím prncpy: formát XML musí být pouºtelný v rámc nternetu, formát XML by m l podporovat ²rokou ²kálu aplkací, formát XML musí být kompatblní s formátem SGML, musí být snadné vytvá et programy, které manpulují s dokumenty v XML, mnoºství varant XML by m lo být mnmální nejlépe ºádné a XML dokumenty by m ly být telné a pochoptelné pro lov ka. Na základ t chto prncp navrhl denc XML, která zahrnuje dv ást: denc, co to je XML dokument, denc program, které zpracovávají XML dokumenty XML procesor. 1.2 XML dokument XML dokument je ur tým zp sobem uspo ádaná posloupnost znak jsté abecedy. Implctn se p edpokládá Uncode kód ISO/IEC 10646 [3]. Na rozdíl od formátu HTML rozl²uje XML d sledn malá a velká písmena. Následující konstrukce proto není dob e vytvo ený XML dokument, nebo otevírací a zavírací závorka se l²í: 16 XML technologe

<Podps>... </podps> P pome me, ºe procesory HTML p pou²t jí obvykle voln j²í syntax. Koncové závorky lze asto vynechat, ve zna kách se nerozl²ují malá a velká písmena, prohlíºe obvykle zobrazí ne zcela korektní dokument, nap.: <HTML> <body>pozdrav z í²e dv!</body> </html> Zna ky XML mohou vyuºívat národní abecedu, obecn v²ak tento zp sob zna ení nelze doporu t, nebo ur té problémy m ºe zp sobt nap. r zné kódování e²tny apod. Následující ukázka lustruje pouºtí lokální abecedy ve zna kách: podle dence je to správn vytvo ený dokument, nemusí v²ak být vºdy dob e zpracován. <?xml verson="1.0" encodng="utf-8"?> <zpráva> <podps>alenka</podps> </zpráva> Fyzcky se XML dokument skládá z posloupnost prvk nazývaných entty. Fyzcká entta je²t není logcký element dokumentu. Z hledska procesoru XML m ºe kaºdá fyzcká entta obsahovat bu rozpoznatelná data, nebo nerozpoznatelná data. Nerozpoznatelná data mohou být textová nebo bnární, která se bu procesoru nepoda í nterpretovat jako znaky, nebo se jedná o data pro jnou aplkac. Rozpoznatelná data jsou sestavena ze znak zvolené abecedy a p edstavují bu znaková data nebo zna ky (markups). Zna ky vyzna ují logckou strukturu dokumentu a tím jeho rozloºení (layout). Dokument za íná enttou nazývanou ko en (root entty). Logcky se XML dokument skládá z prologu, deklarací, element, komentá a nstrukcí pro zpracování jným aplkacem. Logcké elementy jsou v dokumentu vyzna eny zna kam. Sada zna ek je obecn lbovolná, m ºe být ale p edepsána deklaracem. Deklarace nejsou povnné, pokud ale chceme strukturu dokumentu kontrolovat, musíme j deklaracem p edepsat. XML dokument je dob e vytvo en, pokud v²echny rozpoznatelné entty v dokumentu jsou správn vytvo eny a navíc, v²echny rozpoznatelné entty, na které exstují v dokumentu odkazy, jsou rovn º dob e vytvo eny. Kaºdá dvojce závorek musí být korektn spárována v rámc elementu a tyto dvojce musí být dob e vno eny do sebe závorky se nesmí k íºt. Z toho plyne, ºe dob e vytvo ený XML dokument má stromovou strukturu. Uvaºme jako p íklad jednoduchou faxovou zprávu: <?xml verson="1.0" encodng="utf-8"?> <fax> <odesílatel> <jméno>jan Ámos</jméno> < íslo>333 333 333</ íslo> </odesílatel> <adresát> <jméno>karel Hynek</jméno> < íslo>666 666 666</ íslo> </adresát> Prncpy formátu XML 17

<text>... </text> * </fax> XML poskytuje moºnost dence pouºtelné sady zna ek, denc logcké struktury a rozloºení dokumentu XML schéma dokumentu. Jednoduchým nástrojem na denc je dence typu dokumentu DTD (Document Type Denton). Nov j²ím a mocn j²ím prost edkem je jazyk XML Schema [122, 38], který bude probrán v kaptolách 2 a 4, kde budou zmín ny jné jazyky pro denc XML schématu. Kaºdý dob e vytvo ený XML dokument pak m ºe být navíc valdní, pokud spl uje omezení správnost (valdty constrants) daná speckací XML schématu. Valdta dokumentu proto vyºaduje ov ení prot denované speckac obsahu. Rozpoznatelné entty XML dokumentu jsou sestaveny ze znak. Implctní znakovou sadou je Uncode, kaºdý XML procesor proto musí být schopen akceptovat na vstupu Uncode zakódovaný pomocí kódování UTF-8, UTF-16, p íp. UTF-16LE, UTF-16BE. Rozl²ení mez t mto dv ma kódy by m lo být moºné tak, ºe dokument v UTF-16 musí za ínat #xfeff (znak kódovaný hexadecmální hodnotou Q budeme zna t #xq). Specálním zp sobem jsou zpracovány znaky mezera (#x20), tabulátor (#x9), nový ádek (#xa LINE FEED) a p echod na za átek ádku (#xd CARRIAGE RETURN), tj. bílé znaky (whte spaces). V na²í lokalt se pro komunkac se sv tem asto pouºívá UTF-8, který je kompatblní s kódem ASCII v tom smyslu, ºe obsahuje v²echny znaky ASCII a dal²í znaky jsou kódovány pomocí 24 byt. Uncode obsahuje v²echny znaky v²ech abeced. Pro e²tnu lze také pouºít kódování ISO-8859-2 nebo Wndows-1250, není v²ak jsté, zda toto kódování bude um t kaºdý XML procesor zpracovat. XML procesor je modul, který umí íst XML dokumenty a zp ístup uje jejch prvky aplkacím. XML procesor kontroluje, zda je dokument dob e vytvo en (well-formed). Poru²ení t chto pravdel p edstavuje fatální chybu, kterou musí XML procesor detekovat a hlást aplkac. Po detekc fatální chyby m ºe XML procesor poskytovat dal²í data aplkac, ale nesmí pokra ovat v normálním zpracování. XML procesor m ºe být valdující pak umí kontrolovat, zda je vstupní XML dokument valdní (vald) vzhledem k zadané speckac struktury. Valdující XML procesor musí navíc hlást neshodu s deklarovanou strukturou XML dokumentu. 1.2.1 Elementy a atrbuty XML dokument obsahuje jeden nebo více element, vymezených závorkam. Kaºdý element je dentkován jménem, které je uvedeno v závorkách omezujících element, nap. element osoba. Pokud element není prázdný, tvo í jeho obsah entty uzav ené mez otevírací a uzavírací závorkou. <osoba> Text tvo ící obsah elementu typu osoba. </osoba> Obsahem elementu m ºe být lbovolná posloupnost znakových dat, jných vno ených element, referencí (odkaz ) na jné entty, sekcí CDATA, nstrukcí pro zpracování jnou aplkací nebo komentá. Jednotlvé sloºky jsou popsány dále. Elementy mohou mít atrbuty, kterým jsou blíºe charakterzovány. Atrbuty se vkládají do otevírací závorky elementu ve form parametr zadaných pomocí klí ových slov. Kaºdá speckace atrbutu má jméno a hodnotu zapsuje se jako dvojce jméno="hodnota". Hodnota atrbutu musí být vºdy uvedena v uvozovkách nebo apostrofech. Formáln vzato se vºdy jedná o et zec znak, by je moºné j nterpretovat nap. jako celé íslo. Jº zmín nou faxovou zprávu m ºeme pomocí atrbut vyjád t nap. následovn : 18 XML technologe

<fax> <odesílatel jméno="jan Ámos" íslo="333 333 333">... </odesílatel> <adresát jméno="karel Hynek" íslo="666 666 666">... </adresát> <text>... </text> </fax> 1.2.2 Prázdný element Prázdné elementy nemají ºádný obsah. Slouºí pro vyzna ení místa v dokumentu, nap. vyzna ení místa, kam se pozd j doplní n jaký prvek. Prázdný element m ºe mít atrbuty, které popsují jeho vlastnost nap. to m ºe být odkaz na objekt, který se má do daného místa vloºt. R zné formy zápsu prázdného elementu ukazují následující p íklady, kde první element ozna uje vloºený obrázek, zatímco druhý a t etí jsou alternatvní zápsy prázdného elementu vyzna ujícího místo, kam se má vloºt odd lovací ára (break). <IMG algn="left" src="http://www.w3.org/icons/w3c_home"/> <br></br> <br/> 1.2.3 Komentá e Komentá e se v XML dokumentu mohou vyskytovat kdekolv, ale nemohou být umíst ny ve zna kách. Mají své specální závorky <!- a ->, aby se daly odl²t od vlastního obsahu dokumentu. Komentá e se nemohou vno ovat. V komentá se nesmí vyskytovat et zec - (double-hyphen), nebo ten se pouºívá v komentá ových závorkách podle syntaxe: <!- Já jsem p íklad komentá e -> XML procesor m ºe umoºnt aplkac íst text komentá (obsah komentá ). Zna ky uvedené v t le komentá e se ov²em nterpretují jako komentá, nkolv jako ozna ení elementu. Ve následujícím komentá se proto text <p íklad> nenterpretuje jako otevírací závorka elementu p íklad, ale jako sou ást textu komentá e. <!- Zde bude uvedena defnce elementu <p íklad> -> 1.2.4 Instrukce pro zpracování Dence XML dokumentu umoº uje, aby dokument obsahoval nstrukce, které mají být zpracovány jstou aplkací. Myslí se tím nstrukce pro zpracování jnou aplkací, neº je XML procesor. Takové ást se íká sekce nstrukcí (Processng Instructons PI) a pouºívají se pro n specální závorky se znakem `?'. Instrukce obsahuje náv ²tí (PITarget), kterým je dentkována aplkace, pro nº je ur ena. Z pochoptelných d vod to nesmí být jakákolv varanta et zce XML (ºádná kombnace malých a velkých písmen). Za náv ²tím m ºe být bílý znak a poté následuje text, který p edstavuje data pro danou aplkac. Následující nstrukce je nap. ur ena pro aplkac xql: Prncpy formátu XML 19

<?xql data pro jnou aplkac?> Obsah sekce nstrukcí není chápán jako sou ást XML dokumentu, je pouze p edán ke zpracování dané aplkac. Nap. p pojení stylu k dokumentu dosáhneme nstrukcí: <?xml-stylesheet href="styl.css" type="text/css"?> 1.2.5 Sekce CDATA N kdy pot ebujeme do dokumentu vloºt blok textu, který by mohl být povaºován za zna ku. Pokud tomu chceme zamezt, pouºjeme specální sekc typu znaková data CDATA (Character DATA), která slouºí k ozna ení takových míst. Uvedeme-l v dokumentu text: <pozdrav>ahoj!</pozdrav> bude chápán jako element pozdrav s obsahem Ahoj!. Chceme-l, aby pozdrav v závorkách nebyl chápán jako zna ka, ale aby byl jako text sou ástí obsahu elementu, musíme pouºít konstrukc: <pozdrav>ahoj!</pozdrav> Pomocí sekce CDATA to zapí²eme snadn j jako: <![CDATA[ <pozdrav>ahoj!</pozdrav> ]]> Obecn má sekce CDATA tvar: <![CDATA[ text ]]> et zec ]]> se v t le sekce CDATA pochopteln nesmí vyskytovat. 1.3 Dence struktury dokumentu pomocí DTD Kaºdý dob e vytvo ený XML dokument musí za ínat prologem, za kterým následuje ko enový element dokumentu. Prologem se stanoví verze XML, kódování dokumentu a p ípadn poºadavky na strukturu dokumentu. V sou asnost jsou p ípustné verze 1.0 a 1.1, které se l²í zejména tím, ºe verze 1.1 respektuje zm ny v kódování Uncode a umoº uje voln j²í nterpretac jmen. Kaºdý XML dokument obsahuje jeden více element. Vºdy ov²em obsahuje práv jeden ko enový element, jehoº ºádná ást není obsaºena v ºádném jném elementu. Sou ástí dokumentu m ºe být d íve zmín ná sada komentá a nstrukcí pro jné aplkace. Prolog XML dokumentu za íná deklarací verze XML. Deklarace verze dokumentu má tvar, který p pomíná nstrukc pro aplkac xml: 20 XML technologe