XML Schema Irena Mlýnková. Obsah XML – úvod, příklad, základní pojmy DTD – přehled XML Schema – podrobně.

Slides:



Advertisements
Podobné prezentace
Štěpán Šípal Gymnázium Čakovice. Dnešní témata  Vznik XHTML a předchůdci  Základní prvky XHTML dokumentu  Tagy a atributy  Elementy a jejich druhy.
Advertisements

VY_32_INOVACE_4.3.IVT1.15/Oc Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jaroslav Ochodek CZ.1.07/1.5.00/ Tvorba webových.
Základní struktura, metainformace
Programování funkcí v Excelu
Přednáška č. 1 Úvod, Historie zpracování dat, Základní pojmy
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Jazyk HTML Název školyZákladní škola a Mateřská škola Tatenice Číslo projektuCZ Název šablony klíčové aktivity Inovace a zkvalitnění výuky pomocí.
Úvod do HTML. Co je HTML  zkratka pro HyperText Markup Language  značkovací jazyk pro hypertext  umožňuje publikaci dokumentů na internetu.
Serialization (převod) Úvod 1 SGML W3C HTML 1.x. HTML4.0 xHTML 1.0. xHTML 2.x HTML 5 (xHTML 5) HTML 4.0 xml (xHTML 1.0) xHTML je dobřé zformovaný (well-formed)
David Pejčoch XML (Extensible Markup Language) Semistrukturovaná data Obecný značkovací jazyk Vyvinut a standardizován konzorciem W3C Zjednodušená.
Aplikační a programové vybavení
Ing. Monika Šimková. Máme-li data reprezentovat v databázi, jak vybereme jejich strukturu na konceptuální úrovni? Konceptuální modelování analyzuje požadavky.
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
TVORBA WEBOVÝCH STRÁNEK
Návrh a tvorba WWW Cvičení 2 CSS 3. Cascading Style Sheet Cascading Style Sheet (kaskádové styly) je stylový jazyk, který se používá pro popis vzhledu.
XHTML Tvorba webových stránek. Vývoj značkovacích jazyků HTML – HyperText Markup Language  Značkovací jazyk pro vytváření www stránek. Pomocí značek.
Databáze Jiří Kalousek.
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
Kaskádové styly Cascading Style Sheets. Využití CSS jde o jazyk pro popis způsobu zobrazení stránek napsaných v jazycích HTML, XHTML nebo XML umožňuje.
METADATA „Tvoří velice důležitou složkou geodat (prostorově lokalizovatelných dat) “ Renata Hrabinová.
Tvorba WWW stránek HTML - XHTML Každá Internetová stránka (WWW stránka) je vytvořena pomocí programovacího jazyka HTML (Hypertext Markup Language). Každá.
Formální jazyky a gramatiky
Návrh a tvorba WWW Přednáška 4 XML, XHTM. Extensible Markup Language Extenible Markup Language (rozšiřitelný značkovací jazyk) je značkovací jazyk, který.
1 5. přednáška XML Slajdy převzaty z Mlýnková, Nečaský : Technologie XML (DBI026, MFF UK) Úvod do databázových systémů B RNDr. Jan Lánský, Ph.D.
Informatika pro ekonomy II přednáška 10
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
1 PRG036 – Technologie XML Přednáší: Irena Mlýnková Martin Nečaský
Maturitní okruh 22: Úvod do HTML. Značkovací a klasické jazyky Klasické: převládá strukturovaný text (programovací kód), skripty jsou prováděny na straně.
Návrh a tvorba WWW Cvičení 4
Teorie zpracování dat KONCEPTUÁLNÍ SCHÉMA.
Jazyk XML Jazyk pro tvorbu strukturovaných dokumentů Syntaxí velmi podobný HTML Hlavní cíle návrhu: Snadná editace - jazyk je textový Snadné strojové zpracování.
XML na papír Dušan Fencl
HUMUSOFT s.r.o. Konference WITNESS Setkání uživatelů programu WITNESS Hotel Valáškův Grunt, Kozov
Databázové modelování
RDF a RQL Roman Krejčík. RDF a RQL RDF – Resource Description Framework –Jazyk pro ukládání informací v XML –RDF Schema RQL – RDF Query Language –Dotazování.
State Transition Diagram a model řízení 5.Cvičení IS/IT.
Databázové systémy Informatika pro ekonomy, př. 18.
Elektrotechnika Mikroprocesorová technika
XML a metainformační systémy (pro geoinformace) Ing. Jan Růžička Institut ekonomiky a systémů řízení, odd.GIS VŠB-TU Ostrava, HGF tř. 17.listopadu
Ústav informatiky PEF MZLU v Brně
Tvorba efektních www stránek pro každého Od historie až po současnost… Úvod Porovnání Validace Prohlížeče Závěr.
Vít Profant Obhajoba bakalářské práce
HTML a spol.. Nejpoužívanější formát dat textových dokumentů poskytovaných v rámci služby WWW. HTML (Hyper Text Markup Language) je jazyk pro popis struktury.
XML eXtensible Markup Language Adolf Knoll Národní knihovna ČR
Jazyk XML v geoinformatice
Kaskádové styly Cascading Style Sheets. Využití CSS jde o jazyk pro popis způsobu zobrazení stránek napsaných v jazycích HTML, XHTML nebo XML umožňuje.
Lišta nástrojů Standard otevření, uložení a další manipulace se soubory (tj. projekty) načítání dat (mapových vrstev) „žluté plus“ změna měřítka odkaz.
Petr Šmíd Obsah prezentace Co je to XML ?
Ověření Možnosti Využití Jazyka XML a Formátu SVG Pro Potřeby Metainformačního Systému CAGI Zpracovatel:tomáš duchoslav Vedoucí: ing. Jan růžička.
Úvod do XML S využitím materiálů z Zdeněk Žabokrtský.
JavaScript úvod. Jazyky webového vývojáře Dynamická stránka  aktivně mění svůj obsah v reakci na činnost uživatele  zpracování na straně serveru (PHP,
Databázové systémy Úvod, Základní pojmy. Úvod S rozvojem lidského poznání roste prudce množství informací. Jsou kladeny vysoké požadavky na ukládání,
Perzistence XML dat Kamil Toman
Standardy pro anotaci jazykových dat Daniel Zeman Počítačové zpracování přirozeného jazyka.
Základy XML – struktura dokumentu (včetně testových otázek) Otakar Čerba Oddělení geomatiky Katedra matematiky Fakulta aplikovaných věd Západočeská univerzita.
XML a datový standard Zdeněk Jirkovec Softwarové Aplikace a systémy.
WWW a HTML Základní pojmy Ivo Peterka.
Zpracování textů efektivně
Výukový materiál zpracován v rámci projektu
XML Validace.
WWW a HTML Základní pojmy Ivo Peterka.
Značkovací jazyky Začínáme.
Databázové systémy a SQL
Financováno z ESF a státního rozpočtu ČR.
Ukládání dat v paměti počítače
Interoperabilita ISO 19115, ISO Jan Růžička,
Informatika pro ekonomy přednáška 8
VIKMA05 Organizace znalostí
Algoritmizace a datové struktury (14ASD)
NÁZEV PROJEKTU GIS jako nástroj pro podporu hodnocení krajinné zeleně (modelové území okresu Karviná) PROJEKT ZPRACOVAL : PAVEL POMEZNÝ.
Transkript prezentace:

XML Schema Irena Mlýnková

Obsah XML – úvod, příklad, základní pojmy DTD – přehled XML Schema – podrobně

XML

Úvod XML = eXtensible Markup Language (W3C) Podmnožina SGML omezená pravidly Prvky: –Elementy = počáteční a koncová značka, prázdný –Atributy = část počátečního elementu, název + hodnota –XML deklarace = verze XML, znaková sada… –Komentáře –Sekce CDATA – znaky, &… –Instrukce pro zpracování – pro nadřazený program

Příklad O mé rodině a jiné zvířeně Gerald Durrell

Základní pojmy Správně strukturovaný (well-formed) dokument = splňuje základní syntaktická pravidla: –Neprázdné elementy uzavřeny mezi obě značky –Správné uzávorkování značek –Dokument má právě jeden kořenový element Přípustnou strukturu definujeme XML schématem (v různých jazycích – DTD, XML Schema) Poznámka: XML schéma vs. XML Schema Validní dokument = dokument odpovídající danému XML schématu

DTD

Definice a připojení k dokumentu – definice uvnitř dokumentu – připojení souboru s DTD k dokumentu <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" " – veřejný identifikátor

Elementy Název + model obsahu: –Jednoduchý – EMPTY (prázdný), ANY (libovolný), #PCDATA (textový) –Elementový – seznam (,) nebo výběr (|) z elementů + jejich četnosti (*, +, ?) –Jejich kombinace (závorky, smíšený obsah)

Atributy (1) Název + datový typ + výskyt + implicitní hodnota Datové typy: –CDATA (text) –ID (v rámci dokumentu jednoznačné id), IDREF, IDREFS, (odkaz / seznam odkazů na id) –ENTITY, ENTITIES (odkaz / seznam odkazů na entity) –NMTOKEN, NMTOKENS (jednoslovná hodnota / seznam hodnot z písmen, číslic a znaků ‘.’ ‘:’ ‘_’ atd.) –NOTATION (odkaz na deklarovanou notaci, tj. popis ne-XML dat) –Skupina přípustných hodnot

Atributy (2) Povinnost výskytu: –#REQUIRED (povinný), #IMPLIED (nepovinný, hodnotu doplní aplikace), #FIXED (fixní hodnota) Implicitní hodnota – pokud není #REQUIRED nebo #IMPLIED <!ATTLIST kniha typ (povídky|román|poezie) #REQUIRED cena CDATA #IMPLIED> <!ATTLIST obrázek src CDATA "unspecified.gif">

Entity (1) Textové: (interní x externí) … &program; … &kapitola; … Binární: (externí) –Odkazujeme přes atributy ENTITY, ENTITIES

Entity (2) Zabudované: < ( ) & (&) " (") &apos; (‘) Znakové: lib. znak – např. = mezera Parametrické: (interní x externí) <!ENTITY % společné-atributy "jazykCDATA #IMPLIED utajení (veřejné|tajné) "veřejné">

