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

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

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

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

Obsah prezentace. Co je to XML? Vlastnosti. Validita

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

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

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.

Správnost XML dokumentu

XML terminologie a charakteristiky. Roman Malo

Jazyky pro popis dat

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

APLIKACE XML PRO INTERNET

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

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

Vývoj Internetových Aplikací

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

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

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

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.

Konverze textových formátů

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

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

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

Konverze textových formátů

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

Další XML technologie

Verze z December 5, 2011 formátovaná k úspornému tisku.

Teoretické a pokročilé aspekty XML technologií

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

ZNAČKOVACÍ JAZYKY A JEJICH VYUŽÍVÁNÍ MARKUP LANGUAGE AND THEIR USE. Zdeněk Havlíček

X36DSV 3. cvičení. XML (extensible Markup Language) JavaScript. AJAX (Asynchronous JavaScript and XML) X36DSV. 2007/10 ver.2.0 1

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

ČESKÁ TECHNICKÁ NORMA

XML schémata. Jiří Kosek

XML schémata. Jiří Kosek

Vstupní data pro program Deformace ve formátu XML

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

Tvorba informačních systémů

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

NSWI096 - INTERNET. Úvod do HTML

(X)HTML, CSS a jquery

Tvorba WWW stránek. Mojmír Volf

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

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

Elektronické publikování. doc. RNDr. Petr Šaloun, Ph.D. katedra informatiky FEI VŠB TU Ostrava

HTML Hypertext Markup Language

HTML XHTML JavaScript PHP ASP.Net Zajímavé odkazy

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

Základy WWW publikování

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

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

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

XML. Aleš Keprt

Š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

Úvod do aplikací internetu a přehled možností při tvorbě webu

Úvod do tvorby internetových aplikací

Úvod do XML Technologie

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

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

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

EXTRAKT z české technické normy

HTML - Úvod. Zpracoval: Petr Lasák

XML snadno a rychle Martin Kuba, ÚVT MU

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

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

Internetové publikování

Kaskádové styly (CSS)

PRG036 Technologie XML

Validace souborů DS3

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

Vývoj Internetových Aplikací

Úvod do programovacích jazyků (Java)

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

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

Provozní dokumentace. Seznam datových schránek. Datové soubory. Vytvořeno dne: Aktualizováno: Verze: 1.

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

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

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

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

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

EXTRAKT z české technické normy

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

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

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

Jemný úvod do spracovania XML

Uspořádaný seznam nula nebo více elementů, každý je typem ASN.1 (heterogenní seznam) uspořádaný seznam stejných elementů

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

Základy HTML (2. přednáška)

Tvorba informačních systémů

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

Lehký úvod do XML v kartografii

CSS V DIGITÁLNÍ KARTOGRAFII

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

Alena Malovaná, MAL305

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Ukazka knihy z internetoveho knihkupectvi

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

Programovací jazyky Přehled a vývoj

Transkript:

PB029 Elektronická příprava dokumentů Anyone who would letterspace the lowercase would steal sheep. Frederick Goudy (1894 1945) You cannot not communicate Paul Watzlawick (1921 ) Lidé komunikují prostřednictvím dokumentů připravovaných elektronicky Petr Sojka (FI MU Brno) podzim 2015 1 / 207

PB029 Elektronická příprava dokumentů PB029 Elektronická příprava dokumentů Petr Sojka Fakulta informatiky MU, Brno podzim 2015 Petr Sojka (FI MU Brno) podzim 2015 2 / 207

E = mc 2?! E = mc 2 E = mc 2 Značkování Markup Návrh Design Sazba Typesetting Korektury Proofreading Předloha Preprint Tisk Print Distribuce Distribution Petr Sojka (FI MU Brno) Značkování podzim 2015 36 / 207

Osnova dnešní přednášky Linearizace textů, zápis v Unicode. XML. Dobrá strukturovanost. Validace. Formální dokumenty a gramatiky: DTD, XML Schema, Relax NG. *ML, HTML, HTML5 vs. XHTML Výměna dokumentů na Internetu, URI/URL/URN. TEXové okénko: značkování v L A TEXu (pokračování). Petr Sojka (FI MU Brno) Značkování podzim 2015 37 / 207

