SlideShare a Scribd company logo
1 of 26
Download to read offline
Quick Intro toQuick Intro to
XML Schemas & SOAPXML Schemas & SOAP
Noah MendelsohnNoah Mendelsohn
Lotus Development Corp.Lotus Development Corp.
Oct. 12, 2000Oct. 12, 2000
How SOAP uses SchemasHow SOAP uses Schemas
To define SOAP's XML vocabularyTo define SOAP's XML vocabulary
Optionally: to define your msg. vocabularyOptionally: to define your msg. vocabulary
SOAP encoding uses schema "types"SOAP encoding uses schema "types"
Schema builtin datatypes: integer, float, date, etc.Schema builtin datatypes: integer, float, date, etc.
SOAP builtins for arrays & structsSOAP builtins for arrays & structs
Types you define in schemaTypes you define in schema
You can indicate types:You can indicate types:
Directly in your message using xsi:typeDirectly in your message using xsi:type
Optionally: in an external schema documentOptionally: in an external schema document
Schema WG StatusSchema WG Status
Hope for candidate recommendation soonHope for candidate recommendation soon
Three documentsThree documents
Structures: the overall languageStructures: the overall language
Datatypes: integer, float, date, etc.Datatypes: integer, float, date, etc.
Primer: start with this!Primer: start with this!
Public working drafts availablePublic working drafts available
A SchemaA Schema
<xsd:schema xmlns:xsd="..." targetNamespace="yourURI">
<xsd:element name="purchaseOrder" type="POType"/>
<xsd:element name="comment" type="xsd:string"/>
<xsd:complexType name="POType">
<xsd:sequence>
<xsd:element name="shipTo" type="USAddress"/>
<xsd:element name="billTo" type="USAddress"/>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element name="items" type="Items"/>
</xsd:sequence>
<xsd:attribute name="orderDate" type="xsd:date"/>
</xsd:complexType>
........
</xsd:schema>
Namespaces and
Schema Documents
One Schema Doc per NamespaceOne Schema Doc per Namespace
<xsd:schema xmlns:xsd="..." targetNamespace="yourURI">
<xsd:element name="purchaseOrder" type="POType"/>
<xsd:element name="comment" type="xsd:string"/>
<xsd:complexType name="POType">
<xsd:sequence>
<xsd:element name="shipTo" type="USAddress"/>
<xsd:element name="billTo" type="USAddress"/>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element name="items" type="Items"/>
</xsd:sequence>
<xsd:attribute name="orderDate" type="xsd:date"/>
</xsd:complexType>
........
</xsd:schema>
Validates:
<po:purchaseOrder
xmlns:po="yourURI">
....
</po:purchaseOrder>
A SOAP MessageA SOAP Message
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://{soaporg}/envelope/"
SOAP-ENV:encodingStyle=
"http://{soaporg}/encoding/">
<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some-URI">
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
SOAP SchemaSOAP Schema
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://{soaporg}/envelope/"
SOAP-ENV:encodingStyle=
"http://{soaporg}/encoding/">
<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some-URI">
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
soapenv.xsd: validates SOAP's vocabulary
SOAP Schema & User SchemaSOAP Schema & User Schema
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://{soaporg}/envelope/"
SOAP-ENV:encodingStyle=
"http://{soaporg}/encoding/">
<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some-URI">
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
soapenv.xsd stockquote.xsd
Declaring Elements and
Attributes
A Sample InstanceA Sample Instance
<?xml version="1.0"?>
<purchaseOrder orderDate="1999-10-20">
<shipTo country="US">
<name>Alice Smith</name>
<street>123 Maple Street</street>
<city>Mill Valley</city>
<state>CA</state>
<zip>90952</zip>
</shipTo>
<billTo country="US">...</billTo>
<comment>Hurry, my lawn is going wild!</comment>
<items>
<item partNum="872-AA">...</item>
<item partNum="926-AA">...</item>
</items>
</purchaseOrder>
A SchemaA Schema
<xsd:schema xmlns:xsd="..." targetNamespace="yourURI">
<xsd:element name="purchaseOrder" type="POType"/>
<xsd:element name="comment" type="xsd:string"/>
<xsd:complexType name="POType">
<xsd:sequence>
<xsd:element name="shipTo" type="USAddress"/>
<xsd:element name="billTo" type="USAddress"/>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element name="items" type="Items"/>
</xsd:sequence>
<xsd:attribute name="orderDate" type="xsd:date"/>
</xsd:complexType>
........
</xsd:schema>
Elements have TypesElements have Types
<xsd:schema xmlns:xsd="..." targetNamespace="yourURI">
<xsd:element name="purchaseOrder" type="POType"/>
<xsd:element name="comment" type="xsd:string"/>
<xsd:complexType name="POType">
<xsd:sequence>
<xsd:element name="shipTo" type="USAddress"/>
<xsd:element name="billTo" type="USAddress"/>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element name="items" type="Items"/>
</xsd:sequence>
<xsd:attribute name="orderDate" type="xsd:date"/>
</xsd:complexType>
........
</xsd:schema>
Elements have TypesElements have Types
<xsd:schema xmlns:xsd="..." targetNamespace="yourURI">
<xsd:element name="purchaseOrder" type="POType"/>
<xsd:element name="comment" type="xsd:string"/>
<xsd:complexType name="POType">
<xsd:sequence>
<xsd:element name="shipTo" type="USAddress"/>
<xsd:element name="billTo" type="USAddress"/>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element name="items" type="Items"/>
</xsd:sequence>
<xsd:attribute name="orderDate" type="xsd:date"/>
</xsd:complexType>
........
</xsd:schema>
Built in
types
Elements have TypesElements have Types
<xsd:schema xmlns:xsd="..." targetNamespace="yourURI">
<xsd:element name="purchaseOrder" type="POType"/>
<xsd:element name="comment" type="xsd:string"/>
<xsd:complexType name="POType">
<xsd:sequence>
<xsd:element name="shipTo" type="USAddress"/>
<xsd:element name="billTo" type="USAddress"/>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element name="items" type="Items"/>
</xsd:sequence>
<xsd:attribute name="orderDate" type="xsd:date"/>
</xsd:complexType>
........
</xsd:schema>
User-defined
Types
Global elementsGlobal elements
<xsd:schema xmlns:xsd="..." targetNamespace="yourURI">
<xsd:element name="purchaseOrder" type="POType"/>
<xsd:element name="comment" type="xsd:string"/>
<xsd:complexType name="POType">
<xsd:sequence>
<xsd:element name="shipTo" type="USAddress"/>
<xsd:element name="billTo" type="USAddress"/>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element name="items" type="Items"/>
</xsd:sequence>
<xsd:attribute name="orderDate" type="xsd:date"/>
</xsd:complexType>
........
</xsd:schema>
Global
elements
useable
anywhere
Locally scoped elementsLocally scoped elements
<xsd:schema xmlns:xsd="..." targetNamespace="yourURI">
<xsd:element name="purchaseOrder" type="POType"/>
<xsd:element name="comment" type="xsd:string"/>
<xsd:complexType name="POType">
<xsd:sequence>
<xsd:element name="shipTo" type="USAddress"/>
<xsd:element name="billTo" type="USAddress"/>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element name="items" type="Items"/>
</xsd:sequence>
<xsd:attribute name="orderDate" type="xsd:date"/>
</xsd:complexType>
........
</xsd:schema>
Locally
scoped
elements
useable only
in parent
type
Attributes have TypesAttributes have Types
<xsd:schema xmlns:xsd="..." targetNamespace="yourURI">
<xsd:element name="purchaseOrder" type="POType"/>
<xsd:element name="comment" type="xsd:string"/>
<xsd:complexType name="POType">
<xsd:sequence>
<xsd:element name="shipTo" type="USAddress"/>
<xsd:element name="billTo" type="USAddress"/>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element name="items" type="Items"/>
</xsd:sequence>
<xsd:attribute name="orderDate" type="xsd:date"/>
</xsd:complexType>
........
</xsd:schema>
Simple and Complex
Types
Attributes
width="10"
Simple typesSimple types
height="20"
Attributes
width="10"
Simple typesSimple types
height="20"
Same restriction on
content = "type"
(xsd:integer)
Attributes
width="10"
Simple typesSimple types
height="20"
<width>
10
</width>
Elements
<height>
20
</height>
Simple type captures what's common:
It's an integer
Type has a name (xsd:integer)
Simple types work on attrs and elements
Types for ElementsTypes for Elements
<width>
10
</width>
Simple type
<height>
20
</height>
<width unit="cm">
10
</width>
Complex type
<height unit="cm">
20
</height>
Type(s) capture what's common:
It's an integer + attribute
Type has a name (yourns:measure)
More Complex Types for ElementsMore Complex Types for Elements
<ShipTo>
<street>1 Main St.</street>
<city state="NY">Albany</city>
</ShipTo>
Element
<BillTo>
<street>13 Market St.</street>
<city state="CA">San Jose</city>
</BillTo>
Complex types are for elements:
Sharing content models, attr lists.
Type has a name (somens:address)
Self-describing SOAP MsgsSelf-describing SOAP Msgs
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://{soaporg}/envelope/"
SOAP-ENV:encodingStyle=
"http://{soaporg}/encoding/">
<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some-URI">
<symbol xsi:type="xsd:string">
DIS
</symbol>
<quoteDate xsi:type="xsd:date">
1999-05-21
</quoteDate>
</m:GetLastTradePrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Summary:Summary:
How SOAP uses SchemasHow SOAP uses Schemas
To define SOAP's XML vocabularyTo define SOAP's XML vocabulary
Optionally: to define your msg. vocabularyOptionally: to define your msg. vocabulary
SOAP encoding uses schema "types"SOAP encoding uses schema "types"
Schema builtin datatypes: integer, float, date, etc.Schema builtin datatypes: integer, float, date, etc.
SOAP builtins for arrays & structsSOAP builtins for arrays & structs
Types you define in schemaTypes you define in schema
You can indicate types:You can indicate types:
Directly in your message using xsi:typeDirectly in your message using xsi:type
Optionally: in an external schema documentOptionally: in an external schema document