Další prvky Notace – deklarace ne-XML formátu, který smí být použit (odkazujeme přes atribut NOTATION nebo parametr NDATA binárních entit) Podmíněné sekce – vypuštění části textu, –nebo pomocí entit

XML Schema

Motivace (1) Nevyžaduje speciální syntaxi (XML schémata = XML dokumenty) Silná podpora datových typů, umožňuje specifikovat vlastní uživatelsky definované typy Je možné opakovaně využívat již definované prvky Umožňuje přesné vyjádření počtu výskytů Mnoho objektově-orientovaných prvků Umožňuje definovat elementy se stejným názvem, ale různým obsahem

Motivace (2) Umožňuje specifikovat unikátnost obsahu elementu, hodnoty atributu nebo jejich kombinace v rámci požadované části XML dokumentu Zachovává většinu prvků jazyka DTD

Úvod Elementy definujeme pomocí elementů: (–) Komplikace v pojmech (+) XML schéma v jazyce XML Schema = XML dokument validní vůči DTD jazyka XML Schema (+) Silný nástroj Využívá se jmenných prostorů Tutéž věc je možné definovat několika způsoby (+/–)

Jmenné prostory Jmenný prostor = prostor v němž jsou jména elementů / atributů unikátní Identifikovány svým URI XML schéma můžeme definovat pomocí různých sad značek (množin elementů a atributů) xmlns: >= >... Určení jmenného prostoru pro element a jeho podelementy >: >... Použití prvku Implicitní sada značek – bez prefixu

