Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

1 5. přednáška XML Slajdy 2 - 45 převzaty z Mlýnková, Nečaský : Technologie XML (DBI026, MFF UK) Úvod do databázových systémů B RNDr. Jan Lánský, Ph.D.

Podobné prezentace


Prezentace na téma: "1 5. přednáška XML Slajdy 2 - 45 převzaty z Mlýnková, Nečaský : Technologie XML (DBI026, MFF UK) Úvod do databázových systémů B RNDr. Jan Lánský, Ph.D."— Transkript prezentace:

1 1 5. přednáška XML Slajdy 2 - 45 převzaty z Mlýnková, Nečaský : Technologie XML (DBI026, MFF UK) Úvod do databázových systémů B RNDr. Jan Lánský, Ph.D.

2 2 Motivace Chceme přenést informaci Místo A Místo B

3 3 Např.: chceme přenést zprávu Jan Amos, Karel Hynek Ahoj! Pozdrav z říše divů! Alenka P.S. Napište mi!

4 4 Jako „nestrukturovaný“ text? Jan Amos, Karel Hynek Ahoj! Pozdrav z říše divů

5 5 Jako „nestrukturovaný“ text? Karel Hynek Ahoj! Pozdrav z říše divů! Alenka P

6 6 Jako „nestrukturovaný“ text? Ahoj! Pozdrav z říše divů! Alenka P.S. Napište

7 7 Jako „nestrukturovaný“ text? Pozdrav z říše divů! Alenka P.S. Napište mi!

8 8 Jako „nestrukturovaný“ text? Alenka P.S. Napište mi!

9 9 Jako „nestrukturovaný“ text? Alenka P.S. Napište mi! Jak ale (automatizovaně) zjistit, kdo nám to vlastně píše?

10 10 Zavedeme konstrukci „ značka” (tag) tělo Koncová značka – zavírací závorka (end tag) Počáteční značka – otevírací závorka (start tag)

11 11 Jednotlivé složky zprávy označíme Jan Amos Karel Hynek Ahoj! Pozdrav z říše divů! Alenka Napište mi!

12 12 A zabalíme do závorek Jan Amos Karel Hynek Ahoj! Pozdrav z říše divů! Alenka Napište mi!

13 13 Pro zobrazení správného textu prohlížečem to ještě nestačí Jan Amos Karel Hynek Ahoj! Pozdrav z říše divů! Alenka Napište mi!

14 14 Musí se přidat informace o kódování  Implicitně je dokument v kódu ISO 10646 (Unicode)Unicode  P ro komunikaci se světem se používá  UTF-8 K ompatibilní s ASCII D alší znaky kódovány na 2 až 6-ti bytech O bsahuje všechny znaky všech abeced  P ro češtinu lze použít ISO-8859-2 nebo Windows- 1250

15 15 Lepší, ale stále to ještě není ono – nepopsali jsme způsob zobrazení dokumentu

16 16 Např. transformujeme do HTML Zpráva od: Alenka Jan Amos Karel Hynek Ahoj! Pozdrav z říše divů! Alenka Napište mi!

17 17 Prohlížeč teď „ví“ co s daty

18 18 O co nám jde?  Samotná data se těžko zpracovávají  Potřebujeme: Zajistit aby příslušný program datům rozuměl = doplnit význam jednotlivých částí  Př. HTML – popis vizualizace dat pro HTML prohlížeč Problém 1: Co když nás nezajímá jen vizualizace? Problém 2: HTML má volnou strukturu  Komplikuje zpracování  Řešení: XML

19 19 XML  XML (eXtensible Markup Language) je formát pro přenos a výměnu obecných dokumentů Extensible Markup Language (XML) 1.0 (Fifth Edition) http://www.w3.org/TR/xml/  XML je podmnožina (aplikace) SGML (Standard Generalized Markup Language - ISO 8879) U možňuj e přenos dokumentu spolu s popisem jeho struktury (syntaxe)  XML se nezabývá způsobem prezentace dokumentů – je to syntaktický nástroj

