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

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

XML terminologie a charakteristiky. Roman Malo

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

Další XML technologie

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

Správnost XML dokumentu

APLIKACE XML PRO INTERNET

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

Ú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.

Obsah prezentace. Co je to XML? Vlastnosti. Validita

XSLT a jmenné prostory

Ukazka knihy z internetoveho knihkupectvi

XML. Aleš Keprt

Podpora XML v.net. Podpora XML v.net. nezávislý publicista. Jirka Kosek.

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.

PHP a XML. Stručný obsah

PRG036 Technologie XML

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

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

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

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

Vstupní data pro program Deformace ve formátu XML

Tvorba WWW stránek. Mojmír Volf

Validace souborů DS3

(X)HTML, CSS a jquery

PRG036 Technologie XML

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

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

XML schémata XML teorie a praxe značkovacích jazyků (IZI238)

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

Tvorba webu. Úvod a základní principy. Martin Urza

Návrh stránek 4IZ228 tvorba webových stránek a aplikací

Kaskádové styly (CSS)

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

Programování v jazyce JavaScript

Tvorba informačních systémů

Vývoj Internetových Aplikací

Tvorba informačních systémů

XML schémata. Jiří Kosek

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

XML snadno a rychle Martin Kuba, ÚVT MU

Návrh technických pravidel pro tvorbu SIP

Ukládání a vyhledávání XML dat

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

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

Příklad buňka tabulky

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

HTML Hypertext Markup Language

Aplikace SDNS. XML struktura pro nahrání dat ze souboru. Příručka uživatele (programátora) Sekce informatiky Odbor informačních systémů. verze 1.

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:

Formát XML exportu. Existují zde však některé odlišnosti ve zpracovávání feedu, které jsou popsány níže.

Algoritmizace a programování

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

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

Základy informatiky. 03 HTML, tvorba webových stránek. Kačmařík/Szturcová/Děrgel/Rapant

Práce s textovými proměnnými v DetStudiu

Rozhraní SAX, SAX vs. SAX2. Jaroslav Ciml

Š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

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

RDF serializace Turtle

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

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

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

Základy informatiky. HTML, tvorba WWW stránek. Daniela Szturcová Část převzata z přednášky P. Děrgela

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

NSWI096 - INTERNET JavaScript

HTML - Úvod. Zpracoval: Petr Lasák

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

13. Vytváření webových stránek

Algoritmy a datové struktury

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace

Reprezentace dat v informačních systémech. Jaroslav Šmarda

Úvod do CSS. Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm. Modernizace výuky s využitím ICT, CZ.1.07/1.5.00/34.

XML schémata. Jiří Kosek

WWW a HTML. Základní pojmy. Ivo Peterka

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

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

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

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Využití XML v DB aplikacích

Mgr. Vlastislav Kučera Struktura stránky, hlavička,

NSWI096 - INTERNET. Úvod do HTML

Jemný úvod do spracovania XML

Inovace bakalářského studijního oboru Aplikovaná chemie

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

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

Java a XML. 10/26/09 1/7 Java a XML

14. Jazyk HTML (vývoj, principy, funkce, kostra stránky). Jazyk XML, XHTML. Algoritmizace - cyklus for, while a do while, implementace v jazyce

Assembler - 5.část. poslední změna této stránky: Zpět

Bloky, externí reference

DUM 06 téma: Tvorba makra pomocí VBA

Software602 Form Designer

Odvozené a strukturované typy dat

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

Základy WWW publikování

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

Základní práce v souborovém manažeru

Transkript:

XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2009/10/01 19:46:33 $

Obsah Základy syntaxe... 3 Elementy a atributy... 4 Znakový model XML... 5 Komentáře... 6 Instrukce pro zpracování... 7 Sekce CDATA... 8 Kontrola správné syntaxe XML dokumentů... 9 Entity fyzická struktura dokumentu... 10 Entity... 11 Interní textové entity... 12 Externí textové entity... 13 Externí binární entity... 14 Jmenné prostory... 15 Jmenné prostory... 16 Zkracování zápisu... 17 Pár poznámek... 18 XML Infoset... 19 XML Infoset... 20 Další informace... 21 Další informace... 22

