Web (nedávnej) súasnosti Jedinený zdroj obrovského množstva dát zobrazované a spracovávané v štandarde HTML XML Extensible Markup Language Web (nedávnej) súasnosti Dáta strácajú: viditenos manipulovatenos obsah a význam vzahy a štruktúru o máme? Nástroj na zobrazovanie (ubovoných) informácií (s množstvom necností pri práci s nimi) o by sme chceli? Nástroj na zdieanieubovoných informácií s požadovanými vlastnosami opisova dáta (nie ich zobrazenie) definova význam a štruktúru umožni jednoduché spracovanie (lovekom aj strojom)
Fenomén XML (Extensible Markup Language) Príklad Hlavná úloha: opis dát Pridaním meta-infromácie Textová forma: znaky (markup, tags) Metajazyk: jazyk na definovanie jazykov Definova vlastnú množinu znaiek Definova ich hierarchiu, ohranienia a pod. = definícia typu dokumentu, DTD Document Type Definition len strohá informácia - dáta a štruktúra žiadne ako zobrazi, o robi a pod. XML je doplnok k HTML XML oddeuje dáta od zobrazenia HTML - zobrazovanie informácií XML: popis a prenos (~ zdieanie) informácií hardvérovo aj softvérovo nezávislý nástroj Logické rozdelenie - dáta (XML) a ich zobrazenie (HTML) jednoduchos a prehadnos manipulovatenos modularita vzor MVC: model a pohad znovupoužitenos
XML môže slúži pri uchovávaní dát platformová nezávislos fyzické ukladanie dát - textové súbory, databázy, XML môže slúži pri zdieaní dát samopopisné dokumenty - XML a DTD textový, platformovo nezávislý formát XML slúži na prenos a výmenu dát XML - všeobecné pravidlá formátovania a opisu dát softvérovo nezávislé hardvérovo nezávislé jednoducho spracovatenélovekom aj strojom Výmena informácií - základ informaného veku Business To Business (B2B), vedecké aj technické dáta, XML robí dáta použitenejšími XML - free and extensible jednoduché pre loveka aj stroj striktné oddelenie dát od zobrazenia platformová nezávislos (hardvér aj softvér) uchovávanie, zdieanie jednoduchšie spracovávanie (triedenie, filtrovanie, zmena štruktúry, ) rôzne možnosti zobrazenia tých istých dát (HMTL, PDF, SVG, VRML / X3D, ) širší okruh odoberateov dát (rôzne typy klientov, vyhadávacie centrály, agenty,...) odporúanie vo vlastnícve WWW Consortium (W3C) XML je metajazyk: definuje pravidlá ako reprezentova dáta ako definova množinu znaiek, ktoré urujú význam (~interpretáciu) a hierarchiu dát HTML jazyk rodiny XML (XHTML) definovaná množina znaiek a ich sémantika (~ zobrazovanie)
XML - nástroj na tvorbu nových jazykov definovanie množiny znaiek, hierarchie a sémantiky WML (Wireless Markup Language) XSL (Extensible Stylesheet Language) XSLT (XSL Transformations) XML Schema XML Query SOAP (Simple Object Access Protocol) X3D, SVG (Scalable Vector Graphics) a mnohéalšie XML - flexibilný formát súastnosti potomok jednoduchosti zápisu a popularity HTML jednoduché a škálovatené využitie zamerané priamo na dáta prakticky neobmedzené možnosti nasadenia XML - nástroj informaného veku XML - plán 1. as - základné pojmy a pravidlá XML 1. as, základy názvoslovie a syntax XML validácia pomocou DTD techniky spracovania dokument, tag element, atribút kontrola správnosti, platnosti 2. as, spracovanie XPath XSLT manuálne cvienia 3. as, prehad použití : Základné pojmy a pravidlá
Príklad Základné pojmy Dokument dáta (text) + doplnkové informácie (markup, ) hlavika XML (jediný!) kore dokumentu (document root) Element znaka - tag jednoduchá, samopopisná syntax obsahujúalšie elementy alebo textové reazce Dáta - textové reazce : Základné pojmy a pravidlá : Základné pojmy Znaka v XML musí by ukonená Znaky v XML sa rozlišujú vekosou znakov (case sensitive) HTML XML HTML XML Poznámka: výnimky? Poznámka: vhodné pravidlá : Základné pravidlá : Základné pravidlá
Znaky v XML musia by správne hniezdené (definujú štruktúru) Hodnoty atribútov musia by vždy odlíšené (úvodzovky, apostrofy) HTML XML Poznámka: nevinné HTML HTML : Základné pravidlá : Základné pravidlá Biele znaky sú v XML signifikantné XML ahák (základná verzia) white space - medzera, tabulátor, nový riadok súas dát (HTML pri zobrazení upravuje) Základná syntax XML je vemi jednoduchá a striktná Dokument: hlavika a jediný koreový element (element môže obsahova iné elementy, atribúty, textové dáta) Element musí by jednoznane vyznaený Znaka v XML musí by ukonená Nový riadok - len LF (linefeed) prežitok písacích strojov a ASCII tlaiarní CR/LF konvertované na LF Znaky v XML musia by správne hniezdené (definujú štruktúru) Znaky v XML sa rozlišujú vekosou znakov (case sensitive) Hodnoty atribútov musia by vždy odlíšené (, ) Biele znaky sú v XML signifikantné : Základné pravidlá
XML ahák (príklad) Viac o elementoch základný prvok - element rozšíritený v kontexte - vzahoch pravidlá pre pomenovávanie Viac o atribútoch deklarácie atribútov porovnanie elementov a atribútov Elementy sú jednoducho rozšíritené Elementy a ich vzahy obsah elementu - textové dáta a iné elementy rozšírenie - pridaniealšieho dieaa jednoduché pridanie do textu principiálne neovplyvní doterajšie spracovanie teória grafov kore, uzol, list rodi, diea, súrodenec, potomok dokument XML - strom : Elementy : Elementy
Obsah elementov všetko od zaiatonej po konenú znaku (vrátane) jednoduchý obsah (simple content) ibaalšie elementy (element content) zmiešaný obsah (mixed content) prázdne (empty content) skrátený zápis: atribúty (dvojica meno - hodnota) Pravidlá pomenovávania elementov môžu obsahova písmená, íslice, (iné znaky) musia zaína písmenom nesmú zaína písmenami xml (XML,Xml,xMl,...) nesmú obsahova biele znaky špeciálny význam má :, nepoužíva. ubovoný jazyk: poznámka, onô, (ale pozor na platformu / softvér) : Elementy : Elementy Elementy - zhrnutie širšie možnosti pomenovávania kontext vzahov medzi nimi (uzly stromu) variabilný obsah (dáta, iné elementy) jednoducho rozšíritené Atribúty dvojica meno - hodnota prípustný len jeden atribút s daným menom hodnota je textový reazec nedefinovaná štruktúra (ni: deti, iarkou oddelené) : Atribúty
Atribúty Hodnota atribútu povinne odlíšená informácia: doplujúca dáta popisujúca dáta musia by použité úvodzovky alebo apostrof : Atribúty : Atribúty Atribúty vs. Elementy Atribúty vs. Elementy (pokr.) dáta - v elementoch a (alebo) v atribútoch dátový návrh reprezenácia dát alebo vnútorná štruktúra (komplexnos) dát kardinalita dát vzahy medzi dátami kardinalita vzahov spracovanie? alebo ešte inak?
Atribúty vs. Elementy (pokr.) Správny dokument XML nevýhody atribútov: nemôžu obsahova viacero hodnôt nedajú sa v budúcnosti jednoducho rozšíri nemôžu popisova štruktúru well formed dodržuje syntax XML odporúanie: dáta - elementy, metadáta - atribúty (ID, typ, ) : Pojmy Platný XML dokument je well formed a patrí do triedy dokumentov definovaných (nejako zapísanými) pravidlami je valid voi DTD / XML Schema / Document Type Definition (DTD) pre elementy v dokumente definuje: názvy atribúty obsah (prázdny, text, hierarchické vzahy) norma pre SGML, nexml syntax XML Schema rozširuje možnosti DTD (kontrola typov, ) XML dokument (definovaná sémantika, W3C) : Pojmy : Zhrnutie základov
Spracovanie XML dokumentov Vytvorenie XML dokumentu lovek vytvorenie dokumentu zobrazenie bežná textová editácia Notepad, Ultraedit, odladenie ( well formed, valid ) stroj parser editory s podporou XML XEddy, Xeena, JBuilder API k dokumentu : Spracovanie XML dokumentov Zobrazenie XML dokumentu Odladenie XML dokumentu zlepšujúca sa podpora v súasných (HTML) prehliadaoch MS Internet Explorer 5.0 zobrazenie štruktúr (+, -) v budúcnosti podpora DTD, XSL XML - po syntaktickej chybe nespracováva HTML - samooprava chyby (= nekompatibilita) MS IE 5.0 - ohlásenie chyby pravdepodobné miesto a príina neformátované zobrazenie vlastné znaky => neznáma sémantika : Spracovanie XML dokumentov : Spracovanie XML dokumentov
Formátovanie údajov z XML dokumentu vlastné znaky - neznáma interpretácia zobrazenie - definovanie predlohy ako formátova XSL - extended Stylesheet Language dva jazyky: XSL FO - Formatting Objects (parametre zobrazenia na rôznych médiách) XSLT - Transformations (transformácia XML dokumentov) (HTML, inak štruktúrované XML, ) Strojové spracovanie spracovanie textu - parser dekódovanie postupnosti znakov (well formed) poskytnutie info vyšším vrstvám platnos oproti DTD / Schema - validátor Document Object Model, DOM objektová reprezentácia stromu Simple API for XML, SAX udalosti poas spracovania prúdu znakov : Spracovanie XML dokumentov : Spracovanie XML dokumentov Praktické ukážky a príklady v examples/i, pozrie v IE Technické spracovanie XML parser - spracovanie textu v XML dokumente ukážka tvorby dokumentu XML samostatná práca : Technické spracovanie
Technické spracovanie XML (pokr.) špeciálne znaky znakové sekvencie kódovanie (charset) hlavika XML dokumentu Nedátové prvky dokumentu XML komentáre inštrukcie (processing instructions) Nahradzovanie špeciálnych znakov entity reference - nahradzované reazce &meno ; < < & & > > ' " : Technické spracovanie : Technické spracovanie Znakové sekvencie - CDATA neinterpretovanáas XML dokumentu Kódovanie Poítaová Odysea - fyzická reprezentácia znakov <![CDATA[ubovoné znaky]]> informácia v hlavike XML dokumentu parameter encoding : Technické spracovanie : Technické spracovanie
Kódovanie (pokr.) Hlavika XML dokumentu rôzne normy (štandardy) ASCII, Latin I, Latin II, kód Kamenických ISO-8859-1, ISO-8859-2 UTF-8, UTF-16! podpora platformy, softvéru windows-1250, Cp1250, metainformácie o XML dokumente verzia! v kódovanie urenom poradí standalone (yes/no) vždy na zaiatku dokumentu kódovanie poda prvých znakov (default UTF) : Technické spracovanie : Hlavika dokumentu Komentáre syntakticky: <!--text--> text nesmie obsahova -- komentáre nie je možné vnára Inštrukcie (processing instructions) inštukcie pre (vyššie) aplikácie nie je súas dát, parser musí len poskytnú syntax: <?meno param1 param2?> meno nesmie zaína (nejakou) kombináciou xml Poznámka: neinterpretovaný obsah : Nedátové prvky XML : Nedátové prvky XML
XML ahák, as 2. Konflikt mien XML dokument dáta uložené v tabuke XML dokument nábytok : Namespaces Namespace - priestor mien Jazyk - priestor mien rozšírenie mena o prefix a : použitie XML - definovanie jazyka (syntax, sémantika) dokument s dátami z rôznych oblastí spracovanie na vyššej úrovni dokument s viacerými jazykmi rôzne mená elementov konflikt rovnakých mien vytvorené rôzne elementy table (a alšie ) príslušnos znaky (mena elementu) k jazyku - priestor mien (namespace) : Namespaces : Namespaces
Namespace - priestor mien (pokr.) Namespace - unikátny identifikátor definovanie prefixu - atribút xmlns xmlns:namespace-prefix= namespace platí pre potomkov elementu xmlns:namespace-prefix= namespace namespace - mal by by URI zaruená unikátnos mena URL - aj fyzicky dokument (nie pre parser) : Namespaces : Namespaces Namespace - zjednodušenie Namespace - príklad default nastavenie: <element xmlns= namespace > Poznámka: kore dokumentu : Namespaces : Namespaces
XML - zhrnutie akujem za pozornos Základné pojmy dokument, element (znaky), atribút Nedátové prvky inštrukcie, komentáre Technické prvky entity, CDATA Metainformácie hlavika XML dokumentu, kódovanie Namespace WWW Consortium (špecifikácie) www.w3.org OpenSource implementácia parsera (Xerces) xml.apache.org Tutoriály, materiály www.zvon.org iné www.xml.org,