Linearizace textů a zápis v Unicode. Unicode konsorcium Kódování textů. 5000 živých jazyků s více než miliónem znaků. Nutnost domluvy reprezentace znaků (v CS Kam, KOI-8, CP-1250, ISO Latin2,... ). Unicode Consortium je nevýdělečná organizace, založená 1989 pro vývoj, rozšiřování a podporu používání Unicode Standardu. Členové konsorcia představují široké spektrum korporací a organizací v průmyslu počítačů a informačních technologií. Konsorcium je finančně podporováno pouze členskými poplatky. Respektuje ISO (International Standard Organization), mezinárodní ISO standard ISO/IEC 10646-1, 1993: Universal Multiple-Octet Coded Character Set (UCS). Petr Sojka (FI MU Brno) Značkování podzim 2015 38 / 207

Linearizace textů a zápis v Unicode. Unicode konsorcium (cont.) První standard s ambiciózním cílem obsahovat všechny znaky používané v psaných jazycích, včetně matematických a dalších symbolů. Jazykově neutrální, zrušení předpokladů ekvivalence znaků a glyfů, neproporcionality hladkého textu. Kritériem přidání znaku je odlišnost ve významu i tvaru (CJK unifikace). Výjimky: Latin P, Greek P (capital rho), Cyrillic P (R). Basic Multilingual Plane (BMP). Privátní zóny pro privátní použití aplikací. Petr Sojka (FI MU Brno) Značkování podzim 2015 39 / 207

The Unicode Standard, ISO/IEC 10646 Unicode: sada znaků a pravidel zpracování specifikovaná konsorciem Unicode. Jednoznačný kód (číslo U+0000..U+10FFFF) pro každý znak nezávisle na OS, jazyce, programu. Databáze znaků poskytovaná konsorciem (k 10/2015 verze Unicode 8.0) či přehledné tabulky znaků. Znak s libovolným kódem z ISO/IEC 10646 můžeme zapsat pomocí entity &#kod (kod je v desítkové soustavě) nebo &#xkod (kod je šestnáctkově): code points 0 10F F F F 16. Jednoznačný trend použití pro rozšíření na WWW, v OS [cut & paste], značkovacích i programovacích jazycích. Petr Sojka (FI MU Brno) Značkování podzim 2015 40 / 207

Unicode Transformation Format UTF: přenos znaků Problémy s přímým přenosem textů v UCS-4 (prostorově neefektivní) transformační/kódovací metody UTF-8, UTF-7, UTF-16, UTF-32 jako jednoznačné mapování znaků. UTF-16 16bitové slovo obsahuje kód znaku, rozšíření: 1 znak zabere dvě 16bitová slova. UTF-16BE a UTF-16LE. UTF-8: znaky ASCII nahrazeny byty hex 00-7F. Ostatní znaky nahrazeny dvěma až šesti byty hex 80-FF. UTF-7: pro SMTP protokol; kódovány i speciální znaky ASCII. Specifikovaný IETF, Internet Engineering Task Force, a formálně nesouvisející s ISO/IEC 10646. Výsledkem je text neobsahující kontrolní znaky a znaky nad 7F. Petr Sojka (FI MU Brno) Značkování podzim 2015 41 / 207

Unicode Transformation Format UTF: přenos znaků (cont.) UTF-32, UTF-32BE, UTF-32LE. Vícebytová pořadí: BOM: Byte Order Mark, OxFEFF. UTF a BOM FAQ. Petr Sojka (FI MU Brno) Značkování podzim 2015 42 / 207

ISO/IEC 10646-1 standard implementation levels Norma definuje implementační úrovně 1 3 podporované v software. Příklad dánského A with ring above and acute accent : 01FA reprezentace použitá v úrovních 1 a 2: jeden složený znak; 00C5 0301 A with ring above + combining acute accent nebo 0041 030A 0301 A + combining ring above + combining acute accent Program implementující standard úrovně 3 musí být schopen zpracovat tyto kompozitní sekvence stejně jako výše uvedenou reprezentaci. Petr Sojka (FI MU Brno) Značkování podzim 2015 43 / 207

Unicode vlastnosti Třídění: Unicode Collation Algorithm Normalizace textu, kanonická forma, ligatury. Tři úrovně implementace Unicode, obousměrný text, kombinace znaků, kompozitní sekvence znaků. Shrnutí, detaily a přehled. Petr Sojka (FI MU Brno) Značkování podzim 2015 44 / 207