Základy syntaxe Elementy a atributy... 4 Znakový model XML... 5 Komentáře... 6 Instrukce pro zpracování... 7 Sekce CDATA... 8 Kontrola správné syntaxe XML dokumentů... 9 (strana 3)

Elementy a atributy element, tag, počáteční tag, ukončovací tag, obsah elementu elementy se nesmí křížit tagy musí být spárované nebo má element prázdný obsah kořenový element obaluje celý dokument atribut, název atributu, hodnota atributu názvy elementů a atributů přesná definice ve specifikaci XML 1 začínají písmenem, podtržítkem nebo dvojtečkou další znaky jsou písmena, číslice, tečka, pomlčka, podtržítko, dvojtečka a některé další znaky zápis vyhrazených znaků pomocí entit (< & > &apos; ") 1 http://www.w3.org/tr/rec-xml Základy syntaxe 1 / 15 (strana 4)

Znakový model XML XML dokumenty používají znakovou sadu ISO 10646 21bitová znaková sada, v současné době je definováno přes 100 tisíc znaků zcela shodné s Unicode kódování: UTF-16 a UTF-8 UTF-16 16bitové slovo přímo obsahuje kód znaku další téměř milión znaků je dostupných pomocí surrogates 1 znak = dvě 16bitová slova UTF-8 text může být kódován jako sekvence bajtů 1 znak = 1 až 4 bajty kompatibilní s ASCII Obrázek 1. Kódování UTF-8 standard XML vyžaduje, aby všechny aplikace podporovaly alespoň UTF-8 a UTF-16 lze použít i jiné kódování, musí se uvést v XML deklaraci <?xml version="1.0" encoding="iso-8859-2"?> musí být první řádka dokumentu znak s libovolným kódem z ISO 10646 můžeme zapsat pomocí entity &#kód; (kód je číslo v desítkové soustavě) nebo &#xkód; (kód je číslo v šestnáctkové soustavě) Základy syntaxe 2 / 15 (strana 5)

Komentáře slouží pro vkládání poznámek nebo pro dočasné vyřazení části dokumentu nesmí obsahovat -- a nemohou být navzájem vnořené <!-- ukázkový komentář --> Základy syntaxe 3 / 15 (strana 6)

Instrukce pro zpracování instrukce pro zpracování = processing instructions standardní způsob pro začlenění nestandardních dat interpretace závisí na aplikaci: připojování stylu k dokumentu příkazy pro různé preprocesory poslední pozice editace, ruční zlom řádky/stránky <?xml-stylesheet href="styl.css" type="text/css"?> <datum> <?php echo Date("d.m.Y")?> </datum> <?mydtp page-break?> Základy syntaxe 4 / 15 (strana 7)

Sekce CDATA pro delší úseky dokumentu, kde nechceme interpretovat pro XML významné znaky jako '<', '&', použití: ukázky XML a HTML kódu zařazování programů přímo do XML dokumentů <výpis> <![CDATA[ Můžu použít klidně <tag> a nikomu to nevadí. Ani firmě Son & Brother. ]]> </výpis> je zcela ekvivalentní s <výpis> Můžu použít klidně <tag> a nikomu to nevadí. Ani firmě Son & Brother. </výpis> omezení CDATA sekce nesmí obsahovat ]]> Základy syntaxe 5 / 15 (strana 8)

Kontrola správné syntaxe XML dokumentů well-formed = správně strukturovaný dokument dokument splňuje základní syntaktická pravidla takový dokument by měla zpracovat každá aplikace s podporou XML lze ověřit pomocí parseru Základy syntaxe 6 / 15 (strana 9)

Entity fyzická struktura dokumentu Entity... 11 Interní textové entity... 12 Externí textové entity... 13 Externí binární entity... 14 (strana 10)

