xml

24
Petr Šmíd [email protected]

Upload: shakti

Post on 04-Jan-2016

52 views

Category:

Documents


0 download

DESCRIPTION

XML. Petr Šmíd [email protected]. 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 ?. E X tensible M arkup L anguage Účelem je usnadnit sdílení dat napříč informačními systémy - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: XML

Petr Šmí[email protected]

Page 2: XML

Obsah prezentace

Co je to XML ?

Page 3: XML

Obsah prezentace

Co je to XML ?

Vlastnosti

Page 4: XML

Obsah prezentace

Co je to XML ?

Vlastnosti

Validita

Page 5: XML

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 6: XML

VlastnostiOtevř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 7: XML

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 8: XML

Validita XML

Page 9: 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

Page 10: XML

Proč se zabývat validitou ?Chyby v XML:

Vzniklé při přenosu datVzniklé 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 11: XML

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 12: XML

XML SchemaPozor 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 13: XML

XML SchemaXML 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 14: XML

Relax NGSyntax také vychází z XML, ale umožňuje i

kompaktní zápis

Stejně jako W3C XML Schema podporujeDatové typy

Namespaces

Regulární výrazy

Page 15: XML

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 16: XML

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 17: XML

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 18: XML

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 19: XML

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 20: XML

Online validátoryV 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 komuNevhodné pro velké objemy dat

VyužitíExperimentyXML 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 21: XML

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 22: XML

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 23: XML

Odkazy a zdrojehttp://www.w3.org http://www.xml.comhttp://www.zvon.orghttp://www.kosek.czhttp://en.wikipedia.org/wiki/

XML_Schema_Language_Comparison http://www.w3schools.com/schema/

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

Page 24: XML