View
51
Download
0
Category
Preview:
DESCRIPTION
XML. Petr Šmíd smidp1@fel.cvut.cz. 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
Citation preview
Petr Šmídsmidp1@fel.cvut.cz
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
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
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>
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 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.
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 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“
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í
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
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>
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)>
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>…….
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>
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á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
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
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 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
Recommended