1 / 24

Technol ógie XML

Technol ógie XML. XSD ( XML Schema Definition) September , 2011. XSD ako model dokumentu. Dokáže definovať rovnaké štruktúry XML dokumentov ako DTD Navyše: podpora kardinalít podpora dátových typov podpora menných priestorov rozšíriteľnosť XML syntax

zelia
Download Presentation

Technol ógie XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Technológie XML XSD (XMLSchema Definition) September, 2011 Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  2. XSD ako model dokumentu • Dokáže definovať rovnaké štruktúry XML dokumentov ako DTD • Navyše: • podpora kardinalít • podpora dátových typov • podpora menných priestorov • rozšíriteľnosť • XML syntax • Vhodný prostriedok pre definovanie modelu aj pre dátové aplikácie Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  3. Stav XSD • Spravovaný W3C (http://www.w3.org) • XML Schema (štandard v 2.edícii) • W3C working draft – september 2000 • W3C recommendation – máj 2001 • W3C recommendation – 2.edícia – október 2004 • XML Schema Definition Language 1.1 (návrh štandardu) • W3C working draft – december 2009 • W3C candidate recommendation – júl 2011 Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  4. Dátové typy • Štandard delený na dve hlavné časti, jedna z nich je venovaná dátovým typom • Rozlišované typy dát: • atomické: reťazce, numerické hodnoty, dátumy, URI, binárne dáta, logické hodnoty • zložené: zoznamy a unióny • Je možné používať dátové typy: • základné -458.934 (všeobecné číslo) • odvodené (preddefinované štandardom) 2011 (kladné celé číslo) • obmedzené (definované užívateľom) 25 (vek) Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  5. Reťazce • Základný typ: xs:string • obsahuje zobraziteľné znaky + CR, LF, TAB • Príklady odvodených typov • xs:normalizedString – bez CR, LF, TAB • xs:token – bez CR, LF, TAB, úvodné/koncové medzery, viacnásobné medzery • Príklady obmedzení • enumerácia "jano" "fero" "peter" (povolené reťazce) • dĺžka, min a max dĺžka "04200"(práve päť znakov) • vzor"Jano"(veľké a potom malé písmená) Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  6. Numerické hodnoty • Základný typ: xs:decimal • bežne písané číslo (číslice, bodka, plus, mínus) • Príklady odvodených typov • xs:integer – bez desatinnej časti • xs:nonNegativeInteger – nezáporné celé čísla • Príklady obmedzení • enumerácia 1 2 3 4 5 6 (povolené hodnoty) • {max|min}{Inclusive|Exclusive}4.01(min 4 exclusive) • vzor200(nula nesmie byť na prvej pozícii) Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  7. Tvorba obmedzených typov <xs:simpleType name="meno-typu"> <xs:restriction base="dátový-typ"> … obmedzenia </xs:restriction> </xs:simpleType> • Príklady obmedzení • <xs:enumeration value="jano"/> <xs:enumeration value="fero"/> • <xs:minLength value="5"/> • <xs:pattern value="[A-Z][a-z]*"/> • <xs:maxInclusive value="4"/> voliteľné pomenovanie typu ak žiadne obmedzenie, tak nový typ rovnaký ako pôvodný Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  8. 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 Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  9. Zoznamy <xs:simpleType name="meno-zoznamového-typu"> <xs:listitemType="dátový-typ"/> </xs:simpleType> • Zoznam ako typ • Odvodený typ (prvky zoznamu sú určitého typu) • Možno definovať obmedzené zoznamy • Príklady obmedzení • dĺžka, min a max dĺžka 2011 12 31(práve triprvky) • vzor"meno""Jano"(prvý prvok pevne daný) Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  10. Unióny (zjednotenia typov) <xs:simpleType name="meno-uniónového-typu"> <xs:union> <xs:simpleType> … prvý zlučovaný typ </xs:simpleType> <xs:simpleType> … druhý zlučovaný typ </xs:simpleType> …ďalšie zlučované typy </xs:union> </xs:simpleType> Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  11. Dokument pre značkovanie ... Objavovanie znalostí z/s 6 P P-2 CN-1 PP-1 Technológie XML kz 6 PV P-1 CL-2 Cudzí jazyk z/s 0 V S-2 ... Dĺžkovo obmedzený zoznam Enumeračne obmedzený xs:string xs:string Enumeračne obmedzený xs:string Unión 0 a xs:positiveInteger alebo enumeračne obmedzený xs:integer Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  12. Počet kreditov - typ ... 6 6 0 xs:nonNegativeInteger <xs:simpleTypename="pk-type"> <xs:union> <xs:simpleType> <xs:restriction base="xs:positiveInteger"/> </xs:simpleType> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:enumeration value="0"/> </xs:restriction> </xs:simpleType> </xs:union> </xs:simpleType> <xs:simpleTypename="pk-type"> <xs:restriction base="xs:integer"> <xs:enumeration value="0"/> <xs:enumeration value="6"/> </xs:restriction> </xs:simpleType> Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  13. Rozsah predmetu - typ ... P-2 CN-1 PP-1 P-1 CL-2 S-2 ... <xs:simpleTypename="rp-forma"> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]*-[1234]"/> </xs:restriction> </xs:simpleType> <xs:simpleTypename="rp-zozn"> <xs:listitemType="rp-forma"/> </xs:simpleType> <xs:simpleTypename="rp-type"> <xs:restriction base="rp-zozn"> <xs:maxLength value="4"/> </xs:restriction> </xs:simpleType> Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  14. Definícia elementov • <xs:element name="…" type="štandardný-typ"/> • <xs:element name ="…"> <xs:definícia-typu> … </xs:definícia-typu> </xs:element> • <xs:element name ="…" type="môj-typ"/> <xs:definicia-typu name="môj-typ"> … </xs:definícia-typu> • <xs:element ref="…"/> štandardný typ novo definovaný typ inde definovaný typ inde definovanýelement Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  15. Jednoduché typy • Element (obsahuje iba text) • <xs:element name="názov-elementu" type="typ-obsahu"/> • Atribút • <xs:attribute name="názov-atribútu" type="typ-obsahu"/> • Typom obsahu môže byť základný, odvodený alebo ohraničený dátový typ • Nepovinné atribúty • E+A: default – prednastavená hodnota • E+A: fixed – povinná (nemenná) hodnota elementu • A: use – voliteľnosť použitia (optional alebo required) Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  16. Element obsahujúci vnorené elementy <xs:element name="názov-elementu"> <xs:complexType> <xs:indikátor-výberu> <xs:element name="..." type="…"indikátor-výskytu/> <xs:element name="..." indikátor-výskytu> … typ elementu </xs:element> <xs:element ref="…"indikátor-výskytu/> … ďalšie elementy </xs:indikátor-výberu> </xs:complexType> </xs:element> Element definovaný interne Element definovaný interne Element definovaný externe Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  17. Indikátory • Indikátory výberu • all – povolené ľubovoľné usporiadanie • sequence – vyžadované presne stanovené poradie • choice – výber jednej z možností • Indikátory výskytu • minOccurs – minimálny počet opakovaní elementu • ak neuvedené, tak default je 1 • pre ‘all’ indikátor môže byť iba 0 alebo 1 • maxOccurs – maximálny počet opakovaní elementu • ak neuvedené, tak default je 1 • pre ‘all’ indikátor môže byť iba 1 • hodnota ‘unbounded’ znamená neohraničené opakovanie Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  18. Element obsahujúci elementy a atribúty <xs:element name="názov-elementu"> <xs:complexType> <xs:indikátor-výberu> ... definícia elementov </xs:indikátor-výberu> <xs:attribute name="..." type="..." nepovinné-atribúty> <xs:attributeref="..." nepovinné-atribúty> .... ďalšie atribúty </xs:complexType> </xs:element> Atribút definovaný interne Atribút definovaný externe Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  19. Element obsahujúci text + atribúty <xs:element name="názov-elementu"> <xs:complexType> <xs:simpleContent> <xs:extensionbase="typ-textu"/> <xs:attribute name="..." type="..." nepovinné-atribúty> … </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> Obsah elementu (nejakého typu) je rozšírený o atribúty Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  20. Element obsahujúci atribúty <xs:element name="názov-elementu"> <xs:complexType> <xs:attribute name="..." type="..." nepovinné-atribúty> … </xs:complexType> </xs:element> Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  21. Značkovaný dokument <zoznam> ... <predmet> <meno-predmetu>Technológie XML</meno-predmetu> <ukoncenie>kz</ukoncenie> <kredity>6</kredity> <volitelnost>PV</volitelnost> <rozsah>P-1 CL-2</rozsah> </predmet> … </zoznam> Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  22. XSD predmetov <xs:element name="zoznam"> <xs:complexType> <xs:sequence> <xs:element name="predmet" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="meno-predmetu" type="xs:string"/> <xs:element name=“ukoncenie" type="uk-type"/> <xs:element name="kredity" type="pk-type"/> <xs:element name=“volitelnost" type="vol-type"/> <xs:element name=“rozsah" type="rp-type"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  23. XSD a menné priestory <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.tuke.sk/ns/rozvrh" xmlns ="http://www.tuke.sk/ns/rozvrh" elementFormDefault="qualified" attributeFormDefault="qualified"> … definícia elementov a atribútov </xs:schema> Xml súbor má použiť tento menný priestor (ak použije prefixový tvar NS) Xml súbor má použiť uvedený tvar pre elementy Xml súbor má použiť tento menný priestor (ak použije implicitný tvar NS) Xml súbor má použiť uvedený tvar pre atribúty Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  24. Pripojenie modelu k dokumentu <?xml version="1.0"?> <roz:zoznam xmlns:roz="http://www.tuke.sk/ns/rozvrh" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.tuke.sk/ns/rozvrh file:///share/schema/rozvrh.xsd"> … </roz:zoznam> pre tento menný priestor ... ... hľadaj XSD model na tejto lokácii Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

More Related