E = mc 2?! E = mc 2 E = mc 2 Značkování Markup Návrh Design Sazba Typesetting Korektury Proofreading Předloha Preprint Tisk Print Distribuce Distribution Petr Sojka (FI MU Brno) Značkování podzim 2015 45 / 207

XML? XML! Nikdy není pozdě! Petr Sojka (FI MU Brno) Značkování podzim 2015 46 / 207

Co je to XML? XML: EXtensible Markup Language. Univerzální a otevřený formát pro reprezentaci (a výměnu) téměř libovolné datové struktury dokumentů i dat. Doporučení WWW Consortium: rozšiřitelný značkovací (meta)jazyk. Celá sada technologií a formátů s XML souvisejících (XHTML, XSL, XSL-FO, CSS, XPointer, XLink,... ) pro elektronickou výměnu dat včetně výměny dokumentů. Petr Sojka (FI MU Brno) Značkování podzim 2015 47 / 207

Příklad XML dokumentu <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE faktura SYSTEM "faktura.dtd"> <faktura vystaveni="22.10.2015" splatnost="22.11.2015"> <odberatel> <nazev>ferda Pistorius</nazev> <adresa>boubín 77</adresa> <ico>2862667777</ico> <dic>291-2862667777</dic> </odberatel> <dodavatel> <nazev>hynek Bedna</nazev> <adresa>máchovo jezero 78</adresa> <ico>2862467777</ico> <dic>291-2862467777</dic> </dodavatel> <polozka> <popis>xml editor</popis> <cena mena="kč">500</cena> </polozka> </faktura> Petr Sojka (FI MU Brno) Značkování podzim 2015 48 / 207

Vymezení XML Násobné a opakované použití dat. Metajazyk: XML nespecifikuje ani sémantiku, ani množinu značek, umožňuje však značky definovat a definovat jejich strukturální závislosti. Sémantiku určují aplikace (webové prohlížeče jsou jedny z nich). Části XML dokumentu: deklarace + gramatika + data. Petr Sojka (FI MU Brno) Značkování podzim 2015 49 / 207

XML jako metajazyk XML je mezinárodní standard pro popis značkovacích jazyků. Formálněji je to syntaktický metajazyk pro definici tříd dokumentů (deskriptivních značkovacích jazyků), nezávislých na abecedě. Formální definice typu dokumentu se nazývá DTD Document Type Definition, definice typu dokumentu (gramatika třídy dokumentů). XML parser (validátor) pak čte na vstupu DTD a kontroluje formální správnost. Instance XML dokumentu (dále jen XML dokument) sestává z deklarace (pokynů pro parser), gramatiky (DTD) a vlastního popisně označkovaného textu. Petr Sojka (FI MU Brno) Značkování podzim 2015 50 / 207

Syntaxe XML: správná strukturovanost well formed XML document s korektní syntaxí je nazýván správně strukturovaný, well-formed. Správně strukturovaný dokument by měla zpracovat každá XML aplikace. Sekce CDATA pro pohodlnější psaní části dokumentů obsahujících významné znaky: <moudrost> <![CDATA[ (1 < 2) & 2 = 1000 x 1 ]]> </moudrost> Petr Sojka (FI MU Brno) Značkování podzim 2015 51 / 207

Validita XML Silnější pojem než správná strukturovanost: validita. Dokument vyhovuje gramatice, která vynucuje strukturu, pořadí a množství značek. Gramatika ve formě DTD (Document Type Definition). Validátory (parsery): nsgmls, msxml, xerces, xmllint,... Webová validace XHTML: http://validator.w3.org. HTML5 validace: http://html5.validator.nu. Lokální validace: například nsgmls z modulu sp na aisa. Petr Sojka (FI MU Brno) Značkování podzim 2015 52 / 207

XML deklarace <?xml version="1.0" encoding="iso-8859-2" standalone="no"?> Musí být na prvním řádku dokumentu, pro způsob interpretace zbývajících bytů. Při standalone="yes" není třeba číst externí DTD. Petr Sojka (FI MU Brno) Značkování podzim 2015 53 / 207

