Web (nedávnej) sú asnosti… Jedine ný zdroj obrovského množstva dát zobrazované a spracovávané v štandarde HTML
XML
Extensible Markup Language
Ing. Roman Filkorn
Web (nedávnej) sú asnosti…
o máme? Nástroj na zobrazovanie ( ubovo ných) informácií (s množstvom necností pri práci s nimi)
Dáta strácajú: • vidite nos • manipulovate nos • obsah a význam
o by sme chceli? Nástroj na zdie anie ubovo ných informácií s požadovanými vlastnos ami
• vz ahy a štruktúru
• opisova dáta (nie ich zobrazenie) • definova význam a štruktúru • umožni jednoduché spracovanie ( lovekom aj strojom) Ing. Roman Filkorn
Ing. Roman Filkorn
Fenomén XML (Extensible Markup Language)
Príklad
Hlavná úloha: opis dát Pridaním meta-infromácie
Textová forma: zna ky (markup, tags) Metajazyk: jazyk na definovanie jazykov Definova vlastnú množinu zna iek Definova ich hierarchiu, ohrani enia a pod.
len strohá informácia - dáta a štruktúra žiadne ako zobrazi , o robi a pod.
= definícia typu dokumentu, DTD Document Type Definition Ing. Roman Filkorn
: Definícia
XML je doplnok k HTML
Ing. Roman Filkorn
: Definícia
XML odde uje dáta od zobrazenia Logické rozdelenie - dáta (XML) a ich zobrazenie (HTML)
HTML - zobrazovanie informácií
• jednoduchos a preh adnos
XML:
• manipulovate nos
popis a prenos (~ zdie anie) informácií • modularita
hardvérovo aj softvérovo nezávislý nástroj
vzor MVC: model a poh ad • znovupoužite nos
: Definícia
Ing. Roman Filkorn
: Definícia
Ing. Roman Filkorn
XML môže slúži pri uchovávaní dát
XML slúži na prenos a výmenu dát
platformová nezávislos
XML - všeobecné pravidlá formátovania a opisu dát
fyzické ukladanie dát - textové súbory, databázy, …
• softvérovo nezávislé • hardvérovo nezávislé • jednoducho spracovate né lovekom aj strojom
XML môže slúži pri zdie aní dát samopopisné dokumenty - XML a DTD
Výmena informácií - základ informa ného veku
textový, platformovo nezávislý formát
• Business To Business (B2B), vedecké aj technické dáta, …
Ing. Roman Filkorn
: Definícia
XML robí dáta použite nejšími
Ing. Roman Filkorn
: Definícia
XML - free and extensible
• jednoduché pre loveka aj stroj
odporú anie vo vlastnícve WWW Consortium (W3C)
• striktné oddelenie dát od zobrazenia • platformová nezávislos (hardvér aj softvér)
XML je metajazyk:
uchovávanie, zdie anie
• definuje pravidlá ako reprezentova dáta
• jednoduchšie spracovávanie
ako definova množinu zna iek, ktoré ur ujú význam (~interpretáciu) a hierarchiu dát
(triedenie, filtrovanie, zmena štruktúry, …)
• rôzne možnosti zobrazenia tých istých dát
HTML • jazyk rodiny XML (XHTML)
(HMTL, PDF, SVG, VRML / X3D, …)
• širší okruh odoberate ov dát
• definovaná množina zna iek a ich sémantika
(rôzne typy klientov, vyh adávacie centrály, agenty, ...)
(~ zobrazovanie) : Definícia
Ing. Roman Filkorn
: Definícia
Ing. Roman Filkorn
XML - nástroj na tvorbu nových jazykov
XML - flexibilný formát sú astnosti
definovanie množiny zna iek, hierarchie a sémantiky
potomok jednoduchosti zápisu a popularity HTML
• WML (Wireless Markup Language)
jednoduché a škálovate né využitie
• XSL (Extensible Stylesheet Language)
zamerané priamo na dáta prakticky neobmedzené možnosti nasadenia
• XSLT (XSL Transformations) • XML Schema
„XML - nástroj informa ného veku“
• XML Query • SOAP (Simple Object Access Protocol) • X3D, SVG (Scalable Vector Graphics) • … a mnohé alšie : Definícia
Ing. Roman Filkorn
XML - plán
: Definícia
Ing. Roman Filkorn
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 cvi enia…
3. as , preh ad použití
Ing. Roman Filkorn
: Základné pojmy a pravidlá
Ing. Roman Filkorn
Príklad
Základné pojmy Dokument dáta (text) + doplnkové informácie (markup, …) • hlavi ka XML • (jediný!) kore dokumentu (document root)
Element zna ka - tag • obsahujú alšie elementy alebo textové re azce
jednoduchá, samopopisná syntax
Dáta - textové re azce Ing. Roman Filkorn
: Základné pojmy a pravidlá
Ing. Roman Filkorn
: Základné pojmy
Zna ka v XML musí by ukon ená
Zna ky v XML sa rozlišujú ve kos ou znakov (case sensitive)
HTML
HTML
XML
Poznámka: výnimky? : Základné pravidlá
Ing. Roman Filkorn
XML
Poznámka: vhodné pravidlá… : Základné pravidlá
Ing. Roman Filkorn
Zna ky v XML musia by správne “hniezdené” (definujú štruktúru)
Hodnoty atribútov musia by vždy odlíšené (úvodzovky, apostrofy)
HTML
XML
HTML
Poznámka: nevinné HTML : Základné pravidlá
Ing. Roman Filkorn
“Biele” znaky sú v XML signifikantné
: Základné pravidlá
Ing. Roman Filkorn
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 ve mi jednoduchá a striktná Dokument: hlavi ka a jediný kore ový element (element môže obsahova iné elementy, atribúty, textové dáta)
Element musí by jednozna ne vyzna ený Zna ka v XML musí by ukon ená Zna ky v XML musia by správne “hniezdené” (definujú štruktúru)
Nový riadok - len LF (linefeed)
Zna ky v XML sa rozlišujú ve kos ou znakov (case sensitive)
prežitok písacích strojov a ASCII tla iarní CR/LF konvertované na LF
: Základné pravidlá
Ing. Roman Filkorn
Hodnoty atribútov musia by vždy odlíšené (“ ” , ’ ‘) “Biele” znaky sú v XML signifikantné
Ing. Roman Filkorn
XML ahák (príklad)
Viac o elementoch… základný prvok - element rozšírite ný v kontexte - vz ahoch pravidlá pre pomenovávanie Viac o atribútoch… deklarácie atribútov porovnanie elementov a atribútov Ing. Roman Filkorn
Elementy sú jednoducho rozšírite né
Ing. Roman Filkorn
Elementy a ich vz ahy
obsah elementu - textové dáta a iné elementy rozšírenie - pridanie alšieho die a a
teória grafov • kore , uzol, list • rodi , die a, súrodenec, potomok
• jednoduché pridanie do textu • principiálne neovplyvní doterajšie spracovanie
dokument XML - strom : Elementy
Ing. Roman Filkorn
: Elementy
Ing. Roman Filkorn
Obsah elementov
Pravidlá pomenovávania elementov
všetko od za iato nej po kone nú zna ku (vrátane) • jednoduchý obsah (simple content) • iba alšie elementy (element content) • zmiešaný obsah (mixed content)
• 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 ‘.’
• prázdne (empty content) skrátený zápis:
ubovo ný jazyk: ‘poznámka’, ‘onô’, … (ale pozor na platformu / softvér)
atribúty (dvojica meno - hodnota)
: Elementy
Ing. Roman Filkorn
Ing. Roman Filkorn
: Elementy
Atribúty
Elementy - zhrnutie
dvojica meno - hodnota prípustný len jeden atribút s daným menom
• širšie možnosti pomenovávania • kontext vz ahov medzi nimi (uzly stromu)
hodnota je textový re azec
• variabilný obsah (dáta, iné elementy)
nedefinovaná štruktúra (ni : deti, iarkou oddelené)
• jednoducho rozšírite né
Ing. Roman Filkorn
: Atribúty
Ing. Roman Filkorn
Atribúty
Hodnota atribútu povinne odlíšená
informácia: • dopl ujúca dáta • popisujúca dáta
musia by použité úvodzovky alebo apostrof
Ing. Roman Filkorn
: Atribúty
Atribúty vs. Elementy
Ing. Roman Filkorn
: Atribúty
Atribúty vs. Elementy (pokr.)
dáta - v elementoch a (alebo) v atribútoch
dátový návrh • reprezenácia dát • vnútorná štruktúra (komplexnos ) dát • kardinalita dát
alebo
• vz ahy medzi dátami • kardinalita vz ahov spracovanie?
… alebo ešte inak? Ing. Roman Filkorn
Ing. Roman Filkorn
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
…dodržuje syntax XML “well formed”
odporú anie: dáta - elementy, metadáta - atribúty (ID, typ, …)
Ing. Roman Filkorn
Platný XML dokument… … je “well formed” a patrí do triedy dokumentov definovaných (nejako zapísanými) pravidlami
: Pojmy
Ing. Roman Filkorn
Document Type Definition (DTD) pre elementy v dokumente definuje: • názvy • atribúty • obsah (prázdny, text, hierarchické vz ahy) norma pre SGML, neXML syntax
je “valid” vo i DTD / XML Schema / …
XML Schema rozširuje možnosti DTD (kontrola typov, …) XML dokument (definovaná sémantika, W3C) : Pojmy
Ing. Roman Filkorn
: Zhrnutie základov
Ing. Roman Filkorn
Spracovanie XML dokumentov
Vytvorenie XML dokumentu
lovek
bežná textová editácia
• vytvorenie dokumentu • zobrazenie
Notepad, Ultraedit, …
• odladenie (“well formed”, “valid”)
editory s podporou XML
stroj • parser
XEddy, Xeena, JBuilder…
• API k dokumentu
Ing. Roman Filkorn
Zobrazenie XML dokumentu
: Spracovanie XML dokumentov
Ing. Roman Filkorn
Odladenie XML dokumentu
zlepšujúca sa podpora v sú asných (HTML) prehliada och
XML - po syntaktickej chybe nespracováva HTML - samooprava chyby (= nekompatibilita)
MS Internet Explorer 5.0
MS IE 5.0 - ohlásenie chyby
zobrazenie štruktúr (+, -)
pravdepodobné miesto a prí ina
v budúcnosti podpora DTD, XSL neformátované zobrazenie vlastné zna ky => neznáma sémantika
: Spracovanie XML dokumentov
Ing. Roman Filkorn
: Spracovanie XML dokumentov
Ing. Roman Filkorn
Formátovanie údajov z XML dokumentu
Strojové spracovanie
vlastné zna ky - 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
Document Object Model, DOM objektová reprezentácia stromu Simple API for XML, SAX udalosti po as spracovania prúdu znakov
(transformácia XML dokumentov) (HTML, inak štruktúrované XML, …)
: Spracovanie XML dokumentov
spracovanie textu - parser • “dekódovanie” postupnosti znakov (well formed) • poskytnutie info vyšším vrstvám • platnos oproti DTD / Schema - validátor
Ing. Roman Filkorn
Praktické ukážky a …
: Spracovanie XML dokumentov
Ing. Roman Filkorn
Technické spracovanie XML parser - spracovanie textu v XML dokumente
príklady v examples/I, pozrie v IE ukážka tvorby dokumentu XML … samostatná práca
Ing. Roman Filkorn
: Technické spracovanie
Ing. Roman Filkorn
Technické spracovanie XML (pokr.)
Nahradzovanie špeciálnych znakov
• špeciálne znaky • znakové sekvencie
entity reference - nahradzované re azce
• kódovanie (charset) • hlavi ka XML dokumentu
&meno ;
Nedátové prvky dokumentu XML • komentáre • inštrukcie (processing instructions)
: Technické spracovanie
Ing. Roman Filkorn
Znakové sekvencie - CDATA
< &
< &
> ' "
> ‘ “
: Technické spracovanie
Ing. Roman Filkorn
Kódovanie “Po íta ová Odysea” - fyzická reprezentácia znakov
neinterpretovaná as XML dokumentu
informácia v hlavi ke XML dokumentu parameter encoding
: Technické spracovanie
Ing. Roman Filkorn
: Technické spracovanie
Ing. Roman Filkorn
Kódovanie (pokr.)
Hlavi ka XML dokumentu
rôzne normy (štandardy) • ASCII, Latin I, Latin II, kód Kamenických metainformácie o XML dokumente • verzia ! v ur enom poradí • kódovanie
• ISO-8859-1, ISO-8859-2 • UTF-8, UTF-16
• standalone (yes/no)
! podpora platformy, softvéru windows-1250, Cp1250, …
vždy na za iatku dokumentu kódovanie pod a prvých znakov (default UTF) Ing. Roman Filkorn
: Technické spracovanie
Komentáre
: Hlavi ka dokumentu
Ing. Roman Filkorn
Inštrukcie (processing instructions) inštukcie pre (vyššie) aplikácie
syntakticky:
nie je sú as dát, parser musí len poskytnú
text nesmie obsahova ‘--‘ komentáre nie je možné vnára
syntax: meno nesmie za ína (nejakou) kombináciou ‘xml’
Poznámka: neinterpretovaný obsah
: Nedátové prvky XML
Ing. Roman Filkorn
: Nedátové prvky XML
Ing. Roman Filkorn
XML ahák, as 2.
Konflikt mien XML dokument dáta uložené v tabu ke
XML dokument nábytok
Ing. Roman Filkorn
Namespace - priestor mien
: Namespaces
Ing. Roman Filkorn
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 príslušnos zna ky (mena elementu) k jazyku priestor mien (namespace)
vytvorené rôzne elementy table (a alšie…) : Namespaces
Ing. Roman Filkorn
: Namespaces
Ing. Roman Filkorn
Namespace - priestor mien (pokr.)
Namespace - unikátny identifikátor
definovanie prefixu - atribút xmlns
xmlns:namespace-prefix=“namespace”
xmlns:namespace-prefix=“namespace”
namespace - mal by by URI • zaru ená unikátnos mena
platí pre potomkov elementu
• URL - aj fyzicky dokument (nie pre parser)
Ing. Roman Filkorn
: Namespaces
Namespace - zjednodušenie
: Namespaces
Ing. Roman Filkorn
Namespace - príklad
default nastavenie: <element xmlns=“namespace”>
Poznámka: kore dokumentu
: Namespaces
Ing. Roman Filkorn
: Namespaces
Ing. Roman Filkorn
akujem za pozornos
XML - zhrnutie Základné pojmy
dokument, element (zna ky), atribút
Nedátové prvky
inštrukcie, komentáre
Technické prvky
entity, CDATA
Metainformácie
hlavi ka XML dokumentu, kódovanie
Namespace
Ing. Roman Filkorn
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, …
Ing. Roman Filkorn
Ing. Roman Filkorn