Petr Šmíd
Obsah prezentace Co je to XML ?
Obsah prezentace Co je to XML ? Vlastnosti
Obsah prezentace Co je to XML ? Vlastnosti Validita
Co je to XML ? EXtensible Markup Language Účelem je usnadnit sdílení dat napříč informačními systémy Popis dokumentu z hlediska věcného obsahu Vyvinuto a doporučováno konsorciem W3C
Vlastnosti Otevřený formát založený na prostém textu Implicitně používá znakovou sadu Unicode Definice vlastních elementů (tagů) Vysoká informační hodnota
Příklad dokumentu v XML Introduction Story Part 1 Part 2 Index
Validita XML
Správně strukturovaný a validní XML dokument Správě formovaný (well-formed) XML dokument dodržuje základní pravidla: Právě jeden kořenový element Korektní zanoření elementů Dodržení CASE sensitivity Hodnoty atributů uzavřeny v uvozovkách Speciální znaky zapsány pomocí entit Validní = vyhovující nějaké předem definované sadě pravidel, které si vymyslíme. Tento formát se definuje pomocí jazyků pro definování schématu dokumentu: DTD XML Schema RELAX NG
Proč se zabývat validitou ? Chyby v XML: Vzniklé při přenosu dat Vzniklé při editaci XML uživatelem z nepochopení/nedodržení pravidel předepsaných v DTD z neznalosti XML překlepy Program zpracovávající XML by se měl při první chybě zastavit a nepokračovat ve zpracování chybného dokumentu.
DTD (Document Type Definitions) Nejstarší a nejvíce podporované Může být definované uvnitř XML dokumentu, v externím souboru nebo veřejné Postačuje pro jednoduché aplikace Standardizovaná DTD např. pro HTML
XML Schema Pozor na terminologii XML schéma = přípustná struktura XML dat, popsaná v některém z existujících jazyků (DTD, XML Schema…) XML Schema = jazyk pro popis struktury dokumentu „XML schéma v jazyce XML Schema“
XML Schema XML Schema je lepší než DTD, protože Podporuje datové typy Podporuje namespaces Je zapsáno pomocí XML (není nutné se učit nový jazyk, na rozdíl od DTD) Je připraveno na budoucí rozšíření
Relax NG Syntax také vychází z XML, ale umožňuje i kompaktní zápis Stejně jako W3C XML Schema podporuje Datové typy Namespaces Regulární výrazy
Příklad - XML Petr Tomas Nezapomen!! Nezapomen pres weekend dodelat ty protokoly!! Tomas Petr Uz to mam!! Protokoly uz mam davno hotovy, hehe ;-)
DTD pro náš příklad note.xml Před kořenovým elementem nutno zadat hlavičku: note.dtd
XML Schema pro náš příklad …….
Relax NG schema pro náš příklad note.rng
Druhy validátorů Online validátoy Integrované ve vývojovém prostředí nebo prohlížeči Validátory běžnou součástí dostupných XML parserů
Online validátory V podobě webové stránky nebo služby vytvářející rozhraní klasickému parseru Nevýhody Posílám svá data neznámo kam a komu Nevhodné pro velké objemy dat Využití Experimenty XML validátor (X)HTML validátor kódu stránek
Online validátory HTML, XHTML, WML, DTD, XML Schema XML Schema HTML a XHTML RELAX NG Pouze well formed checker
Integrované validátory Součástí IDE nebo webového prohlížeče Pomáhají při vývoji XML dokumentu nebo HTML kódu Placená vývojová prostředí obvykle obsahují komplexní sadu funkcí pro vytváření, validaci a editaci XML
Odkazy a zdroje e_Comparison Validace XML a validátory, Karas M., 2007