XML terminologie a charakteristiky. Roman Malo



Podobné dokumenty
Základy XML struktura dokumentu (včetně testových otázek)

Syntaxe XML XML teorie a praxe značkovacích jazyků (4IZ238)

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML.

Jazyky pro popis dat

Správnost XML dokumentu

Obsah prezentace. Co je to XML? Vlastnosti. Validita

Předmluva k druhému vydání 13. Úvod 17. ČÁST 2 Vytváření dokumentů XML 65

APLIKACE XML PRO INTERNET

Distanční opora předmětu: Databázové systémy Tématický blok č. 4: XML, DTD, XML v SQL Autor: RNDr. Jan Lánský, Ph.D.

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT

Úvod do databázových systémů B

Jazyk XSL XPath XPath XML. Jazyk XSL - rychlá transformace dokumentů. PhDr. Milan Novák, Ph.D. KIN PF JU České Budějovice. 9.

Vývoj Internetových Aplikací

XML. Aleš Keprt

Analýza dat a modelování. Speciální struktury

XML a DTD. <!DOCTYPE kořenový_element [deklarace definující vlastnosti jednotlivých elementů a atributů]> externí deklarace:

(X)HTML-TAGY. VOŠ a SŠT Česká Třebová

Jiří Bulíček Tvorba Internetových aplikací v jazyce XML

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Uspořádání klient-server. Standardy pro Web

Rozhraní pro práci s XML dokumenty. Roman Malo

Tvorba WWW stránek. Mojmír Volf

HTML Hypertext Markup Language

SCHÉMOVÉ JAZYKY. Přednáška z předmětu KMA/POK. Otakar ČERBA Západočeská univerzita v Plzni

PRG036 Technologie XML

Návrh technických pravidel pro tvorbu SIP

Výměnný formát XML DTM DMVS PK

Tvorba jednoduchých WWW stránek. VŠB - Technická univerzita Ostrava Katedra informatiky

XML snadno a rychle Martin Kuba, ÚVT MU

l Kontakt s klientem SSP Popis automatizované komunikace s ÚP ČR v součinnosti a exekuci

Další XML technologie

Co nás čeká při skartačním řízení? Připravte se na změny balíčku SIP

HTML - Úvod. Zpracoval: Petr Lasák

Funkcionální programování. Kristýna Kaslová

Ukazka knihy z internetoveho knihkupectvi

EXTRAKT z české technické normy

Prezentace XML. XML popisuje strukturu dat, neřeší vzhled definice vzhledu:

NSWI096 - INTERNET. Úvod do HTML

Programovací jazyk Pascal

Systém elektronického rádce v životních situacích portálu

Alena Malovaná, MAL305

X L M L v v Of O f f i f ce XML OBECNĚ VBA pro Excel Petr Blaha XML v MS Office Michal Theodor

Validace souborů DS3

XML jako prostředek pro citování informačních zdrojů

Mgr. Vlastislav Kučera přednáška č. 1

pracuje na principu Požavek/Odpověď (request/response) výhodou je jednoduchost a teoretická možnost přenášet objekty jakéhokoliv druhu

Lehký úvod do XML. Vysoká škola ekonomická v Praze. <jirka@kosek.cz> Web:

Kaskádové styly (CSS)

Základy WWW publikování

Jemný úvod do spracovania XML

Tvorba informačních systémů

Knihovna XmlLib TXV první vydání prosinec 2010 změny vyhrazeny

Telemetrický komunikační protokol JETI

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Tvorba webových stránek

Značkovací jazyky a spol. HTML/XHTML XML JSON YAML Markdown, Texy!

Návrh pravidel pro validaci SIP Obsah

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

(X)HTML, CSS a jquery

TÉMATICKÝ OKRUH Softwarové inženýrství

Algoritmizace a programování

XML Š ABLONY A JEJICH INTEGRACE V LCMS XML TEMPLATES AND THEIN INTEGRATION IN LCMS

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

Problematika disertační práce a současný stav řešení. Počítače se mýlí mnohem přesněji.

Knihovna XmlLib TXV druhé vydání říjen 2012 změny vyhrazeny

MANUÁLNÍ TVORBA NÁMĚTOVÉ MAPY V SYNTAXI XTM

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 5 VY 32 INOVACE

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