20 20 XML dokument  XML dokument je správně formovaný / dobře vytvořený (well-formed), když : Má úvodní XML deklaraci (prolog) J e dobře uzávorkován  Každý element obsahuje počáteční i koncový tag/závorku  Odpovídající závorky mají stejné jméno (case sensitivity)  Dvojice závorek se nekříží  Celý dokument je uzavřen v jediném kořenovém elementu

21 21 Prolog  Informace pro SW, že se jedná o XML dokument Musí obsahovat deklaraci verze XML  Máme 1.0 a 1.1 Může osahovat informací o kódování a samostatnosti dokumentu  Deklarace verze:  Pokud není v UTF-8:  Pokud je bez odkazů mimo dokument : vždy malá písmena

22 22 Elementy Jan Amos Severní 12 Ahoj! Pozdrav z říše divů ! Alenka Element s textovým obsahem Prázdný element Element s elementovým obsahem Kořenový element Element se smíšeným obsahem

23 23 Atributy Jan Amos Severní 12 Ahoj! Pozdrav z říše divů ! Alenka Hodnota atributu Název atributu Element s atributy

24 24 Další prvky XML dokumentu Jan Amos <![CDATA[ for (i=0; i < 10; $++) { document.writeln(" Ahoj "); } ]]> Alenka Komentář Instrukce pro zpracování Sekce CDATA

25 25 Jazyk DTD

26 26 DTD  Problém: Správná strukturovanost nestačí Potřebujeme omezit sadu značek a jejich obsah  Definice typu dokumentu (Document Type Definition – DTD) popisuje strukturu (gramatiku) dokumentu Pomocí regulárních výrazů  Validní XML dokument = správně strukturovaný dokument odpovídající dané gramatice Existují i další jazyky – XML Schema, Schematron, RELAX NG, …

27 27 Struktura validního dokumentu <!DOCTYPE kořenový-element [... ]>... Deklarace typu dokumentu  Může být interní (gramatika je přímo uvnitř DOCTYPE) nebo externí (pouze odkaz na gramatiku uvedenou v externím souboru) Interní nemá moc význam Obojí současně je přípustné  Lokální deklarace mají přednost před externími

28 28 Příklad: externí a interní DTD Hello, world! <!DOCTYPE pozdrav [ ]> Hello, world! … PUBLIC "veřejný identifikátor" "URI"

29 29 Základní značky DTD  D eklarace typu dokumentu  D eklarace typu elementu  D eklarace seznamu atributů  D eklarace entity  D eklarace notace vše velkými písmeny

30 30 Deklarace typu elementu  Název elementu + deklarace přípustného obsahu Prázdný, libovolný, textový, smíšený, elementový...

31 31 Deklarace typu elementu  Prázdný obsah  Libovolný obsah  Textový obsah  Smíšený obsah  Elementový obsah,… sekvence |… selekce ?… iterace (0 nebo 1) + … iterace (1 a více) *… iterace (0 a více) (nazev, (autor|editor)?, p*, (nadpis,p+)*)

