Správnost XML dokumentu



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

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.

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.

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

XML terminologie a charakteristiky. Roman Malo

Obsah prezentace. Co je to XML? Vlastnosti. Validita

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

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

Jazyky pro popis dat

Tvorba WWW stránek. Mojmír Volf

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

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

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

APLIKACE XML PRO INTERNET

Vstupní data pro program Deformace ve formátu XML

Validace souborů DS3

HTML Hypertext Markup Language

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

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

Úvod do XML Technologie

Příklad buňka tabulky

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

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

XML schémata. Jiří Kosek

XML schémata. Jiří Kosek

Vývoj Internetových Aplikací

PRG036 Technologie XML

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

Návrh technických pravidel pro tvorbu SIP

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 webu. Úvod a základní principy. Martin Urza

(X)HTML, CSS a jquery

Další XML technologie

ZZVDPN20 v1.0 Žádost o změnu způsobu výplaty při DPN

NSWI096 - INTERNET. Úvod do HTML

Teoretické a pokročilé aspekty XML technologií

Entity: Profese, Klient

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

Základy WWW publikování

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:

XML. Aleš Keprt

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

Rozšiřitelný editor XML dokumentů. Tomáš Diviš

Vývoj Internetových Aplikací

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

Využití XML v DB aplikacích

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

Rozhraní SAX, SAX vs. SAX2. Jaroslav Ciml

Tvorba webových stránek

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

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

Algoritmizace prostorových úloh

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

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

XSLT a jmenné prostory

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

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

Jemný úvod do spracovania XML

Software602 Form Designer

HTML - Úvod. Zpracoval: Petr Lasák

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

METODICKÝ POKYN K VYPRACOVÁNÍ

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

E-learning a DocBook

Tvorba informačních systémů

PELIKAN DANIEL Definice XML exportů

základy xml strana 1/34 autor: Ilja Kraval

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

Datová věta PVPOJ16 musí v souladu se specifikací xml datové struktury začínat

Programovací jazyk Pascal

Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová

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

Informační systémy ve zdravotnictví. 6. cvičení

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

Datové schránky. Vytvořeno dne: Aktualizováno: Verze: 1.7 Klasifikace: Veřejný dokument 2009 Software602, a.s.

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

Lokální definice (1) plocha-kruhu

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

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

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

Sada 1 - Základy programování

Algoritmizace a programování

Relativní a absolutní adresa buňky, pojmenování buňky/rozsahu

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

Algoritmizace prostorových úloh

Problematika tvorby SIP balíčků

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

Přílohy. \appendix zahájí sazbu příloh

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

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

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

Datové schránky. Vytvořeno dne: Aktualizováno: Verze: 1.7 Klasifikace: Veřejný dokument 2009 Software602, a.s.

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

1. Struktura stránky, zásady při psaní kódu, MVC pattern. Web pro kodéry (Petr Kosnar, ČVUT, FJFI, KFE, PINF 2008)

XML A XWEB JAKO NÁSTROJE PRO TVORBU WEBOVÉHO SÍDLA S VELKÝM MNOŽSTVÍM KŘÍŽOVÝCH ODKAZŮ

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

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

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

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

Transkript:

Realizováno za finanční podpory ESF a státního rozpočtu ČR v rámci v projektu Zkvalitnění a rozšíření možností studia na TUL pro studenty se SVP reg. č. CZ.1.07/2.2.00/29.0011 Správnost XML dokumentu

Správně strukturovaný dokument v originále well-formed dokument dodržuje syntaktická pravidla XML: má jeden kořenový prvek, prvky jsou správně ukončeny (vnořeny) Historie správný zápis prvků a entit, hodnoty atributů jsou v uvozovkách atd. správně vytvořené jsou i vložené prvky nutný předpoklad pro zpracování v XML nástrojích týká se formy, nikoli obsahu/struktury

Správný (validní) dokument v originále valid musí platit: dokument je správně strukturovaný struktura jeho prvků odpovídá definici jazyka (obsahuje přípustné prvky v přípustných vztazích) zaručuje korektní zpracování v aplikacích podporujících daný jazyk jak definovat jazyk?

Definice jazyka

Document Type Definition (DTD) definuje jazyk dokumentu jaké existují prvky co mohou obsahovat (a tedy jaká jsou pravidla pro jejich vzájemné vnořování) jaké mají atributy zavádí obecnou strukturu neumí datové typy nelze např. omezit obsah prvku či hodnotu atributu na celá čísla od 1 do 100

Definice prvku <!ELEMENT jméno obsah> jméno určuje jméno prvku, musí být jednoznačné obsah omezuje, co prvek smí a nesmí obsahovat dva typy textových obsahů: PCDATA (Parsed Character Data) text analyzovaný procesorem, rozpoznávají se prvky, expandují entity,... CDATA (Character Data) text není analyzován, bere se jako konstanta