XFORMS JAKO NÁHRADA WEBOVÝCH FORMULÁŘŮ XFORMS - WEB FORMS SUCCESSOR

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

Tvorba informačních systémů

CSS Stylování stránek. Zpracoval: Petr Lasák

PHP a XML. Stručný obsah

Vstupní data pro program Deformace ve formátu XML

EXTRAKT z české technické normy

Inovace výuky prostřednictvím šablon pro SŠ

Logický datový model VF XML DTM DMVS

HTML - pokračování. Co už víme?

Lidé komunikují prostřednictvím dokumentů připravovaných elektronicky.

PRG036 Technologie XML

Kartografická webová aplikace. Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

RDF serializace Turtle

Název atributu Popis Dat. typ Délka Povinnost Kontroly Element Hodnota Sekce na Pole na formuláři/

VDA4983 (EDIFACT Global INVOIC D.07A + příloha)

Principy XQuery. funkcionální jazyk vše je výraz, jehož vyhodnocením vznikne určitá hodnota základní typy stejné jako v XML Schema:

ČESKÁ TECHNICKÁ NORMA

Mgr. Vlastislav Kučera přednáška č. 1

EXTRAKT z mezinárodní normy

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Souborové systémy a logická struktura dat (principy, porovnání, příklady).

Na tomto místě bude oficiální zadání vaší práce

Analýza podkladů pro návrh datového VF XML DTM DMVS

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Transkript:

XML terminologie a charakteristiky Roman Malo

XML extensible Markup Language (rozšiřitelný značkovací jazyk) Verze 1.0, 1.1 http://www.w3.org/xml Rozdíly v podpoře různých znakových sad a práci s řídícími znaky Metajazyk nejsou definovány konkrétní značky XML aplikace 2

XML značkování XML je meta-značkovací jazyk pro textové dokumenty, nedefinuje tedy pevně danou množinu značek Je možné definovat si vlastní elementy, tak jak je potřeba flexibilita, rozšiřitelnost Všechny dokumenty však musí odpovídat striktní gramatice určující umístění značek, dovolené názvy, atributy well-formed dokumenty XML je case-sensitive! Identifikátory mohou obsahovat libovolné alfanumerické znaky, podtržítka, pomlčky, tečky i znaky různých abeced XML aplikace 3

Ukázka XML dat XML aplikace 4

XML aplikace Při práci s XML je vždy použita XML aplikace XML aplikace představuje konkrétní množinu značek a pravidel jejich použití XML aplikace je instancí XML Jednotlivé skupiny či instituce se mohou dohodnout na jednotné sadě značek, čímž vznikají de-facto standardy (XSLT, SMIL, SVG, ebxml, ) XML aplikace 5

XML dokument XML dokument je obecné označení pro fyzický zdroj (textový soubor, datový proud) XML dat V rámci dokumentu je uveden především obsah a příslušné značky, které jej logicky člení na elementy Další součásti XML dokumentu deklarace xml dokumentu hlavička deklarace typu dokumentu entitní reference komentáře procesní instrukce sekce CDATA XML aplikace 6

Logická struktura XML Na XML data lze nahlížet jako na strom (XML strom) Jednotlivé části stromu jsou tvořeny elementy a případně dalšími součástmi XML dat Vztahy mezi prvky vycházejí z terminologie rodokmenů (předek, rodič, sourozenec, dítě, potomek (následník)) Podle počtu potomků rozeznáváme hrubou a jemnou granularitu (zrnitost) elementů Hierarchie mohou být rekurzivní XML aplikace 7

Schéma elementu Element <jméno_značky atribut="hodnota"> obsah </jméno_značky> počáteční značka koncová značka XML aplikace 8

XML názvy Musí začínat na písmeno nebo znak "_" Dalšími povolenými znaky jsou čísla, pomlčky nebo tečky Neměl by obsahovat dvojtečku, ta se používá pro jmenné prostory Je doporučeno nezačínat prefixem "xml" Obecně je možné použít libovolné znaky ze znakové sady UNICODE Rozeznává se velikost písmen XML aplikace 9