Příklad <ceník:nabídka xmlns:ceník=" xmlns:bib=" O mé rodině … Gerald Durrell …

Připojení k dokumentu <KorenovyElement xmlns=" xmlns:xsi=" xsi:schemaLocation=" schema1.xsd">... Nemá-li schéma cílový jmenný prostor, pak: xs:noNamespaceSchemaLocation="schema2.xsd"

Kořenový element (1) Globální elementy (na první úrovni v dokumentu) Globálně definované prvky (spec. použití – viz. dále) <xs:schema xmlns=" xmlns:xs=" targetNamespace="

Kořenový element (2) version – verze schématu targetNamespace – URI vytvářeného (cílového) jmenného prostoru finalDefault – implicitní hodnota atributu final v celém schématu (viz. dále) blockDefault – implicitní hodnota atributu block v celém schématu (viz. dále) elementFormDefault – implicitní hodnota atributu form všech elementů ve schématu (viz. dále) attributeFormDefault – implicitní hodnota atributu form všech atributů ve schématu (viz. dále)

Elementy (1)

Elementy (2) name – název elementu type – datový typ elementu (x podelementem) ref – odkaz na globálně deklarovaný element nillable – příznak, zda smí (tj. ne empty element) být instance elementu uvedena bez obsahu default – implicitní hodnota elementu uvedeného bez obsahu (pro elementy s jednoduchými typy) fixed – konstantní (jediná možná) hodnota elementu (pro elementy s jednoduchými typy)

