Similar presentations:
IDU0075 Veebiteenused. (L3)
1. IDU0075 Veebiteenused
Tarvo Treier[email protected]
2. Täna kavas
Veebiteenustega seotud standardidXML Schema Definition
Tarvo Treier
[email protected]
3. Veebiteenustega seotud standardid
SOAPWSDL - SOA nurgakivi!
XSD
Tarvo Treier
[email protected]
4. Veebiteenustega seotud standardid
XSDElements
SimpleTypes
ComplexTypes
Veebiteenustega seotud standardid
WSDL
Envelope
Header (metainfo)
Spec
Types
Messages
PortTypes
Body
(info)
Access
Binding
Service
SOAP
Server
HTTP/JMS/SMTP/...
Klient
Data
IP
Tarvo Treier
[email protected]
5. XSD - XML Schema Definition
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/
Tarvo Treier
[email protected]
6. XSD võrdlused andmebaasi tabelite ja java klassidega
XSD – Documentstructure
Table structure
Class definition
XML – Document
instance
Record in a Table
Object instance
Tarvo Treier
[email protected]
7. XSD määrab..
Millised elemendid ja atribuudid tohivad olladokumendis
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
Tarvo Treier
[email protected]
8. 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
Tarvo Treier
[email protected]
9. 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
Tarvo Treier
[email protected]
10. 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>
Tarvo Treier
[email protected]
11. Valideerimine
Inimene.xmlInimene.xsd
http://www.xmlvalidation.com/
Tarvo Treier
[email protected]
12. XML Schema patterns
Hewitt, E., Java SOA Cookbook, O’ReillyMedia, 2009
http://books.google.com/books?id=W2Xr
QRMIEd4C&lpg=PP1&pg=PP1#v=onepage
&q&f=false
–
Lk 41; p2.1
Tarvo Treier
[email protected]
13. Järgnevad mustrid erinevad ühe asja poolest
Nende elemendid ja tüübid on kas lokaalseltvõi globaalselt defineeritud.
Globaalne element või tüüp on schema
alamelement.
Lokaalne element või tüüp on defineeritud
mõne teise elemendi või tüübi sees.
Lokaalseid elemente ei saa taaskasutada.
Tarvo Treier
[email protected]
14. Muster “Russian Doll”
Üks juurelement on globaalneKõik tüübid on lokaalsed
Tarvo Treier
[email protected]
15. Muster “Salami Slice”
Kõik elemendid on globaalsedKõik tüübid on lokaalsed
Tarvo Treier
[email protected]
16. Muster “Venetian Blind”
Üks juurelement on globaalneKõik tüübid on globaalsed
Tarvo Treier
[email protected]
17. Kordamine
Mis on peamine erinevus globaalsel jalokaalsel tüübil?
Tarvo Treier
[email protected]