More Related Content

What's hot

Distilled mongo db by Boris Trofimov
Distilled mongo db by Boris TrofimovDistilled mongo db by Boris Trofimov
Distilled mongo db by Boris TrofimovAlex Tumanoff
 
The go-start webframework (GTUG Vienna 27.03.2012)
The go-start webframework (GTUG Vienna 27.03.2012)The go-start webframework (GTUG Vienna 27.03.2012)
The go-start webframework (GTUG Vienna 27.03.2012)ungerik
 
Getting started with MongoDB and Scala - Open Source Bridge 2012
Getting started with MongoDB and Scala - Open Source Bridge 2012Getting started with MongoDB and Scala - Open Source Bridge 2012
Getting started with MongoDB and Scala - Open Source Bridge 2012sullis
 
Html5 and web technology update
Html5 and web technology updateHtml5 and web technology update
Html5 and web technology updateDoug Domeny
 
MongoDB and Ruby on Rails
MongoDB and Ruby on RailsMongoDB and Ruby on Rails
MongoDB and Ruby on Railsrfischer20
 
Introduction towebmatrix
Introduction towebmatrixIntroduction towebmatrix
Introduction towebmatrixPranav Ainavolu
 
XSS - Do you know EVERYTHING?
XSS - Do you know EVERYTHING?XSS - Do you know EVERYTHING?
XSS - Do you know EVERYTHING?Yurii Bilyk
 
