1 / 20

XSD - XML Schema Definition

XSD - XML Schema Definition. Tarvo Treier idu0110@gmail.com. Kordamine. XML Veebiteenus XPath. XML. <element1> <element2 atribuut=“väärtus”>väärtus</element2> <element3 /> </element1> <pere> <ema nimi=“Iti”>Inimene</ema> <isa nimi=“Kusti”>Mees</isa> <laps nimi=“Nuki”>Ei tea</laps>

lara
Download Presentation

XSD - XML Schema Definition

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. XSD - XML Schema Definition Tarvo Treier idu0110@gmail.com

  2. Kordamine • XML • Veebiteenus • XPath

  3. XML • <element1> • <element2 atribuut=“väärtus”>väärtus</element2> • <element3 /> • </element1> • <pere> • <ema nimi=“Iti”>Inimene</ema> • <isa nimi=“Kusti”>Mees</isa> • <laps nimi=“Nuki”>Ei tea</laps> • </pere>

  4. XSD • XSD kirjeldab XML dokumendi struktuuri • Elemendid (Elements) • Atribuudid (Attributes) • Nende tüübid • Tavatüübid (Simple types) • Komplekstüübid (Complex types) • Piirangud (Restrictions) • XSD õppetund w3Schools lehel • http://w3schools.com/schema/

  5. XSD – Document structure Table structure Class definition XML – Document instance Record in a Table Object instance XSD võrdlused andmebaasi tabelite ja java klassidega

  6. XSD määrab... • Millised elemendid ja atribuudid tohivad olla dokumendis • Millised elemendid on alamelemendid • Alamelementide järjestuse ja arvu • Kas element on tühi või sisaldab teksti • Andmetüübid elementide ja atribuutide jaoks • Vaikimisi ja fikseeritud väärtused elementidele ja atribuutidele • Piirangud

  7. NB! Nimeruumid • Nimeruum (namespace) on lihtsalt loogiline (elementide ja tüüpide) nimede grupeering • Nimeruumis peavad nimed olema unikaalsed • Ühes XSD failis defineeritakse üks nimeruum Arst: Kand Põlv Klapp Pump Torumees: Põlv Klapp Pump Toru

  8. Näide <?xml version="1.0" ?> <Employees xmlns="http://www.abccorp.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.abccorp.com/employee.xsd"> <Employee> <SSN>737333333</SSN> <Name>ED HARRIS</Name> <DateOfBirth>1960-01-01</DateOfBirth> <EmployeeType>FULLTIME</EmployeeType> <Salary>4000</Salary> </Employee> </Employees> Allikas: http://www.15seconds.com/issue/031209.htm

  9. Näide jätkub (employee.xsd) <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="Employee" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="SSN" type ="xsd:string"/> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="DateOfBirth" type="xsd:date"/> <xsd:element name="EmployeeType"type="xsd:string"/> <xsd:element name="Salary" type="xsd:long"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>

  10. Inimene.xml <?xml version="1.0" encoding="UTF-8"?> <inimene xsi:noNamespaceSchemaLocation="inimene.xsd" xmlns:idu="http://www.ttu.ee/idu0110/inimene/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <eesnimi>String</eesnimi> <perenimi>String</perenimi> <isikukood>12345678912</isikukood> </inimene>

  11. Inimene.xsd <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:idu="http://www.ttu.ee/idu0110/inimene/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" xml:lang="et"> <xs:element name="inimene" type="inimeneType"> <xs:annotation> <xs:documentation>Kommentaar elemendile</xs:documentation> </xs:annotation> </xs:element> <xs:complexType name="inimeneType"> <xs:sequence> <xs:element name="eesnimi" type="xs:string"/> <xs:element name="perenimi" type="xs:string"/> <xs:element name="isikukood" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:schema>

  12. Valideerimine • http://www.xmlvalidation.com/

  13. Ülesanne 1 • Lisada inimene.xsd’le piirang, et isikukood ei või olla pikem kui 11 märki. • Lisada uus element pärast isikukoodi nimega “sugu”, millel on valikuks kaks alamelementi nimedega “mees” ja “naine”. • Lisada uus element nimega “tudeng” võimalike väärtustega “JAH”, “EI”.

  14. Ülesanne 2 • Lisa inimene.xsd’le üks mittekohustuslik (optional) element nimega “lapsed”, mis sisaldab ühte või rohkemat elementi nimega “laps”. • Laps on ka inimene. Lisa ka talle samad alamelemendid, mis on “inimesel”

  15. Ülesanne 3 • Tehke uus XSD nimega taksojuht.xsd • Taksojuhil on kõik väljad (elemendid), mis inimesel (need saate importides inimene.xsd). • Lisage taksojuhile lisaks üks element nimega “taksomeeter”, mis võib olla suvalist lihttüüpi.

  16. Lisaülesanne • Lisa inimesele lisaelement “jalad”, mis sisaldab 1-2 alamelementi “jalg” • “Jalg” võib suvalises järjekorras omada elemente “varvas”, “kand”, “saareluu” ja “polv” • Lisa “jalale” atribuut “kumb” ja piira seda nii, et see võiks sisaldada ainult väärtusi “PAREM” ja “VASAK”

More Related