xml sch éma

17
Technológie XML XML schéma

Upload: dasan

Post on 24-Feb-2016

62 views

Category:

Documents


0 download

DESCRIPTION

XML sch éma. Tvorba XML sch émy (1) - elementy. Najprv si zadefinujeme namespace pre XML sch ému v koreňovom elemente schéma. < xsd:schema xmlns:xsd ="http://www.w3.org/2001/XMLSchema"> . Tvorba XML sch émy (2) - elementy. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: XML  sch éma

Technológie XMLXML schéma

Page 2: XML  sch éma

Prezenčka z poslednej prednášky

Účasť = +2bNeúčasť = -2b

Page 3: XML  sch éma

Príklad 1Popíšte nasledujúci XML dokument pomocou XML schémy:

<?xml version=“1.0” encoding=“UTF-8”?><firma>

<zamestnanec id=“162”><meno>Jozef Kruty</meno><pozicia>XML specialista</pozicia><pracovna_napln>

<hlavna_zodpovednost>vytvaranie XML</hlavna_zodpovednost><ine>sprava vykazov, kontrola kvality</ine>

</pracovna_napln><plat mena=“eur”>1498</plat>

</zamestnanec></firma>

Page 4: XML  sch éma

Tvorba XML schémy (1)elementy

•Alternatíva k DTD•Výhoda – píše sa ako well-formed XML

• Tvorba XML schémy• 1. V XML je koreňový element je vždy schema• 2. v koreňovom elemente deklarujeme namespace• http://www.w3.org/2001/XMLSchema

<?xml version="1.0" encoding="utf-8" ?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"></xsd:schema>

Page 5: XML  sch éma

Tvorba XML schémy (2)elementy

• XML schéma obsahuje elementy:• <xsd:complexType> - označuje, že element obsahuje ďalšie podelementy• <xsd:all> - musia byť použité všetky podelementy daného elementu, ale

na ich poradí nezáleží• <xsd:sequence> - musia byť použité všetky podelementy daného

elementu, ale na ich poradí záleží• <xsd:choice> - výber jedného z možných podelementov• Ak element neobsahuje žiadne podelementy, tak sa píše iba typ

elementu a nepoužíva sa element complexType

<xsd:element name=“meno” type=“xsd:string”>

Page 6: XML  sch éma

Tvorba XML schémy (3)elementy

•Každý element musí byť pomenovaný t.j. obsahuje atribút name• Elementy, ktoré obsahujú ďalšie elementy sa

nazývajú komplexným typom

<xsd:element name=“root”><xsd:complexType></xsd:complexType>

</xsd:element>

Page 7: XML  sch éma

Tvorba XML schémy (4)•Atribúty elementu vždy definujeme za definíciou

elementov

<xsd:attribute name=“krajina_povodu” type=“xsd:string”>

•Pri každom elemente je možné počit min. a max. počet jeho opakovaní• Atribút minOccurs – min. počet opakovaní elementu• Atribút maxOccurs – max. počet opakovaní elementu

<xsd:element name="nazov" type="xsd:string" minOccurs="1" maxOccurs="unbounded“/>

Page 8: XML  sch éma

Príklad 2<?xml version="1.0"?><zoznam>

<spisovatel krajina_povodu="Nemecko"><meno>Erich Maria Remarque</meno><dielo>

<nazov>Na zapade nic nove</nazov><zaner>roman</zaner>

</dielo></spisovatel><spisovatel krajina_povodu="USA">

<meno>Ernest Hemingway</meno><dielo>

<nazov>Zbohom zbraniam</nazov><zaner>roman</zaner>

</dielo></spisovatel>

</zoznam>

Page 9: XML  sch éma

Pripojenie schémy ku dokumentu

XML dokument:</xml version=“1.0” encoding=“UTF-8”>

<meno xmlns=“http://www.priklad.sk/nieco”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=“http://www.priklad.sk/nieco file:subor.xsd”></meno>

XML schéma:

<xsd:schemaxmlns:xsd=http://www.w3.org/2001/XMLSchemaelementFromDefault=“qualified”targetNamespace=“http://nieco.org/nieco”>

Page 10: XML  sch éma

Dátové typy elementov a atribútov

• String• Boolean• Integer• Decimal• Float• Double• Byte• ...• (mnohé iné ako napr. gYear, Date, time, gYearMonthYear, anyUR, token,

language...)

Page 11: XML  sch éma

Obmedzené typy

• Príklad obmedzeného dátového typu – derivácia typu string s obmedzením na reťazec maximálnej dĺžky 20 znakov

<xsd:simpleType name="novy_typ"><xsd:restriction base="xsd:string"><xsd:maxLength value=“20”/></xsd:restriction>

</xsd:simpleType>

• Nový typ sa používa nasledovne:<xsd:element name="meno" type="novy_typ">

Page 12: XML  sch éma

Dostupné obmedzenia• enumeration – zoznam akceptovateľných hodnôt• fractionDigits – maximálny počet desatinných miest• length – presný počet znakov alebo prvkov zoznamu• maxExclusive – horná hranica (<)• maxInclusive – horná hranica (<=)• maxlength – maximálny počet znakov alebo prvkov zoznamu• minExclusive – dolná hranica (>)• minInclusive – dolná hranica (>=)• minLength – minimálny počet znakov alebo prvkov zoznamu• pattern – presná sekvencia akceptovateľných znakov• totalDigits – presný počet povolených číslic• whiteSpace – spracovanie bielych znakov

Page 13: XML  sch éma

Zmiešané hodnoty (1)

• Ak element obsahuje atribút a zároveň neobsahuje ďalší podelement<cena mena=“EUR”>254</cena>

• Ak element obsahuje aj jednoduchý dátový typ a zároveň obsahuje aj ďalšie podelementy

<meno>Martin Lesný<pohlavie>muž</pohlavie>

</meno>

Page 14: XML  sch éma

Zmiešané hodnoty (2)obsahuje atribút a žiaden podelement

<xsd:element name="meno"><xsd:complexType>

<xsd:simpleContent><xsd:extension base="xsd:string"><xsd:attribute name="cislo" type=„novy_typ"/></xsd:extension>

</xsd:simpleContent></xsd:complexType>

</xsd:element>

• Pozn.: novy_typ je obmedzený typ definovaný skôr• simpleContent – element môže obsahovať jednoduché hodnoty a nie element

Page 15: XML  sch éma

Zmiešané hodnoty (2)obsahuje jednoduchý dátový typ alebo podelementy

<xsd:element name="meno"><xsd:complexType mixed="true">

<xsd:all><xsd:element name="narodnost" type="xsd:string"/>

</xsd:all><xsd:attribute name="cislo" type="patciferne_cislo"/>

</xsd:complexType></xsd:element>

Page 16: XML  sch éma

Príklad 3• Vytvorte XML schému popisujúcu daný obrázok. Použite aj vhodné

obmedzenia.

Page 17: XML  sch éma

Príklad 4• Vytvorte XML schému popisujúcu daný obrázok. Použite aj vhodné

obmedzenia.