Elementy (3) minOccurs – minimální nutný počet výskytů elementu na daném místě maxOccurs – maximální možný počet výskytů elementu na daném místě form – příznak, zda musí být název elementu uváděn s prefixem cílového jmenného prostoru (qualified) nebo ne (unqualified)

Atributy (1) Součástí definice složeného typu (viz. dále) elementu <xs:attribute name="Věk" type="xs:positiveInteger"/> Typ určujeme atributem type nebo podelementem Pouze jednoduché typy Globálně x lokálně definované

Atributy (2) name – název atributu type – datový typ atributu ref – odkaz na globálně definovaný atribut default – implicitní hodnota atributu, není-li uveden fixed – konstantní (jediná možná) hodnota atributu use – nepovinný (optional), povinný (required), nebo zakázaný (prohibited) výskyt atributu form – příznak zda musí být název atributu uváděn s prefixem cílového jmenného prostoru (qualified) nebo ne (unqualified)

Atributy (3) use="prohibited"... <xs:attribute name="radius" type="xs:nonNegativeInteger" use="prohibited"/>...

Jednoduché typy (1) Neobsahují elementy ani atributy Omezení řetězce na množinu přípustných hodnot Vestavěné x uživatelsky definované –Vestavěné = základní x odvozené Typy převzaté z DTD (ID, ENTITY…) – pouze pro atributy

Jednoduché typy (2) – vestavěné, základní string – Řetězec znaků boolean – Logické hodnoty true a false, popř. 1 a 0 decimal – Kladné nebo záporné reálné číslo float – 32-bitové kladné nebo záporné reálné číslo vyjádřené pomocí mantisy a exponentu double – 64-bitové číslo -//- duration – Časový úsek ve tvaru PnYnMnDTnHnMnS, kde P a T jsou oddělovače, nY znamená n let apod.

Jednoduché typy (3) – vestavěné, základní dateTime – Datum a čas ve tvaru YYYY-MM- DDThh:mm:ss.ss, T je oddělovač time – Čas ve tvaru hh:mm:ss.ss date – Datum ve tvaru YYYY-MM-DD gYearMonth – Měsíc v roce ve tvaru YYYY-MM gYear – Rok ve tvaru YYYY gMonthDay – Den v měsíci ve tvaru MM-DD gMonth – Měsíc ve tvaru MM gDay – Den ve tvaru DD

Jednoduché typy (4) – vestavěné, základní hexBinary – Hexadecimální číslo base64Binary – Binární data s kódováním Base64 anyURI – Absolutní nebo relativní URI QName – XML Qualified Name, tj. řetězec ve tvaru >: >, kde > je označení jmenného prostoru a > je prvek patřící do daného jmenného prostoru NOTATION – z DTD