Internet and Web Technology (CLASS-9) [React.js] | NIC/NIELIT Web Technology
Internet and Web Technology (CLASS-9) [React.js] | NIC/NIELIT Web TechnologyInternet and Web Technology (CLASS-9) [React.js] | NIC/NIELIT Web Technology
Internet and Web Technology (CLASS-9) [React.js] | NIC/NIELIT Web TechnologyAyes Chinmay
 
Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology
Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology
Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology Ayes Chinmay
 
JSON(JavaScript Object Notation)
JSON(JavaScript Object Notation)JSON(JavaScript Object Notation)
JSON(JavaScript Object Notation)Raghu nath
 
An introduction to javascript
An introduction to javascriptAn introduction to javascript
An introduction to javascripttonyh1
 
SharePoint 2010 Training Session 4
SharePoint 2010 Training Session 4SharePoint 2010 Training Session 4
SharePoint 2010 Training Session 4Usman Zafar Malik
 
Informasjonsintegrasjon – hva er utfordringene
Informasjonsintegrasjon – hva er utfordringeneInformasjonsintegrasjon – hva er utfordringene
Informasjonsintegrasjon – hva er utfordringeneStian Danenbarger
 

What's hot (20)

Xml 2
Xml  2 Xml  2
Xml 2
 
Distilled mongo db by Boris Trofimov
Distilled mongo db by Boris TrofimovDistilled mongo db by Boris Trofimov
Distilled mongo db by Boris Trofimov
 