Jednoduché obsahy EMPTY prvek je prázdný <!ELEMENT br EMPTY> ANY prvek může mít libovolný analyzovatelný obsah; vzdáváme se přísnější kontroly (#PCDATA) prvek obsahuje text <!ELEMENT den (#PCDATA)>

Prvek jako obsah (prvek) daný prvek (prvek1,prvek2,...) prvky v daném pořadí (prvek*) libovolný počet těchto prvků (prvek+) alespoň jeden tento prvek (prvek?) nepovinný výskyt daného prvku (prvek1 prvek2) jeden nebo druhý pomocí závorek lze operátory aplikovat na více prvků

Příklad: Datum <!ELEMENT datum (den,mesic,rok)> <!ELEMENT den (#PCDATA)> <!ELEMENT mesic (#PCDATA)> <!ELEMENT rok (#PCDATA)> Odpovídající XML: <datum> <den>17</den> <mesic>10</mesic> <rok>2006</rok> </datum> Nevalidní (špatné pořadí): <datum> <rok>2006</rok> <mesic>10</mesic> <den>17</den> </datum>

Příklad: Plné jméno <!ELEMENT plnejmeno (titul*,krestni,dalsikrestni*,prijmeni+,titul*)> <!ELEMENT titul (#PCDATA)> <!ELEMENT krestni (#PCDATA)> <!ELEMENT dalsikrestni (#PCDATA)> <!ELEMENT prijmeni (#PCDATA)> <plnejmeno> <krestni>jan</krestni> <prijmeni>nový</prijmeni> </plnejmeno> <plnejmeno> <titul>ing.</titul> <krestni>emanuel</krestni> <dalsikrestni>ivo</dalsikrestni> <dalsikrestni>jan</dalsikrestni> <prijmeni>kyselý</prijmeni> </plnejmeno>

Smíšený obsah text i vnořené prvky jako jednu z variant v nebo uvést #PCDATA např. nadpis připouštějící text a zvýraznění (vnořený prvek em), to může být víceúrovňové <!ELEMENT nadpis (#PCDATA em)*> <!ELEMENT em (#PCDATA em)*>

Definice atributů <!ATTLIST prvek jméno typ implicit_hodnota> závěrečná trojice se opakuje pro každý atribut, nebo lze použít několik <!ATTLIST...> prvek je jméno prvku, jehož atributy definujeme jméno určuje jméno atributu typ jeho typ (charakter, nikoli datový typ) implicit_hodnota poskytuje informace o hodnotě

Typy atributů (1) CDATA libovolný (nezpracovávaný) text (hod1 hod2...) výčet přípustných hodnot ID jednoznačný identifikátor (definice ident.) omezení: XML identifikátory nesmí začínat číslicí IDREF identifikátor jiného prvku (odkaz na něj) IDREFS seznam identifikátorů jiných prvků, oddělovány mezerami

Typy atributů (2) NMTOKEN platné XML jméno (písmena, číslice, -, _,., :) NMTOKENS seznam jmen oddělených mezerami ENTITY, ENTITIES jméno entity, seznam entit NOTATION jméno notace definované pomocí <!NOTATION...>, nepoužívá se xml: předdefinovaná XML hodnota

Implicitní hodnota hodnota konkrétní hodnota #REQUIRED atribut je povinný #IMPLIED atribut lze vynechat, implicitní hodnota není definována #FIXED hodnota hodnota je neměnná

Příklad: Telefonní seznam kořenovým prvkem je seznam obsahuje libovolné množství prvků osoba osoba obsahuje jmeno a alespoň jedno cislo, má také povinný atribut id obsahující jednoznačný identifikátor cislo má nepovinný atribut typ s hodnotami mobil, stabil nebo skype

DTD pro telefonní seznam <?xml version= 1.0?> <!ELEMENT seznam (osoba*)> <!ELEMENT osoba (jmeno,cislo+)> <!ATTLIST osoba id ID #REQUIRED > <!ELEMENT jmeno (#PCDATA)> <!ELEMENT cislo (#PCDATA)> <!ATTLIST cislo typ (mobil stabil skype) #IMPLIED >

Telefonní seznam příklad <?xml version= 1.0?> <seznam> <osoba id= elib > <jmeno>eleonora Líbezná</jmeno> <cislo>123 456 789</cislo> </osoba> <osoba id= mojl > <jmeno>mojmír Luzný</jmeno> <cislo typ= mobil >606 707 808</cislo> </osoba> </seznam>

Definice entit interní entity: <!ENTITY jméno hodnota > <!ENTITY tul Technická univerzita v Liberci > použití v XML: Naší školou je &tul;. externí entity (textové): <!ENTITY jméno SYSTEM lokátor > <!ENTITY kontakt SYSTEM doc/kontakt.xml > <!ENTITY jméno PUBLIC veřejný identifikátor lokátor >

Binární entity <!ENTITY jméno SYSTEM lokátor NDATA notace> notace určuje obslužný program <!NOTATION notace SYSTEM program > např.: <!ENTITY logo SYSTEM logo.gif NDATA gif> <!NOTATION gif SYSTEM c:/graphic/irfanview/i_view.exe > v podstatě se nepoužívá

Parametrické entity zkratky používané přímo v DTD <!ENTITY % jméno hodnota > použití v DTD: %jméno; příklad standardní atributy: <!ENTITY % stdattr id ID #IMPLIED style CDATA #IMPLIED > <!ELEMENT nadpis (#PCDATA)> <!ATTLIST nadpis %stdattr; uroven (kapitola cast podcast) #IMPLIED >

Připojení DTD ke XML nejčastější odkaz na externí soubor: <?xml version= 1.0?> <!DOCTYPE seznam SYSTEM telsez.dtd > může být uvedeno i přímo v XML souboru: <?xml version= 1.0?> <!DOCTYPE seznam [ <!ELEMENT seznam (osoba*)>... ]>

Klady DTD nejstarší definiční jazyk široce podporován nástroje jsou běžně dostupné jednoduché v podstatě tři konstrukce: ELEMENT, ATTLIST, ENTITY

Nedostatky DTD neumí datové typy velmi omezené možnosti pro definici obsahu prvků a hodnot atributů nepodporuje jmenné prostory problém při kombinování několika DTD nezvyklá syntaxe formálně je XML obsahem je vůbec nepřipomíná