Jednoduché typy (5) – vestavěné, odvozené od typu string normalizedString – Řetězec (string), který neobsahuje znaky CR, LF a tabulátor token – Řetězec (normalizedString), který nemá mezery na začátku ani na na konci a neobsahuje posloupnost mezer delší než jedna language – Identifikátor jazyka (např. en, en-GB) Name –XML Name, tj. řetězec, který smí obsahovat písmena, číslice, ‘-’ ‘_’ ‘:’ a ‘.’ NCName –XML Name, které nesmí obsahovat ‘:’ NMTOKEN, NMTOKENS, ID, IDREF, IDREFS, ENTITY, ENTITIES – z DTD

Jednoduché typy (6) – vestavěné, odvozené od typu decimal integer – Kladné nebo záporné celé číslo positiveInteger – Kladné celé číslo negativeInteger – Záporné celé číslo nonPositiveInteger – Nekladné celé číslo nonNegativeInteger – Nezáporné celé číslo long – Celé číslo z intervalu – 2^63, 2^63 – 1 int – Celé číslo z intervalu – 2^31, 2^31 – 1 short – Celé číslo z intervalu – 2^15, 2^15 – 1 byte – Celé číslo z intervalu – 2^7, 2^7 – 1

Jednoduché typy (7) – vestavěné, odvozené od typu decimal unsignedLong – Nezáporné číslo < 2^64 unsignedInt – Nezáporné číslo < 2^32 unsignedShort – Nezáporné číslo < 2^16 unsignedByte – Nezáporné číslo < 2^8