Instrukce pro zpracování Pokyny (procesní instrukce) pro specifické aplikace: <?xml-stylesheet href="epd.css" type="text/css"?> nebo <?LaTeX \pagebreak?> nebo <datum> <?php echo Date "d.m.y"?> </datum> Petr Sojka (FI MU Brno) Značkování podzim 2015 54 / 207

Historie XML (od SGML 1986) Organizace ISO (International Standards Organization), vydává známé normy jako ISO 8859-2, 10646-1 (Unicode),... Norma ISO 8879:1986 Information processing Text and office systems Standard Generalized Markup Language (SGML), vydaná 15. 10. 1986 po dlouhém procesu standardizace na základě návrhu Charlese Goldfarba a jeho GML. Počátky již na konci šedesátých let při návrhu informačního systému právnických textů v IBM. Petr Sojka (FI MU Brno) Značkování podzim 2015 55 / 207

Historie XML (od SGML 1986) (cont.) Celá sada standardů ISO: kromě SGML, DSSSL (Document Style Semantics and Specification Language, ISO/IEC DIS 10179.2:1994), SPDL (Standard Page Description Language, ISO/IEC DIS 10180:1991) a HyTime (Hypermedia/Time-based Structuring Language, ISO/IEC 10744:1992). O S odstupem času: nesporný úspěch SGML, základ pro další značkovací jazyky (XML), ale například neúspěch SPDL oproti proprietárnímu PostScriptu. Petr Sojka (FI MU Brno) Značkování podzim 2015 56 / 207

SGML historické poznámky a motivace XML Výhody: znovupoužívání částí dokumentů, kvalita a otevřenost systému, obecnost, nezávislost na konkrétní formě (WWW konsorcium), rozšiřitelnost dle technologických možností (hypertext), snížení nákladů, možnost validace (ověření korektnosti dokumentu na základě formální definice jazyka dokumentu). Nevýhody: za obecnost se platí složitostí, i po dekádách užívání jsou nejlepší systémy na plné SGML drahé, změna s rozšířeními HTML, přesto přechod k XML (složitost). Petr Sojka (FI MU Brno) Značkování podzim 2015 57 / 207

SGML historické poznámky a motivace XML (cont.) Uživatelé SGML (zpočátku velké instituce, elektronický a letecký průmysl, nakladatelé): AAP, OUP, Boeing, Lufthansa, British Patent Office, Association of German editors, TEI, McGraw-Hill, LDC,... viz stránky Organization for the Advancement of Structured Information Standards. Dnešní motivací je přesnější a relevantnější vyhledávání na Internetu (mikroformáty apod.). Petr Sojka (FI MU Brno) Značkování podzim 2015 58 / 207

SGML deklarace Pokyny pro parser s definicemi abeced (analogie popisu BNF): role oddělovačů; rezervovaná jména; zakázané znaky, typicky kontrolní ASCII; pravidla pro pojmenovávání, citlivost na malá a velká písmena; velikosti délek, značek,... ; komentáře; parametry chování, které vlastnosti kontrolovat (OMITTAG). Pokud deklarace v dokumentu není uvedena, používá se implicitně referenční syntaxe Reference Concrete Syntax (RCS). Petr Sojka (FI MU Brno) Značkování podzim 2015 59 / 207

Příklad SGML deklarace <!SGML "ISO 8879:1986" CHARSET BASESET "ISO 646:1991//CHARSET IRV//ESC 2/8 4/2" DESCSET 0 9 UNUSED 9 2 9 TAB, LF 11 2 UNUSED 13 1 13 CR 14 18 UNUSED 32 95 32 127 1 UNUSED CAPACITY SGMLREF TOTALCAP 35000... Petr Sojka (FI MU Brno) Značkování podzim 2015 60 / 207