Entity jeden XML dokument může být uložen v několika souborech entity = části, ze kterých se XML dokument skládá druhy entit: interní textové entity externí textové entity externí binární entity parametrické entity (používají se pouze v DTD) deklarace entity se provádí buď v externě připojeném DTD nebo přímo uvnitř deklarace typu dokumentu: <!DOCTYPE dokument [ deklarace entit ]> <dokument>... </dokument> obecná syntaxe deklarace entity: <!ENTITY název definice> použití entity v dokumentu se provádí pomocí odkazu na entitu &název; Entity fyzická struktura dokumentu 7 / 15 (strana 11)

Interní textové entity nadefinování entity pro často používané části textu entity pro znaky, které nejsou dostupné na klávesnici rychlé a konzistentní úpravy dokumentu syntaxe: <!ENTITY název "text"> <?xml version="1.0" encoding="windows-1250"?> <!DOCTYPE manuál [ <!ENTITY program "SuperSoft 3.5"> <!ENTITY nbsp " "> ]> <manuál> <název>&program;</název> <podtitulek>uživatelská příručka</podtitulek> <kapitola> <název>úvod</název> <para>&program; je nejlepší aplikace ve své kategorii. Díky programu &program; můžete snadno vařit, prát a dokonce i leštit nábytek. Všechny funkce programu &program; se ovládají hlasovým vstupem.</para>... </kapitola> </manuál> Entity fyzická struktura dokumentu 8 / 15 (strana 12)

Externí textové entity rozdělení XML dokumentu do více souborů modularizace dokumentů, možnost opakovaného použití lepší správa, možnost editace jednoho dokumentu více uživateli najednou syntaxe: <!ENTITY název SYSTEM "URI"> <?xml version="1.0" encoding="windows-1250"?> <!DOCTYPE manuál [ <!ENTITY program "SuperSoft 3.5"> <!ENTITY kapitola1 SYSTEM "kap1.xml"> ]> <manuál> <název>&program;</název> <podtitulek>uživatelská příručka</podtitulek> &kapitola1; </manuál> ------------------------------------------------- <?xml version="1.0" encoding="windows-1250"?> <kapitola> <název>úvod</název> <para>&program; je nejlepší aplikace ve své kategorii. Díky programu &program; můžete snadno vařit, prát a dokonce i leštit nábytek. Všechny funkce programu &program; se ovládají hlasovým vstupem.</para>... </kapitola> pokud není entita v kódování UTF-8 nebo UTF-16 musí začínat deklarací kódování deklarace kódování je podobná deklaraci XML, ale atribut version je nepovinný Entity fyzická struktura dokumentu 9 / 15 (strana 13)

Externí binární entity nevkládají se přímo do dokumentu vytváříme si jméno, které označuje externí soubor název entity lze použít pouze jako hodnotu atributu speciálního typu syntaxe: <!ENTITY název SYSTEM "URI" NDATA "notace"> tato možnost byla převzata z SGML, ale prakticky se moc nepoužívá externí soubory se vkládají uvedením jejich jména přímo v nějakém atributu podobně jako např. obrázky v HTML Entity fyzická struktura dokumentu 10 / 15 (strana 14)

Jmenné prostory Jmenné prostory... 16 Zkracování zápisu... 17 Pár poznámek... 18 (strana 15)