Jednoduché typy (8) – uživatelsky definované Odvozené restrikcí, seznamem nebo sjednocením (viz. dále) Definujeme pomocí elementu simpleType –name – název jednoduchého typu –final – z datového typu není možné odvozovat další typy restrikcí (restriction), seznamem (list), sjednocením (union) nebo libovolným způsobem (#all)

Jednoduché typy (9) – odvození restrikcí Nastavíme omezení hodnot pomocí parametrů (viz. dále) Původní typ určíme atributem base nebo podelementem Nový typ je podmnožinou původního

Jednoduché typy (10) – odvození restrikcí length, minLength, maxLength – Počet jednotek daného typu (např. znaků v řetězci) pattern – Regulární výraz enumeration – Explicitně vyjmenovaná množina povolených hodnot daného typu whiteSpace – Zpracování bílých znaků v řetězci – preserve (žádné změny), replace (znaky CR, LF a tabulátor jsou nahrazeny mezerou), collapse (navíc odstraněny mezery na začátku a na konci řetězce a posloupnosti mezer nahrazeny jednou mezerou)

Jednoduché typy (11) – odvození restrikcí maxInclusive, minInclusive, maxExclusive, minExclusive – Hodnoty datového typu musí být =, zadaná hodnota totalDigits – Maximální počet cifer fractionDigits – Maximální počet cifer za desetinnou čárkou

Jednoduché typy (12) – odvození restrikcí

Jednoduché typy (13) – odvození seznamem Vytvoření typu „seznam hodnot původního typu“ (který není seznamem) oddělených mezerami NMTOKENS, IDREFS, ENTITIES – vestavěné Původní typ určíme atributem itemType nebo podelementem

Jednoduché typy (14) – odvození sjednocením Vytvoření typu „sjednocení hodnot všech určených datových typů“ Sjednocované typy určíme atributem memberTypes nebo jako podelementy <xs:union memberTypes="xs:positiveInteger xs:negativeInteger"/>

Jednoduché typy (15) – odvození sjednocením

Složené typy (1) Vztahy element-podelement, element-atribut Varianty obsahu složeného typu: (viz. dále) –S jednoduchým obsahem –Se složeným obsahem –Posloupnost elementů –Množina elementů –Výběr z elementů –Modelová skupina

Složené typy (2) <xs:attribute name="Zeme" type="xs:NMTOKEN„ default="CZ"/>

Složené typy (3) name – název složeného datového typu mixed – příznak smíšeného obsahu abstract – příznak, zda složený typ smí být přiřazen elementu block – za element s tímto datovým typem není možné substituovat elementy odvozené restrikcí (restriction), rozšířením (extension) nebo libovolným způsobem (#all) final – z datového typu není možné odvozovat další typy rozšířením (extension), restrikcí (restriction) nebo libovolným způsobem (#all)

Složené typy (4) – s jednoduchým obsahem Rozšíření jednoduchého datového typu o atributy Restrikce jiného složeného typu s jednoduchým obsahem, tj. restrikci jeho obsahu

Složené typy (5) – s jednoduchým obsahem

Složené typy (6) – se složeným obsahem Obsahuje rozšíření nebo restrikci některého z následujících čtyř typů složeného typu –Restrikce znamená vytvoření nového složeného typu, který je podmnožinou typu původního (např. omezením hodnot, omezením počtu výskytů apod.) –Rozšířením vznikne složený typ, který obsahuje původní i nový typ (jeho prvky) v tomto pořadí

Složené typy (7) – se složeným obsahem (rozšíření) <xs:element name="Jmeno„ type="xs:string"/> <xs:element name="Prijmeni" type="xs:string"/> <xs:element name="Poznamka" type="xs:string" minOccurs="0"/> <xs:attribute name="Id" type="xs:ID"/> <xs:element name="Obor" type="xs:string"/> <xs:element name="Rocnik" type="xs:positiveInteger"/>

Složené typy (8) – se složeným obsahem (restrikce)

Složené typy (9) – posloupnost elementů Množina elementů, posloupností, výběrů… s pořadím Sekvence (i elementy) mohou mít dané počty výskytů

Složené typy (10) – výběr z elementů Výběr z elementů, posloupností, výběrů… V dokumentu se vyskytuje jedna možnost Prvky výběru mohou mít vícenásobný výskyt

Složené typy (11) – množina elementů Množina elementů (pouze) s libovolným pořadím Max. počet výskytů každého elementu je 1

Složené typy (12) –modelová skupina Jako podelement obsahuje posloupnost, výběr nebo množinu elementů Vždy deklarována globálně (= účel)

Složené typy (13) –modelová skupina name – název modelové skupiny ref – odkaz na globálně definovanou modelovou skupinu (totéž by šlo i pro elementy samotné) minOccurs, maxOccurs

Skupiny atributů (1) Asociace názvu s množinou atributů Umožňuje využít stejnou skupinu atributů opakovaně

Skupiny atributů (2) Totéž by šlo i pro atributy samotné

Substituční skupiny (1) <xs:element name="Kniha" type="TypKniha" substitutionGroup="Publikace"/> <xs:element name="Casopis" type="TypCasopis" substitutionGroup="Publikace"/>

Substituční skupiny (2) <Knihovna xmlns=" xmlns:xsi=" Illusions: The Adventures of a Reluctant Messiah Richard Bach Natural Health 1999 The First and Last Freedom J. Krishnamurti

Substituční skupiny (3) Elementy musí mít stejný typ nebo typ odvozený od typu vedoucího elementu Substituce elementů = řeší substituční skupiny, nahrazení celého elementu jiným –viz. předchozí příklad vs. Substituce typů = implicitně, nahrazení obsahu (typu) elementu odvozeným obsahem (typem) –viz. následující příklad

Substituční skupiny (4) <Knihovna xmlns=" xmlns:xsi=" Staying Young Forever Karin Granstrom Jordan, M.D Illusions The Adventures of a Reluctant Messiah Richard Bach

Substituční skupiny (5) block –substitution = za element nelze substituovat jiné elementy –extension / restriction = obsah elementu není možné nahradit žádným typem odvozeným rozšířením / restrikcí –#all = zakazuje všechny tři typy substitucí final – v substituční skupině vedoucího elementu se nesmí vyskytovat elementy, jejichž typy byly odvozeny rozšířením (extension), restrikcí (restriction) nebo libovolným způsobem (#all)

Omezení identity (1) Z DTD typy pro atributy: ID, IDREF, IDREFS XML Schema umožňuje: –Rozlišovat mezi pojmy unikátní a klíč –Definovat obsah elementu jako unikátní / klíč –Definovat unikátní neklíčové atributy –Definovat kombinaci elementu a atributu jako unikátní –Definovat část dokumentu v rámci níž je něco unikátní Asociace názvu s omezením na unikátnost / klíč Pro určování prvků a oblastí využívá jazyk XPath

Omezení identity (2) – key Klíč = je element/atribut/kombinace, pokud: –Je v dokumentu vždy obsažen (tj. minOccurs > 0) –Nemá příznak nillable="true" –Je unikátní......

Omezení identity (3) – key „V rámci elementu má každá a to je klíčem.“ Definice je vždy na konci elementu vybírá množinu jeho podelementů pro něž klíč platí (vždy právě jeden) vybírá element nebo atribut, který je klíčem (musí být alespoň jeden => daná kombinace je klíčem, např. a )

Omezení identity (4) – unique Použití stejné jako klíč Rozdíl je v tom, že pokud je hodnota v dokumentu obsažena, musí být unikátní

Omezení identity (5) – keyref

Omezení identity (6) – keyref „ z oblasti autoři/autor/nejlepšíKniha se musí odkazovat na ISBN daná klíčem PK“ Lze se odkazovat na i musí mít tolik polí kolik / se stejnými typy a pořadím Něco jako není

Zástupci – wildcards (1) Umožňují vložit na dané místo „libovolný“ element ( ) nebo atribut ( ) <xs:any namespace=" minOccurs="1" maxOccurs="unbounded" processContents="lax"/>

Zástupci (2) namespace – jmenný prostor přípustných elementů: –URI konkrétního jmenného prostoru / prostorů –Libovolný známý jmenný prostor (##any) –Cílový jmenný prostor schématu (##targetNamespace) –Prostor jiný než cílový jmenný prostor (##other) –Elementy bez prefixu jm. prostoru – libovolné (##local) processContents – způsob validace zástupců: –Přísná validace zástupců vůči jm. prostorům (strict) –Pouze vůči známým schématům jm. prostorů (lax) –Žádná validace (skip)

Externí schémata (1) Využití již definovaných schémat: – umožňuje využívat při vytváření XML schématu prvky z externího schématu – umožňuje tyto prvky předefinovat – umožňuje zahrnout do cílového jmenného prostoru prostor externího schématu Pouze jako přímé podelementy elementu

Externí schémata (2) – include schemaLocation – URI schématu, jehož prvky chceme používat Na prvky z odkazovaného schématu se lze odkazovat přes ref, type atd., jakoby byly součástí schématu Odkazovaná schémata musí mít stejný jmenný prostor jako aktuální schéma nebo žádný (tj. odkazujeme se prefixem aktuálního jmenného prostoru)

Externí schémata (3) – import Využití prvků z různých jmenných prostorů <xs:import namespace=" schemaLocation="Nikon.xsd"/> <xs:import namespace=" schemaLocation="Olympus.xsd"/>

Externí schémata (4) – redefine + prvky (simpleType, complexType, attributeGroup, group) lze předefinovat –Datové typy klasicky –Množiny => pod/nadmnožina

Anotace (1) Informace určená pro člověka / aplikaci zpracovávající dokument. Interpretace informace není definována. Hodnota A musí být větší než hodnota B

Anotace (2) source – URI externího zdroje xml:lang – jazyk externího zdroje (pro )

Větší příklad

Poznámky: Kořenový element v instancích dokumentu určit nejde (lze obejít definováním jediného globálního elementu). XML schéma v jazyce XML Schema (stejně jako DTD) pro jazyk XML Schema existuje. Čeština pro názvy elementů a atributů:

Zdroje XML 1.0 (Second Edition) XML Schema Part 0: Primer XML Schema Part 1: Structures XML Schema Part 2: Datatypes