The go-start webframework (GTUG Vienna 27.03.2012)
The go-start webframework (GTUG Vienna 27.03.2012)The go-start webframework (GTUG Vienna 27.03.2012)
The go-start webframework (GTUG Vienna 27.03.2012)
 
Getting started with MongoDB and Scala - Open Source Bridge 2012
Getting started with MongoDB and Scala - Open Source Bridge 2012Getting started with MongoDB and Scala - Open Source Bridge 2012
Getting started with MongoDB and Scala - Open Source Bridge 2012
 
Html5 and web technology update
Html5 and web technology updateHtml5 and web technology update
Html5 and web technology update
 
MongoDB and Ruby on Rails
MongoDB and Ruby on RailsMongoDB and Ruby on Rails
MongoDB and Ruby on Rails
 
22 j query1
22 j query122 j query1
22 j query1
 
Introduction towebmatrix
Introduction towebmatrixIntroduction towebmatrix
Introduction towebmatrix
 
XStream
XStreamXStream
XStream
 
XSS - Do you know EVERYTHING?
XSS - Do you know EVERYTHING?XSS - Do you know EVERYTHING?
XSS - Do you know EVERYTHING?
 
Internet and Web Technology (CLASS-9) [React.js] | NIC/NIELIT Web Technology
Internet and Web Technology (CLASS-9) [React.js] | NIC/NIELIT Web TechnologyInternet and Web Technology (CLASS-9) [React.js] | NIC/NIELIT Web Technology
Internet and Web Technology (CLASS-9) [React.js] | NIC/NIELIT Web Technology
 
Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology
Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology
Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology
 
JSON
JSONJSON
JSON
 
Chrome DevTools Basics
Chrome DevTools BasicsChrome DevTools Basics
Chrome DevTools Basics
 
The Rise of NoSQL
The Rise of NoSQLThe Rise of NoSQL
The Rise of NoSQL
 
JSON(JavaScript Object Notation)
JSON(JavaScript Object Notation)JSON(JavaScript Object Notation)
JSON(JavaScript Object Notation)
 
An introduction to javascript
An introduction to javascriptAn introduction to javascript
An introduction to javascript
 
SharePoint 2010 Training Session 4
SharePoint 2010 Training Session 4SharePoint 2010 Training Session 4
SharePoint 2010 Training Session 4
 
Informasjonsintegrasjon – hva er utfordringene
Informasjonsintegrasjon – hva er utfordringeneInformasjonsintegrasjon – hva er utfordringene
Informasjonsintegrasjon – hva er utfordringene
 
JSON Injection
JSON InjectionJSON Injection
JSON Injection
 

Viewers also liked (13)

Create link button in radgrid dynamically without item template tags in aspx ...
Create link button in radgrid dynamically without item template tags in aspx ...Create link button in radgrid dynamically without item template tags in aspx ...
Create link button in radgrid dynamically without item template tags in aspx ...
 