Jmenné prostory slouží k rozlišení elementů a atributů se shodnými jmény v případech kdy by mohlo dojít ke konfliktům aplikace si vybere jen ty části dokumentu, které umí zpracovat kombinování více sad značek dohromady např.: XSLT styly (XSLT instrukce HTML kód), XHTML stránka s obrázky v SVG, jména a elementů a atributů se skládají ze dvou částí ze jmenného prostoru a z lokálního názvu jmenné prostory se identifikují pomocí URI adresy, ale nic konkrétního se na ní nevyskytuje, slouží pouze jako identifikátor pro zkrácení zápisu se při deklaraci jmenného prostoru vytvoří prefix, který jmenný prostor zastupuje: <prefix:element xmlns:prefix="http://nekde.com/neco"> </prefix:element> prefixy je možné použít i u atributů a elementů obsažených v elementu s deklarací Příklad 1. Dokument se jmennými prostory <ceník:nabídka xmlns:ceník="http://www.ecena.cz/e-cenik" xmlns:bib="http://www.book.org/bibliography"> <ceník:položka ceník:dph="22%"> <ceník:název> <bib:book> <bib:author>jiří Kosek</bib:author> <bib:title>html - tvorba dokonalých WWW stránek</bib:title> </bib:book> </ceník:název> <ceník:cena měna="czk">259</ceník:cena> </ceník:položka> </ceník:nabídka> Jmenné prostory 11 / 15 (strana 16)

Zkracování zápisu implicitní jmenné prostory (prefix je prázdný) <nabídka xmlns="http://www.ecena.cz/e-cenik" xmlns:bib="http://www.book.org/bibliography"> <položka> <název> <bib:book> <bib:author>jiří Kosek</bib:author> <bib:title>html - tvorba dokonalých WWW stránek</bib:title> </bib:book> </název> <cena měna="czk">259</cena> </položka> </nabídka> jmenné prostory se stejným prefixem se navzájem překrývají <nabídka xmlns="http://www.ecena.cz/e-cenik"> <položka> <název> <book xmlns="http://www.book.org/bibliography"> <author>jiří Kosek</author> <title>html - tvorba dokonalých WWW stránek</title> </book> </název> <cena měna="czk">259</cena> </položka> </nabídka> Jmenné prostory 12 / 15 (strana 17)

Pár poznámek prefix + lokální jméno = kvalifikované jméno (QName) atribut bez prefixu nepatří přímo do žádného jmenného prostoru: ani když je jeho element v implicitním jmenném prostoru patří tam však nepřímo, protože se vždy vztahuje k elementu, u kterého je uvedený <nabídka xmlns="http://www.ecena.cz/e-cenik"> <položka> <název>... </název> <cena měna="czk">259</cena> </položka> </nabídka> atribut měna v tomto případě nepatří do jmenného prostoru http://www.ecena.cz/e-cenik na druhou stranu patří k elementu cena, který již do daného jmenného prostoru patří specifikace jmenných prostorů doplňuje standard XML dokumenty se jmennými prostory nelze validovat oproti DTD bez toho, aby se vytvořil speciální kříženec všech použitých DTD jmenný prostor neodpovídá DTD ani XML schématu, nicméně obvykle pro každý jmenný prostor někde existuje popis použitelných elementů a atributů nejčastěji právě ve formě DTD nebo XML schématu jmenné prostory se hodně používají v dalších jazycích souvisejících s XML XML schémata, XSLT, Jmenné prostory 13 / 15 (strana 18)

XML Infoset XML Infoset... 20 (strana 19)

XML Infoset abstraktní datový model pro XML dokumenty ke každému XML dokumentu existuje abstraktní reprezentace v podobě infosetu (stromová reprezentace) místo pojmu strom se používá pojem infoset (information set = množina informací) místo pojmu uzel se používá pojem information item = položka informace každá položka má vlastnosti dětské položky, svůj obsah, deklarované NS, dokumenty s DTD mohou modifikovat infoset např. pomocí defaultní nebo fixní hodnoty atributu je využíván v dalších standardech PSVI = Post Schema Validation Infoset otypovaný infoset dokumentu využívá se např. v dotazovacích jazycích (XQuery), které potřebují znát typy dat v jednotlivých elementech a atributech ještě se k němu vrátíme u XML schémat XML Infoset 14 / 15 (strana 20)

Další informace Další informace... 22 (strana 21)

Další informace Povinná četba Kapitola o syntaxi XML 2 Doporučená četba Anotovaná specifikace XML 3 2 http://www.kosek.cz/knihy/phpxml/php5xml-ukazka.pdf 3 http://www.xml.com/axml/testaxml.htm Další informace 15 / 15 (strana 22)