UNICODE Standardizovaná znaková sada zahrnující většinu znaků různých abeced Unicode Consortium, rozšíření ISO 10646 Od verze 2.0 zpětně kompatibilní (dnes verze 5.0) Znak UNICODE může být 31 bitů (původně jen 16) dlouhý (2 31 = 2147483648) Nutné použití některého kódování (např. UTF-8) XML aplikace 10

UTF-8 UCS Transformation Format způsob kódování UNICODE znaků UTF-8 používá sekvence bajtů (UTF-16, UTF-32) Pro české znaky postačuje max. 2B Pro vícebajtové znaky se používá big endian zápis Byte Order Mark (BOM) nedělitelná mezera nulové šířky (U+FEFF), v UTF-8 reprezentován trojicí bajtů 0xEF 0xBB 0xBF BOM se používá k rozpoznání kódování dat Viz např. http://cs.wikipedia.org/wiki/utf-8 XML aplikace 11

Obsah elementu Elementy <osoba> <jmeno>roman</jmeno> <prijmeni>malo</prijmeni> </osoba> Znaková data <osoba>roman Malo</osoba> Smíšený obsah <odstavec> <pojem>xml</pojem>je značkovací </odstavec> Prázdný element <cara /> nebo <cara></cara> XML aplikace 12

Kořenový element Právě jeden element je předkem pro všechny ostatní elementy kořenový element Správně zapsaná XML data <osoba uid= 1446 > <jmeno>roman</jmeno> <prijmeni>malo</prijmeni> </osoba> Chybějící kořenový element chyba <uid>1446</uid> <jmeno>roman</jmeno> <prijmeni>malo</prijmeni> XML aplikace 13

XML hlavička XML hlavička je deklarací XML dokumentu Je-li hlavička dokumentu uváděna, pak se musí vyskytnout na úplném začátku dokumentu, nesmí se před ní vyskytnou žádné jiné (ani bílé) znaky Hlavička je nepovinná (jen v případě použití UTF-8 apod.) <?xml version="1.0" encoding="iso-8859-2" standalone="no"?> Atributy: version verze xml encoding kódování dokumentu standalone povinnost číst definice z externí podmnožiny DTD XML aplikace 14

Deklarace typu dokumentu DTD definice typu dokumentu, obsahuje pravidla zápisu XML dat a definici entit Deklarace typu dokumentu obsahuje DTD (interní podmnožinu) nebo odkaz na DTD (externí podmnožinu) Uvádí se před kořenovým elementem <!DOCTYPE nazev_koren_elementu [interní podmnožina DTD]> <!DOCTYPE nazev_koren_elementu SYSTEM "URI externí podmnožiny"> XML aplikace 15

Předdefinované entity Stejně jako v jiných jazycích i v XML jsou určité znaky vyhrazeny pro určitý účel zápis značek XML specifikace definuje pět interních znakových entit < znamená levou špičatou závorku < > pravou špičatou závorku > & ampersand & &apos; apostrof " uvozovku XML aplikace 16

Znakové entity, entitní reference Každý znak lze zapsat pomocí znakové entity Zápis je možné provést více způsoby názvem < (názvy musí být definovány) desítkově < hexadecimálně < Specifikace XML umožňuje použití i dalších entit (textové, binární), nutná definice v části DTD XML aplikace 17

Fyzická struktura XML dokumentu XML dokument může být pomocí entit rozčleněn na dílčí části Základní entitou je entita dokumentu document entity (existuje vždy) Při zpracování XML dokumentu je nejprve třeba sestavit kompletní XML dokument (nahradit entity obsahem) manažer entit Každá entita je určena svým URI Existují dva základní typy fyzických entit entity analyzované (parsed entities) entity neanalyzované (unparsed entities) XML aplikace 18

Komentáře Komentáře umožňují do textu vkládání libovolných informací, které nejsou přímo obsahem dokumentu Většinou se jedná o poznámky autora dokumentu, případně může jít o programové vsuvky Komentáře jsou XML parserem ignorovány Komentář nemůže být součástí značek nebo hodnot atributů <!--Správně utvořený komentář --> XML aplikace 19