00016335
0001633500016335
00016335
 
Sq lite manager
Sq lite managerSq lite manager
Sq lite manager
 
Dynamically define rad grid using code behind in c# grid - ui for asp
Dynamically define rad grid using code behind in c#   grid - ui for aspDynamically define rad grid using code behind in c#   grid - ui for asp
Dynamically define rad grid using code behind in c# grid - ui for asp
 
Jaxrs 1.0-final-spec
Jaxrs 1.0-final-specJaxrs 1.0-final-spec
Jaxrs 1.0-final-spec
 
Cdn tutorial adcom
Cdn tutorial adcomCdn tutorial adcom
Cdn tutorial adcom
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Radgrid
RadgridRadgrid
Radgrid
 
Cdn
CdnCdn
Cdn
 
Walkthrough asp.net
Walkthrough asp.netWalkthrough asp.net
Walkthrough asp.net
 
Android examples
Android examplesAndroid examples
Android examples
 
Tutorial 1
Tutorial 1Tutorial 1
Tutorial 1
 
sample tutorial
 sample tutorial  sample tutorial
sample tutorial
 

Similar to Schemas and soap_prt

Xsd Basics R&D with ORACLE SOA
Xsd Basics R&D with ORACLE SOAXsd Basics R&D with ORACLE SOA
Xsd Basics R&D with ORACLE SOAprathap kumar
 
Spring Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring BatchSpring Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring BatchEberhard Wolff
 
