obsah prezentace - sssebrno.cz...správně strukturovaný a validní xml dokument právě formovaný...

22

Upload: others

Post on 07-Jun-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element
Page 2: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

Obsah prezentace

Co je to XML ?

Vlastnosti

Validita

Page 3: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

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

Page 4: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

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

Page 5: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

Příklad dokumentu v XML<book>

<chapter><title>Introduction</title>

</chapter><chapter>

<title>Story</title><subChapter>

<title>Part 1</title></subChapter><subChapter>

<title>Part 2</title></subChapter>

</chapter><chapter>

<title>Index</title></chapter>

</book>

Page 6: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

Validita XML

Page 7: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

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

Page 8: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

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.

Page 9: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

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

Page 10: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

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“

Page 11: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

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í

Page 12: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

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

Page 13: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

Příklad - XML<?xml version="1.0" encoding="utf-8" ?>

<notepad>

<note id="1">

<to>Petr</to>

<from>Tomas</from>

<heading>Nezapomen!!</heading>

<body>Nezapomen pres weekend dodelat ty protokoly!!</body>

</note>

<note id="2">

<to>Tomas</to>

<from>Petr</from>

<heading>Uz to mam!!</heading>

<body>Protokoly uz mam davno hotovy, hehe ;-)</body>

</note>

</notepad>

Page 14: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

DTD pro náš příkladnote.xmlPřed kořenovým elementem nutno zadat hlavičku:<!DOCTYPE notepad SYSTEM "note.dtd">

note.dtd<!ELEMENT notepad (note)+><!ELEMENT note (to, from, heading, body)>

<!ATTLIST note id CDATA #REQUIRED><!ELEMENT to (#PCDATA)><!ELEMENT from (#PCDATA)><!ELEMENT heading (#PCDATA)><!ELEMENT body (#PCDATA)>

Page 15: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

XML Schema pro náš příklad<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="notepad"><xs:complexType><xs:sequence><xs:element ref="note" maxOccurs="unbounded"/>

</xs:sequence></xs:complexType>

</xs:element><xs:element name="note">

<xs:complexType>…….

Page 16: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

Relax NG schema pro náš příklad

note.rng<element name= "notepad" xmlns="http://relaxng.org/ns/structure/1.0"><oneOrMore>

<element name="note"><attribute name="id">

<data type="integer" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" />

</attribute><element name="to"><text/></element><element name="from"><text/></element><element name="heading "><text/></element><element name="body"><text/></element>

</element> </oneOrMore></element>

Page 17: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

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ů

Page 18: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

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 http://www.cogsci.ed.ac.uk/~richard/xml-check.html

(X)HTML validátor kódu stránek http://validator.w3.org/ http://www.w3schools.com/dom/dom_validate.asp

Page 19: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

Online validátoryhttp://www.validome.org/xml/ HTML, XHTML, WML,

DTD, XML Schema

http://www.w3.org/2001/03/webdata/xsv XML Schema

http://validator.w3.org/ HTML a XHTML

http://www.stg.brown.edu/service/xmlvalid/ RELAX NG

http://www.xml.com/pub/a/tools/ruwf/check.html Pouze well formed

checker

Page 20: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

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

Page 21: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element

Odkazy a zdroje http://www.w3.org

http://www.xml.com

http://www.zvon.org

http://www.kosek.cz

http://en.wikipedia.org/wiki/XML_Schema_Language_Comparison

http://www.w3schools.com/schema/default.asp

Validace XML a validátory, Karas M., 2007

Page 22: Obsah prezentace - sssebrno.cz...Správně strukturovaný a validní XML dokument právě formovaný (well-formed) dokument dodržuje základní pravidla: rávě jeden kořenový element