Příklad SGML deklarace (pokr.) MDO "<!" markup decl open MDC ">" markup decl close DSO "[" declaration subset open DSC "]" declaration subset close MSC "]]" marked section close COM "--" comment RNI "#" reserved name indicator LIT """ literal LITA " " alternative literal GRPO "(" group open GRPC ")" group close AND "&" and connector OR " " or connector SEQ "," seq connector OPT "?" opt occurrence indicator REP "*" rep occurrence indicator Petr Sojka (FI MU Brno) Značkování podzim 2015 61 / 207

Příklad SGML deklarace (pokr.)... PLUS "+" plus occ ind, inclusion MINUS "-" exclusion, omission flag CRO "&#" character reference open ERO "&" entity reference open PERO "%" parameter entity reference open REFC ";" reference close PIO "<?" processing instruction open PIC ">" processing instruction close STAGO "<" start tag open ETAGO "</" end tag open TAGC ">" tag close NET "/" null end-tag Petr Sojka (FI MU Brno) Značkování podzim 2015 62 / 207

SGML/XML DTD: atributová gramatika Terminologie teorie formálních jazyků: neterminály (elementy), terminály (entity). Elementy vytvářejí stromovou strukturu, nemohou se navzájem křížit, jeden element je kořenový. Lze použít prázdné elementy. <br/> Elementy mohou mít atributy. O Petr Sojka (FI MU Brno) Značkování podzim 2015 63 / 207

SGML/XML DTD: atributová gramatika (cont.) <!ELEMENT faktura (odberatel,dodavatel, polozka+)> <!ELEMENT odberatel (nazev,adresa,ico,dic)> <!ELEMENT dodavatel (nazev,adresa,ico,dic)> <!ELEMENT polozka (popis?,cena,dph,ks?)> <!ELEMENT nazev (#PCDATA)> <!ELEMENT adresa (#PCDATA)> <!ELEMENT ico (#PCDATA)> <!ELEMENT dic (#PCDATA)> <!ELEMENT popis (#PCDATA)> <!ELEMENT cena (#PCDATA)> <!ELEMENT dph (#PCDATA)> <!ELEMENT ks (#PCDATA)> <!ATTLIST faktura cislo CDATA #REQUIRED vystaveni CDATA #REQUIRED splatnost CDATA #REQUIRED vystavil CDATA #IMPLIED> <!ATTLIST cena mena CDATA "CZK"> Petr Sojka (FI MU Brno) Značkování podzim 2015 64 / 207

Deklarace elementů a atributů Sekvence, alternativa, ANY, EMPTY, #PCDATA. Opakování: právě jednou, nejvýše jednou (?), alespoň jednou (+), libovolněkrát (*). Typy atributů CDATA, NMTOKEN, NMTOKENS, ID, IDREF, IDREFS, ENTITY, ENTITIES, výčet. Implicitní hodnoty atributů: "hodnota", #REQUIRED, #IMPLIED, #FIXED "hodnota". Petr Sojka (FI MU Brno) Značkování podzim 2015 65 / 207

Entity Vhodné pojmenovat části a fragmenty XML, některé řetězce (&TeX; v IS) a znaky použité jako oddělovače v gramatice: <, &, ". Entity interní textové, externí textové, externí binární a parametrické. Příklad množiny interních textových entit: ISO Latin2. Petr Sojka (FI MU Brno) Značkování podzim 2015 66 / 207

Entity (cont.) <! Character entity set. Typical invocation: <!ENTITY % ISOlat2 PUBLIC "ISO 8879:1986//ENTITIES Added Latin 2//EN"> %ISOlat2; > <!ENTITY abreve SDATA "[abreve]" =small a, breve > <!ENTITY Abreve SDATA "[Abreve]" =capital A, breve > <!ENTITY amacr SDATA "[amacr ]" =small a, macron > <!ENTITY Amacr SDATA "[Amacr ]" =capital A, macron >... Externí textové entity: <!ENTITY název SYSTEM "URI"> Externí binární entity: <!ENTITY název SYSTEM "URI" NDATA "notace"> Petr Sojka (FI MU Brno) Značkování podzim 2015 67 / 207

Další příklady DTD DTD diplomové práce O. DTD informací o studijním předmětu O. DTD rozvrhu. Petr Sojka (FI MU Brno) Značkování podzim 2015 68 / 207

Připojení DTD k instanci dokumentu Odkazem na soubor: <!DOCTYPE faktura SYSTEM "faktura.dtd"> <faktura>...</faktura> DTD součástí dokumentu: <!DOCTYPE faktura [ <!ELEMENT faktura (odberatel, dodavatel, polozka+)>... ]> <faktura>... </faktura> Veřejný identifikátor PUBLIC s URL: Petr Sojka (FI MU Brno) Značkování podzim 2015 69 / 207

Připojení DTD k instanci dokumentu (cont.) <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/dtd/wml13.xml"> V případě veřejného identifikátoru je mapování od řetězce k souboru určeno tzv. katalogem (proměnná okolí SGML_CATALOG_FILES či XML_CATALOG_FILES). Petr Sojka (FI MU Brno) Značkování podzim 2015 70 / 207

Pohledy na XML Lexikální pohled: XML dokument je řetěz znaků, z nichž některé jsou data a některé oddělovače, značky. <article> <title>úvod do XML</title> <section>xml: hlavní principy</section> <subsection>zobecněné značkování</subsection> <p>základem...... </article> Petr Sojka (FI MU Brno) Značkování podzim 2015 71 / 207

Pohledy na XML (cont.) Syntaktický pohled: XML dokument má tři části: XML deklaraci (instrukce pro XML parser), DTD (gramatiku jazyka) a vlastní instanci dokumentu (v tomto jazyce). Instance dokumentu obsahuje data a značky vyhovující DTD. Tento pohled vytváří parser z lexikálního pohledu. Pohled hierarchie objektů: XML dokument je uspořádaná hierarchie (obvykle stromová struktura) objektů s obsahem (elementů). Elementy mají atributy, obsah a další vlastnosti. O Entitně-strukturní pohled: XML dokument je vnořená kolekce entit. Většina entit je pojmenovaných. Textové entity mohou odkazovat na další entity, zatímco datové entity obsahují libovolná data. Petr Sojka (FI MU Brno) Značkování podzim 2015 72 / 207

Pohledy na XML (cont.) Aplikační pohled: XML dokument je cokoli, co autor chce aby jím bylo. Data belongs to whoever creates it, and you get to decide what s important about your own data. Petr Sojka (FI MU Brno) Značkování podzim 2015 73 / 207

XML validace a parsing Balík sp (module add sp) s nsgmls od Jamese Clarka. Výstup parseru: Element Structure Information Set (ESIS) formát. Ukázky validace, chyb, ladění, ESIS. Třídy dokumentů. CATALOG. /packages/share/sgml-catalogs/ Další příklady DTD informace o studijním předmětu. O Petr Sojka (FI MU Brno) Značkování podzim 2015 74 / 207

Více k XML: odkazy XML pro každého: stránky XML guru kolegy Koska http://www.kosek.cz/xml/. Školičky WWW technologií: W3Schools Technický úvod do XML Normana Walshe. http://www.zvon.org a mnoho dalších. Petr Sojka (FI MU Brno) Značkování podzim 2015 75 / 207

Typová kontrola XML: schémata Oproti DTD (struktura, pořadí elementů) přesnější kontrolu nad obsahem XML dávají jazyky XML Schema nebo Relax NG. Možná kontrola typů. Stejný cíl, různá syntaxe. Petr Sojka (FI MU Brno) Značkování podzim 2015 76 / 207

XML Schema <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="zamestnanec"> <xs:complextype> <xs:sequence> <xs:element name="jmeno" type="xs:string"/> <xs:element name="prijmeni" type="xs:string"/> <xs:element name="plat" type="xs:decimal"/> <xs:element name="narozen" type="xs:date"/> </xs:sequence> <xs:attribute name="id" type="xs:integer"/> </xs:complextype> </xs:element> </xs:schema> Více a detaily: http://www.kosek.cz/xml/schema/wxs.html Petr Sojka (FI MU Brno) Značkování podzim 2015 77 / 207

Relax NG <element xmlns="http://relaxng.org/ns/structure/1.0" name="zamestnanec"> <attribute name="id"> <text/> </attribute> <element name="jmeno"> <text/> </element> <element name="prijmeni"> <text/> </element> <element name="plat"> <text/> </element> <element name="narozen"> <text/> </element> </element> Petr Sojka (FI MU Brno) Značkování podzim 2015 78 / 207

Relax NG: kompaktní syntaxe element zamestnanec { attribute id { text }, element jmeno { text }, element prijmeni { text }, element plat { text }, element narozen { text } } Detaily: http://www.kosek.cz/xml/schema/rng.html Petr Sojka (FI MU Brno) Značkování podzim 2015 79 / 207