Native XML processing in C++ (BoostCon'11)
Native XML processing in C++ (BoostCon'11)Native XML processing in C++ (BoostCon'11)
Native XML processing in C++ (BoostCon'11)Sumant Tambe
 
130919 jim cordy - when is a clone not a clone
130919   jim cordy - when is a clone not a clone130919   jim cordy - when is a clone not a clone
130919 jim cordy - when is a clone not a clonePtidej Team
 
[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자
[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자
[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자Donghyeok Kang
 
3-SchemaExamples.pdf
3-SchemaExamples.pdf3-SchemaExamples.pdf
3-SchemaExamples.pdfKGSCSEPSGCT
 
Zero One Or Many Namespaces
Zero One Or Many NamespacesZero One Or Many Namespaces
Zero One Or Many NamespacesLiquidHub
 
PresentationML Subject: Presentation
PresentationML Subject: PresentationPresentationML Subject: Presentation
PresentationML Subject: PresentationShawn Villaron
 
SWOP project and META software
SWOP project and META softwareSWOP project and META software
SWOP project and META softwareMichele Filannino
 
Java Script Based Client Server Webapps 2
Java Script Based Client Server Webapps 2Java Script Based Client Server Webapps 2
Java Script Based Client Server Webapps 2kriszyp
 

Similar to Schemas and soap_prt (20)

Xsd Basics R&D with ORACLE SOA
Xsd Basics R&D with ORACLE SOAXsd Basics R&D with ORACLE SOA
Xsd Basics R&D with ORACLE SOA
 
Xsd basics
Xsd basicsXsd basics
Xsd basics
 
Wsdl
WsdlWsdl
Wsdl
 
Spring Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring BatchSpring Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring Batch
 
Ws rest
Ws restWs rest
Ws rest
 
Native XML processing in C++ (BoostCon'11)
Native XML processing in C++ (BoostCon'11)Native XML processing in C++ (BoostCon'11)
Native XML processing in C++ (BoostCon'11)
 
Protobuf it!
Protobuf it!Protobuf it!
Protobuf it!
 
130919 jim cordy - when is a clone not a clone
130919   jim cordy - when is a clone not a clone130919   jim cordy - when is a clone not a clone
130919 jim cordy - when is a clone not a clone
 
[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자
[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자
[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자
 
Advanced Json
Advanced JsonAdvanced Json
Advanced Json
 
Ridingapachecamel
RidingapachecamelRidingapachecamel
Ridingapachecamel
 
3-SchemaExamples.pdf
3-SchemaExamples.pdf3-SchemaExamples.pdf
3-SchemaExamples.pdf
 
Zero One Or Many Namespaces
Zero One Or Many NamespacesZero One Or Many Namespaces
Zero One Or Many Namespaces
 
PresentationML Subject: Presentation
PresentationML Subject: PresentationPresentationML Subject: Presentation
PresentationML Subject: Presentation
 
Web service introduction
Web service introductionWeb service introduction
Web service introduction
 
SWOP project and META software
SWOP project and META softwareSWOP project and META software
SWOP project and META software
 
SCDJWS 1. xml schema
SCDJWS 1. xml schemaSCDJWS 1. xml schema
SCDJWS 1. xml schema
 
Json at work overview and ecosystem-v2.0
Json at work   overview and ecosystem-v2.0Json at work   overview and ecosystem-v2.0
Json at work overview and ecosystem-v2.0
 
Schematron
SchematronSchematron
Schematron
 
Java Script Based Client Server Webapps 2
Java Script Based Client Server Webapps 2Java Script Based Client Server Webapps 2
Java Script Based Client Server Webapps 2
 

Recently uploaded

Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
VIP Call Girls Pune Madhuri 8617697112 Independent Escort Service Pune
VIP Call Girls Pune Madhuri 8617697112 Independent Escort Service PuneVIP Call Girls Pune Madhuri 8617697112 Independent Escort Service Pune
VIP Call Girls Pune Madhuri 8617697112 Independent Escort Service PuneCall girls in Ahmedabad High profile
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Roomdivyansh0kumar0
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一3sw2qly1
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Personfurqan222004
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of indiaimessage0108
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Deliverybabeytanya
 
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663Call Girls Mumbai
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 

Recently uploaded (20)

Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
VIP Call Girls Pune Madhuri 8617697112 Independent Escort Service Pune
VIP Call Girls Pune Madhuri 8617697112 Independent Escort Service PuneVIP Call Girls Pune Madhuri 8617697112 Independent Escort Service Pune
VIP Call Girls Pune Madhuri 8617697112 Independent Escort Service Pune
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Person
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of india
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
 
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
 

Schemas and soap_prt

  • 1. Quick Intro toQuick Intro to XML Schemas & SOAPXML Schemas & SOAP Noah MendelsohnNoah Mendelsohn Lotus Development Corp.Lotus Development Corp. Oct. 12, 2000Oct. 12, 2000
  • 2. How SOAP uses SchemasHow SOAP uses Schemas To define SOAP's XML vocabularyTo define SOAP's XML vocabulary Optionally: to define your msg. vocabularyOptionally: to define your msg. vocabulary SOAP encoding uses schema "types"SOAP encoding uses schema "types" Schema builtin datatypes: integer, float, date, etc.Schema builtin datatypes: integer, float, date, etc. SOAP builtins for arrays & structsSOAP builtins for arrays & structs Types you define in schemaTypes you define in schema You can indicate types:You can indicate types: Directly in your message using xsi:typeDirectly in your message using xsi:type Optionally: in an external schema documentOptionally: in an external schema document
  • 3. Schema WG StatusSchema WG Status Hope for candidate recommendation soonHope for candidate recommendation soon Three documentsThree documents Structures: the overall languageStructures: the overall language Datatypes: integer, float, date, etc.Datatypes: integer, float, date, etc. Primer: start with this!Primer: start with this! Public working drafts availablePublic working drafts available
  • 4. A SchemaA Schema <xsd:schema xmlns:xsd="..." targetNamespace="yourURI"> <xsd:element name="purchaseOrder" type="POType"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complexType name="POType"> <xsd:sequence> <xsd:element name="shipTo" type="USAddress"/> <xsd:element name="billTo" type="USAddress"/> <xsd:element ref="comment" minOccurs="0"/> <xsd:element name="items" type="Items"/> </xsd:sequence> <xsd:attribute name="orderDate" type="xsd:date"/> </xsd:complexType> ........ </xsd:schema>
  • 6. One Schema Doc per NamespaceOne Schema Doc per Namespace <xsd:schema xmlns:xsd="..." targetNamespace="yourURI"> <xsd:element name="purchaseOrder" type="POType"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complexType name="POType"> <xsd:sequence> <xsd:element name="shipTo" type="USAddress"/> <xsd:element name="billTo" type="USAddress"/> <xsd:element ref="comment" minOccurs="0"/> <xsd:element name="items" type="Items"/> </xsd:sequence> <xsd:attribute name="orderDate" type="xsd:date"/> </xsd:complexType> ........ </xsd:schema> Validates: <po:purchaseOrder xmlns:po="yourURI"> .... </po:purchaseOrder>
  • 7. A SOAP MessageA SOAP Message <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://{soaporg}/envelope/" SOAP-ENV:encodingStyle= "http://{soaporg}/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DIS</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
  • 8. SOAP SchemaSOAP Schema <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://{soaporg}/envelope/" SOAP-ENV:encodingStyle= "http://{soaporg}/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DIS</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> soapenv.xsd: validates SOAP's vocabulary
  • 9. SOAP Schema & User SchemaSOAP Schema & User Schema <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://{soaporg}/envelope/" SOAP-ENV:encodingStyle= "http://{soaporg}/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DIS</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> soapenv.xsd stockquote.xsd
  • 11. A Sample InstanceA Sample Instance <?xml version="1.0"?> <purchaseOrder orderDate="1999-10-20"> <shipTo country="US"> <name>Alice Smith</name> <street>123 Maple Street</street> <city>Mill Valley</city> <state>CA</state> <zip>90952</zip> </shipTo> <billTo country="US">...</billTo> <comment>Hurry, my lawn is going wild!</comment> <items> <item partNum="872-AA">...</item> <item partNum="926-AA">...</item> </items> </purchaseOrder>
  • 12. A SchemaA Schema <xsd:schema xmlns:xsd="..." targetNamespace="yourURI"> <xsd:element name="purchaseOrder" type="POType"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complexType name="POType"> <xsd:sequence> <xsd:element name="shipTo" type="USAddress"/> <xsd:element name="billTo" type="USAddress"/> <xsd:element ref="comment" minOccurs="0"/> <xsd:element name="items" type="Items"/> </xsd:sequence> <xsd:attribute name="orderDate" type="xsd:date"/> </xsd:complexType> ........ </xsd:schema>
  • 13. Elements have TypesElements have Types <xsd:schema xmlns:xsd="..." targetNamespace="yourURI"> <xsd:element name="purchaseOrder" type="POType"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complexType name="POType"> <xsd:sequence> <xsd:element name="shipTo" type="USAddress"/> <xsd:element name="billTo" type="USAddress"/> <xsd:element ref="comment" minOccurs="0"/> <xsd:element name="items" type="Items"/> </xsd:sequence> <xsd:attribute name="orderDate" type="xsd:date"/> </xsd:complexType> ........ </xsd:schema>
  • 14. Elements have TypesElements have Types <xsd:schema xmlns:xsd="..." targetNamespace="yourURI"> <xsd:element name="purchaseOrder" type="POType"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complexType name="POType"> <xsd:sequence> <xsd:element name="shipTo" type="USAddress"/> <xsd:element name="billTo" type="USAddress"/> <xsd:element ref="comment" minOccurs="0"/> <xsd:element name="items" type="Items"/> </xsd:sequence> <xsd:attribute name="orderDate" type="xsd:date"/> </xsd:complexType> ........ </xsd:schema> Built in types
  • 15. Elements have TypesElements have Types <xsd:schema xmlns:xsd="..." targetNamespace="yourURI"> <xsd:element name="purchaseOrder" type="POType"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complexType name="POType"> <xsd:sequence> <xsd:element name="shipTo" type="USAddress"/> <xsd:element name="billTo" type="USAddress"/> <xsd:element ref="comment" minOccurs="0"/> <xsd:element name="items" type="Items"/> </xsd:sequence> <xsd:attribute name="orderDate" type="xsd:date"/> </xsd:complexType> ........ </xsd:schema> User-defined Types
  • 16. Global elementsGlobal elements <xsd:schema xmlns:xsd="..." targetNamespace="yourURI"> <xsd:element name="purchaseOrder" type="POType"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complexType name="POType"> <xsd:sequence> <xsd:element name="shipTo" type="USAddress"/> <xsd:element name="billTo" type="USAddress"/> <xsd:element ref="comment" minOccurs="0"/> <xsd:element name="items" type="Items"/> </xsd:sequence> <xsd:attribute name="orderDate" type="xsd:date"/> </xsd:complexType> ........ </xsd:schema> Global elements useable anywhere
  • 17. Locally scoped elementsLocally scoped elements <xsd:schema xmlns:xsd="..." targetNamespace="yourURI"> <xsd:element name="purchaseOrder" type="POType"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complexType name="POType"> <xsd:sequence> <xsd:element name="shipTo" type="USAddress"/> <xsd:element name="billTo" type="USAddress"/> <xsd:element ref="comment" minOccurs="0"/> <xsd:element name="items" type="Items"/> </xsd:sequence> <xsd:attribute name="orderDate" type="xsd:date"/> </xsd:complexType> ........ </xsd:schema> Locally scoped elements useable only in parent type
  • 18. Attributes have TypesAttributes have Types <xsd:schema xmlns:xsd="..." targetNamespace="yourURI"> <xsd:element name="purchaseOrder" type="POType"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complexType name="POType"> <xsd:sequence> <xsd:element name="shipTo" type="USAddress"/> <xsd:element name="billTo" type="USAddress"/> <xsd:element ref="comment" minOccurs="0"/> <xsd:element name="items" type="Items"/> </xsd:sequence> <xsd:attribute name="orderDate" type="xsd:date"/> </xsd:complexType> ........ </xsd:schema>
  • 21. Attributes width="10" Simple typesSimple types height="20" Same restriction on content = "type" (xsd:integer)
  • 22. Attributes width="10" Simple typesSimple types height="20" <width> 10 </width> Elements <height> 20 </height> Simple type captures what's common: It's an integer Type has a name (xsd:integer) Simple types work on attrs and elements
  • 23. Types for ElementsTypes for Elements <width> 10 </width> Simple type <height> 20 </height> <width unit="cm"> 10 </width> Complex type <height unit="cm"> 20 </height> Type(s) capture what's common: It's an integer + attribute Type has a name (yourns:measure)
  • 24. More Complex Types for ElementsMore Complex Types for Elements <ShipTo> <street>1 Main St.</street> <city state="NY">Albany</city> </ShipTo> Element <BillTo> <street>13 Market St.</street> <city state="CA">San Jose</city> </BillTo> Complex types are for elements: Sharing content models, attr lists. Type has a name (somens:address)
  • 25. Self-describing SOAP MsgsSelf-describing SOAP Msgs <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://{soaporg}/envelope/" SOAP-ENV:encodingStyle= "http://{soaporg}/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol xsi:type="xsd:string"> DIS </symbol> <quoteDate xsi:type="xsd:date"> 1999-05-21 </quoteDate> </m:GetLastTradePrice> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
  • 26. Summary:Summary: How SOAP uses SchemasHow SOAP uses Schemas To define SOAP's XML vocabularyTo define SOAP's XML vocabulary Optionally: to define your msg. vocabularyOptionally: to define your msg. vocabulary SOAP encoding uses schema "types"SOAP encoding uses schema "types" Schema builtin datatypes: integer, float, date, etc.Schema builtin datatypes: integer, float, date, etc. SOAP builtins for arrays & structsSOAP builtins for arrays & structs Types you define in schemaTypes you define in schema You can indicate types:You can indicate types: Directly in your message using xsi:typeDirectly in your message using xsi:type Optionally: in an external schema documentOptionally: in an external schema document