Procesní instrukce PI nejsou součástí XML dat, obsahují instrukce pro software zpracovávající dané data <?cilpi instrukcepi?> Aplikace se orientuje dle cíle PI a zpracovává instrukce PI Obsahem PI jsou znaky platné v XML Používají se například pro propojení XML se styly <?xml-stylesheet href="styl.css" type="text/css"?> XML aplikace 20

CDATA sekce Sekce CDATA oznamuje XML procesoru, aby ignoroval všechny značky obsažené v sekci jednotlivé značky jsou chápány v roli normálního textu Podobné informace by bylo možné zapisovat i pomocí znakových entit <skriptik jazyk="javascript"> <![CDATA[ for (i=0; i < 10; $++) document.writeln("<p>jak to jde?</p>"); } ]]> </skriptik> XML aplikace 21

Prolog XML Prologem je rozuměna část, které předchází kořenovému elementu Součástí prologu může být hlavička, komentář, procesní instrukce či deklarace typu dokumentu Prolog může být prázdný XML aplikace 22

XML atributy Atribut jazyku pro určení jazyku obsahu elementu Hodnotou kód dle ISO 639 případně včetně subkódu (ISO 3166) <text xml:lang="cs">hezky česky</text> Atribut zpracování bílých znaků pro definici zpracování znaků mezer, konců řádku apod. v obsahu elementu Obecně jsou bílé znaky normalizovány na jednu mezeru <mezery xml:space="preserve"> </mezery> XML aplikace 23

Základní syntaktické pravidla Každá počáteční značka má značku koncovou Elementy se nesmějí překrývat Musí existovat kořenový element Hodnoty atributů musí být uzavřeny v uvozovkách Element nesmí mít dva stejně pojmenované atributy Komentáře a instrukce nesmí být v názvu značek Ve znakových datech elementu nesmí být žádné nenahrazené entity XML aplikace 24

Dobře strukturované a validní XML Každý XML dokument, který striktně dodržuje uvedenou syntaxi (pravidla správné formulace) je dobře strukturovaný (well-formed) Pokud dokument odpovídá určitému DTD (případně jinak popsané definici struktury), pak je validní (valid) Každý validní dokument je dobře strukturovaný Dobře strukturovaný dokument nemusí být validní Pokud je dokument validní existuje k němu příslušný popis struktury (DTD, XML schéma,...)??? XML dokument nemusí být validní ani dobře strukturovaný.??? (Je to ještě XML?) XML aplikace 25

XML fragment XML fragmentem je nazývána libovolná ucelená část XML dokumentu XML fragment může být využíván samostatně, když je dobře strukturovaný XML fragment nemusí být dobře strukturovaný Fragmentů se využívá například pro sdílení XML dat mezi různými dokumenty XML aplikace 26

Procesor XML Aplikace zpřístupňující XML data Plní funkci parseru a manažeru entit Parser je syntaktický analyzátor, který rozpoznává jednotlivé části XML dat Při nalezení chyby končí zpracování dat XML specifikace rozeznává validující a nevalidující XML procesor XML aplikace 27

Modularizace Velice často bývá struktura XML velmi rozsáhlá, přičemž řada elementů z definice se v některých případech nevyužívá Proto je celý popis struktury rozdělen na logické celky moduly, ze kterých se vytvářejí profily Profily je možné efektivně využít například pro aplikace či zařízení, které určitou podmnožinu prvků daného standardu nevyužívají Každý profil je podmnožinou kompletní celé množiny povolených prvků XML aplikace 28

XML doplňující specifikace XML Base vyhodnocování relativní URL adres XML Namespaces definice logických prostorů jednotlivých elementů a atributů XML Inclusion vkládání XML dokumentů XML Information Set popis jednotlivých uzlů dokumentu Kanonizace XML vyhodnocování ekvivalence XML dokumentů XML aplikace 29

Výhody XML XML je jednoduchým, otevřeným, dostupným a nezávislým de-facto standardem XML umožňuje dokonalý popis logické struktury dokumentu XML podporuje většinu z národních znakových sad XML je snadno zpracovatelný a konvertovatelný do jiných formátů XML je univerzálním datovým formátem XML se dále rozvíjí a lze předpokládat stále silnější podporu tohoto jazyka i ze strany velkých dodavatelů SW XML aplikace 30

Děkuji za pozornost malo@pef.mendelu.cz