32 32 Deklarace atributu  A tributy elementu osoba  A tribut cislo je unikátní identifikace ( ID ) a je povinný ( #REQUIRED )  A tribut zamestnan obsahuje text ( CDATA ), je konstantní ( #FIXED ) a má implicitní neměnnou hodnotu ( ano )  A tribut typ je výčet ( ano nebo ne ), implicitní hodnota je ne <!ATTLIST osoba cislo ID #REQUIRED zamestnan CDATA #FIXED "ano" dovolena (ano|ne) "ne"> Pořadí v dokumentu je libovolné

33 33 Datové typy atributů  CDATA – libovolný řetězec znaků  V ýčtový typ  ID – jednoznačný identifikátor (v rámci dokumentu), musí to být řetězec písmen, cifer a znaků „-“, „_“, „:“, „.“, nejlépe v ASCII, musí začínat písmenem, nebo znakem „_“  IDREF – odkaz na ID jiného elementu v rámci dokumentu  IDREFS – seznam odkazů oddělených mezerami  NMTOKEN – hodnota, tj. řetězec podobný jako ID, který ale může začínat cifrou a není jednoznačný  NMTOKENS – hodnoty  ENTITY – odkaz na externí entit u  ENTIT IES – seznam odkazů viz dále

34 34 Požadavky na hodnoty atributů  #REQUIRED – povinný atribut  #IMPLIED – nepovinný atribut  #FIXED – pevná hodnota atributu

35 35 Deklarace entity  Prakticky se využívají pouze triviální případy  Asociace názvu a hodnoty, kterou lze opakovaně využívat  Dělení 1: Parsované = text, kterým je nahrazen odkaz na entitu a stává se součástí XML dokumentu  Odkazujeme referencemi Neparsované = zdroj, jehož obsahem může být cokoli (např. binární data)  Odkazujeme atributem typu ENTITY/ENTITIES  Musí s ní asociována notace  Dělení 2: Obecné – v XML dokumentech Parametrické – v DTD  Dělení 3: Interní vs. externí viz dále

36 36  Možnost vložení libovolného znaku s daným kódem Hexadecimální nebo decimální  Předdefinované entity pro speciální znaky Znakové entity &… amp < … lt >… gt ‘… apos “… quot Vyřešte nerovnost 3x < 5 Vyřešte nerovnost 3x < 5

37 37  Interní entita Použití: Opakující se části XML dokumentů Obecné entity Současný stav dokumentu je &stav;  Externí parsovaná entita Použití: Modularizace XML dokumentů

38 38  Externí neparsovaná entita Použití: Odkaz na ne-XML data Obecné entity <!DOCTYPE zprava [ <!NOTATION avi SYSTEM "C:/Program Files/Video Player/Player.exe"> ]> Přikládám video z dovolené. Deklarace notace nebo PUBLIC

39 39 Parametrické entity  Interní entita P oužití: Opakující se části DTD <!ENTITY % atributy "barva (modra|bila|cerna) #REQUIRED rychlost (velka|mala) #IMPLIED" >

40 40 Parametrické entity  Externí entita Použití: Modularizace DTD... %ISOLat2;...

41 41 Podmíněné sekce <![%draft;[ ]]> <![%final;[ ]]>

42 42 DTD – větší příklad

43 43 Přehled XML technologií

44 44 Technologie XML  XML = eXtensible Markup Language  Technologie XML = sada souvisejících technologií Rozhraní pro práci s XML daty – DOM, SAX Popis struktury XML dokumentů – DTD, XML Schema Dotazováni nad XML daty – XPath, XQuery Aktualizace XML dat – XQuery Update Transformace XML dat – XSLT

45 45 Související problematika  Standardní XML formáty XHTML, OpenOffice, MathML, SVG, …  Persistence XML dat Nativní XML databáze Relační databáze s XML SQL/XML

46 46 Příklady I.  V souboru xml1.xml najděte následující informace V jakém aktu a v jaké scéně poprvé mluví postava FORTINBRAS ? Který z důstojníků (officers) mluví ve hře jako první? Která postava mluví jako poslední ve druhém aktu ?

47 47 Příklady II.  V souboru xml2.xml najděte následující informace Kolik druhů zboží se nachází v kategorii "Zboží | Panenky | Barbie" ? Kolik stojí výrobek "Klasická elektronická pokladna", kdo je jeho výrobce a jaká je webová stránka výrobku. Od kterého výrobce(ů) pochází zboží v kategorii "Zboží | Stavebnice | Ostatní"?


Stáhnout ppt "1 5. přednáška XML Slajdy 2 - 45 převzaty z Mlýnková, Nečaský : Technologie XML (DBI026, MFF UK) Úvod do databázových systémů B RNDr. Jan Lánský, Ph.D."

Podobné prezentace


Reklamy Google