SlideShare a Scribd company logo
An overview of  XML & SOAP Ch.Vishwa Mohan Project Manager KREST Embedded Technologies
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XML Related Technologies   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Microsoft .NET Experiences  & Solutions Tools Software for Connecting Information, People, Systems and Devices XML Web Services across the Entire Microsoft Platform Servers Clients Services
What is XML  ? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is XML  ? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Different Types of XML Documents ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is Self Describing? ST*323*712990413 V1*7039610*NEW ZEALAND QUEEN*D*104N*SCAC***L LS*0100 R4*D*D*JAX*JACKSONVILLE FL**** V9*EAD**920819**JACKSONVILLE FL***A26 R4*D*D*ORF*NORFOLK, VA**NORFOLK INTL TERMIN** V9*EAD**920817**NORFOLK, VA***A26 R4*L*K*MEB*MELBOURNE,  AUST**** V9*EDD**920712**MELBOURNE,  AUST***A40 R4*L*K*SYD*SYDNEY,  AUST**** V9*EDD**920715**SYDNEY,  AUST***A40 R4*L*K*WLG*WELLINGTON, NEW ZEALAND**** V9*EDD**920721**WELLINGTON, NEW ZEA***A40 LE*0100 SE*25*712990413 This is not  self describing data!
XML is Self Describing <?xml version=“1.0”?> <Data>   <Item ID=“112”>   <Name> Rod </Name>   <Price> 12.00 </Price>   <Units> 1 </Units>   </Item>   <Item ID=“114”>   <Name>Reel</Name>   <Price>15.00</Price>   <Units>1</Units>   </Item>   <Item ID=“120”>   <Name>Bait</Name>   <Price>24.00</Price>   <Units>3</Units>   </Item>  </Data> Here data is  self explanatory  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is XML is Not  ? ,[object Object],[object Object],[object Object],[object Object]
XML vs HTML ,[object Object],XML HTML Describes the structured data HTML describes layout.  Allows you to define your own tags Has a fixed tag set  Case sensitive Case insensitive All tags must be closed Not required. All attribute values must be in single or double quote mark. Different heading. First line of XML document is with <?xml  ?>
The need for XML ,[object Object],[object Object],[object Object],[object Object]
A Simple XML File <?xml version=&quot;1.0&quot; encoding=&quot;utf-8“ ?> <books xmlns=&quot;http://www.MyStore.com/books&quot;> <book publisher=&quot;IDG books&quot; on-loan=&quot;Sanjay&quot;> <title>XML Bible</title>   <author>Elliotte Rusty Harold</author> </book> <book publisher=&quot;Prentice Hall&quot; on-loan=&quot;Sander&quot; > <title>Definitive XML Schema</title> <author>Priscilla Walmsley</author>   </book> <book publisher=&quot;APress&quot;> <title>A Programmer's Introduction to C#</title>   <author>Eric Gunnerson</author> </book> </books> ,[object Object],[object Object]
XML Syntax Rules ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
An XML Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XML Document Example <?xml version=&quot;1.0&quot; encoding=&quot;utf-8“ ?> <!DOCTYPE employees SYSTEM &quot;C:mployee.dtd&quot;> <employees xmlns=&quot;http://www.krestembedded.com/empinfo&quot;> <employee gender=“male&quot;> <name>   <first>Vishwa</first>   <last> Mohan</last>   <nick>C.V</nick> </name>   <qualification>M.E </qualification>     <designation>Project Manager</designation>   </employee >   <employee gender=“female&quot;> <name>   <first>Subba</first>   <last>Laxmi</last> </name> <qualification>B.Tech</qualification>   <designation>Project Associate</designation>   </employee > </employees>
XML Document Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Elements vs Attributes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Attributes Advantages & Disadvantages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Entity References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Entity References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Comments ,[object Object],[object Object],[object Object],[object Object]
Processing Instructions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Marked Sections ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XML DTD & Schema
Document Type Declarations (DTD) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Declaring Elements in a DTD ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Declaring Elements in a DTD ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The “employee” DTD <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <!ELEMENT employees ((employee+))> <!ATTLIST employees xmlns CDATA #FIXED &quot;http://www.krestembedded.com/empinfo&quot;> <!ELEMENT employee ((name, qualification, designation))> <!ATTLIST employee gender (male | female) #REQUIRED> <!ELEMENT name ((first, last, nick?))> <!ELEMENT first (#PCDATA)> <!ELEMENT last (#PCDATA)> <!ELEMENT nick (#PCDATA)> <!ELEMENT qualification (#PCDATA)> <!ELEMENT designation (#PCDATA)>
DTD’s are Limited ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XML Schema ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Schema vs DTD ,[object Object],[object Object],[object Object],[object Object],[object Object]
XML Schema Definition Language (XSD) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Schema Representation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pattern Definition in Schema ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Schema for Employees <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema  targetNamespace=&quot;http://www.krestembedded.com/empinfo&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element  name=&quot;employees&quot;> <xs:complexType> <xs:sequence> <xs:element maxOccurs=&quot;100&quot; name=&quot;employee&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;first&quot; type=&quot;xs:string&quot; /> <xs:element name=&quot;last&quot; type=&quot;xs:string&quot; /> <xs:element minOccurs=&quot;0&quot; name=&quot;nicK&quot; type=&quot;xs:string&quot; />
Schema for Employees   </xs:sequence> </xs:complexType> </xs:element> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot; /> <xs:element name=&quot;designation&quot; type=&quot;xs:string&quot; /> </xs:sequence> <xs:attribute name=&quot;gender&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Parsing XML ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DOM ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DOM ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XML Elements and Relations
XML Elements and Relations
SAX ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Classes in .NET ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XML Query Languages
XML Query Languages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XML Query Languages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ID (int) Number (NCHAR(10)) Info(XML) 1 123456 XML Data 2
XPath ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XPath ,[object Object],[object Object],[object Object],[object Object],[object Object]
XPath Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XPath Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XSLT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XSLT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XSLT Functions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XSLT Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XQuery ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XQuery ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XQuery Functions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XQuery User Defined Functions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XQuery Expressions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XQuery Expressions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XQuery Expressions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XQuery Expressions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XQuery Operators & Functions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XQuery Conditional Expression ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XQuery Quantified Expressions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XQuery Sequence-related Operators   ,[object Object],[object Object],[object Object],[object Object]
XQuery  Operators  on Data Types ,[object Object],[object Object],[object Object],[object Object]
XQuery Functions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XQuery Sequences ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XML Linking Languages (XLink, XPointer)
XML Linking Language ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XPointers ,[object Object],[object Object],[object Object],[object Object]
XML Style Sheet Specification (CSS, XSLT, XSLT-FO)
XML Style Sheet Languages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Splitting Content from Style ,[object Object],[object Object],[object Object],[object Object],[object Object],Style/Content Coding Content Coding Style Coding
Simple Style Sheet Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Selectors ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CSS for XML ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XSL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XSLT with Templates <?xml version=“1.0”?> <xsl:transform xmlns:xsl= “http://www.w3.org/1999/ XSL/ Transform”  xsl:version=“1.0”> <xsl:template match=“/”> <xsl:text> <html><head><title>Article Summary</title></head> <body><h1>Article Summary by Author</h1></xsl:text> <xsl:apply-templates> <xsl:text></body></html></xsl:text> </xsl:template/> <xsl:template match=“author”>  <xsl:text><p><b>Author:&nbsp;</b></xsl:text> <xsl:apply-templates select=”/author/surname”/> <xsl:text>,&nbsp;</xsl:text> <xsl:apply-templates select=:”/author/fname”/></p> </template>
Web Services & SOAP
From Objects to Services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Service-Oriented Component-Oriented 1980s 2000s 1990s
What is SOA  ? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Four Tenets of Service Orientation SERVICE ORIENTATION Compatibility Based On Policy Share Schema & Contract, Not Class Services Are Autonomous Boundaries Are Explicit
What is a Service ? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Web Services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Web Services
SOAP ,[object Object],[object Object],[object Object],[object Object],[object Object]
SOAP Message  <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?> < env:Envelope  xmlns:env= &quot; http://www.w3.org/2002/12/soap-envelope &quot;> < env:Header >   <n:alertcontrol xmlns:n=&quot;http://example.org/alert&quot;> <n:priority>1</n:priority> <n:expires>2012-12-12T00:00:00</n:expires> </n:alertcontrol> < /env:Header > < env:Body > <m:alert xmlns:m=&quot;http://example.org/alert&quot;> <m:msg>World is going to destroy ! </m:msg> </m:alert> < /env:Body > < /env:Envelope >
SOAP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SOAP Envelope
Schema for SOAP Envelop ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SOAP Faults ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RSS
What is RSS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Simple RSS Example <rss version=&quot;0.91&quot;>   <channel>      <title>XML.com</title>      <link>http://www.xml.com/</link>       <description>XML.com features services for XML community</description>      <language>en-us</language>     <item>        <title>Normalizing XML, Part 2</title>        <link>http://www.xml.com/pub/a/2002/12/04/normalizing.html</link>        <description> Relation normalization techniques to XML schema data  modeling  </description>     </item>     <item>        <title>The .NET Schema Object Model</title>        <link>http://www.xml.com/pub/a/2002/12/04/som.html</link>        <description>Describes in detail the use of the .NET Schema Object Model  </description>     </item>   </channel> </rss>
Thank You ! You can reach me at : [email_address] 9490995632

More Related Content

What's hot

Cascading style sheet
Cascading style sheetCascading style sheet
Cascading style sheet
Michael Jhon
 
HTML (Web) basics for a beginner
HTML (Web) basics for a beginnerHTML (Web) basics for a beginner
HTML (Web) basics for a beginner
Jayapal Reddy Nimmakayala
 
Basic Html Notes
Basic Html NotesBasic Html Notes
Basic Html Notes
NextGenr
 
1 03 - CSS Introduction
1 03 - CSS Introduction1 03 - CSS Introduction
1 03 - CSS Introduction
apnwebdev
 
HTML-(workshop)7557.pptx
HTML-(workshop)7557.pptxHTML-(workshop)7557.pptx
HTML-(workshop)7557.pptx
Raja980775
 
Id and class selector
Id and class selectorId and class selector
Id and class selector
MyCredentials YourReference
 
Html basics
Html basicsHtml basics
Html basics
mcatahir947
 
jQuery
jQueryjQuery
Css Text Formatting
Css Text FormattingCss Text Formatting
Css Text Formatting
Dr. Jasmine Beulah Gnanadurai
 
HTML, CSS And JAVASCRIPT!
HTML, CSS And JAVASCRIPT!HTML, CSS And JAVASCRIPT!
HTML, CSS And JAVASCRIPT!
Syahmi RH
 
HTML5: features with examples
HTML5: features with examplesHTML5: features with examples
HTML5: features with examples
Alfredo Torre
 
Xml presentation
Xml presentationXml presentation
Xml presentation
Miguel Angel Teheran Garcia
 
Basic-CSS-tutorial
Basic-CSS-tutorialBasic-CSS-tutorial
Basic-CSS-tutorial
tutorialsruby
 
An Overview of HTML, CSS & Java Script
An Overview of HTML, CSS & Java ScriptAn Overview of HTML, CSS & Java Script
An Overview of HTML, CSS & Java Script
Fahim Abdullah
 
Introduction to html
Introduction to htmlIntroduction to html
Introduction to html
eShikshak
 
CSS Basics
CSS BasicsCSS Basics
CSS Basics
WordPress Memphis
 
CSS
CSSCSS
Html
HtmlHtml
HTML Fundamentals
HTML FundamentalsHTML Fundamentals
HTML Fundamentals
BG Java EE Course
 
HTTP Request and Response Structure
HTTP Request and Response StructureHTTP Request and Response Structure
HTTP Request and Response Structure
BhagyashreeGajera1
 

What's hot (20)

Cascading style sheet
Cascading style sheetCascading style sheet
Cascading style sheet
 
HTML (Web) basics for a beginner
HTML (Web) basics for a beginnerHTML (Web) basics for a beginner
HTML (Web) basics for a beginner
 
Basic Html Notes
Basic Html NotesBasic Html Notes
Basic Html Notes
 
1 03 - CSS Introduction
1 03 - CSS Introduction1 03 - CSS Introduction
1 03 - CSS Introduction
 
HTML-(workshop)7557.pptx
HTML-(workshop)7557.pptxHTML-(workshop)7557.pptx
HTML-(workshop)7557.pptx
 
Id and class selector
Id and class selectorId and class selector
Id and class selector
 
Html basics
Html basicsHtml basics
Html basics
 
jQuery
jQueryjQuery
jQuery
 
Css Text Formatting
Css Text FormattingCss Text Formatting
Css Text Formatting
 
HTML, CSS And JAVASCRIPT!
HTML, CSS And JAVASCRIPT!HTML, CSS And JAVASCRIPT!
HTML, CSS And JAVASCRIPT!
 
HTML5: features with examples
HTML5: features with examplesHTML5: features with examples
HTML5: features with examples
 
Xml presentation
Xml presentationXml presentation
Xml presentation
 
Basic-CSS-tutorial
Basic-CSS-tutorialBasic-CSS-tutorial
Basic-CSS-tutorial
 
An Overview of HTML, CSS & Java Script
An Overview of HTML, CSS & Java ScriptAn Overview of HTML, CSS & Java Script
An Overview of HTML, CSS & Java Script
 
Introduction to html
Introduction to htmlIntroduction to html
Introduction to html
 
CSS Basics
CSS BasicsCSS Basics
CSS Basics
 
CSS
CSSCSS
CSS
 
Html
HtmlHtml
Html
 
HTML Fundamentals
HTML FundamentalsHTML Fundamentals
HTML Fundamentals
 
HTTP Request and Response Structure
HTTP Request and Response StructureHTTP Request and Response Structure
HTTP Request and Response Structure
 

Viewers also liked

Biologia oral cancer
Biologia oral cancerBiologia oral cancer
Biologia oral cancer
Juan Carlos Munévar
 
Cray for Good POSM Drive
Cray for Good  POSM DriveCray for Good  POSM Drive
Cray for Good POSM Drive
Khalid Mehmood
 
Jesey S Hickling resume and cover
Jesey S Hickling resume and coverJesey S Hickling resume and cover
Jesey S Hickling resume and cover
Jesey Hickling
 
Brannum equity case part 1
Brannum equity case   part 1Brannum equity case   part 1
Brannum equity case part 1
digginbo
 
Whatever title
Whatever titleWhatever title
Whatever titleIndu_Soni
 
New_Horizons_Southern_California_Certificate
New_Horizons_Southern_California_CertificateNew_Horizons_Southern_California_Certificate
New_Horizons_Southern_California_Certificate
Ed Hotin
 
Lavadora BOSCH WAB20066EE
Lavadora BOSCH WAB20066EELavadora BOSCH WAB20066EE
Lavadora BOSCH WAB20066EE
Alsako Electrodomésticos
 
Social Media for Sports #scau #scnz presentation
Social Media for Sports #scau #scnz presentationSocial Media for Sports #scau #scnz presentation
Social Media for Sports #scau #scnz presentation
Sports Geek
 
Lavavajillas BOSCH SMS69N72EU
Lavavajillas BOSCH SMS69N72EULavavajillas BOSCH SMS69N72EU
Lavavajillas BOSCH SMS69N72EU
Alsako Electrodomésticos
 
P Training Presentation
P Training PresentationP Training Presentation
P Training Presentation
Gaurav Tyagi
 
Cultivo de células stem de cordón umbilical humano
Cultivo de células stem de cordón umbilical humanoCultivo de células stem de cordón umbilical humano
Cultivo de células stem de cordón umbilical humano
Juan Carlos Munévar
 
Lavadora BOSCH WAB20066EE
Lavadora BOSCH WAB20066EELavadora BOSCH WAB20066EE
Lavadora BOSCH WAB20066EE
Alsako Electrodomésticos
 
World Of Warcraft Figure on Pandawill
World Of  Warcraft Figure on PandawillWorld Of  Warcraft Figure on Pandawill
World Of Warcraft Figure on Pandawill
Bella Morag
 
La inteligencia 1 (1)
La inteligencia 1 (1)La inteligencia 1 (1)
La inteligencia 1 (1)
chrr15
 
Promedios 1°G
Promedios 1°GPromedios 1°G
Promedios 1°G
MayteMayorga1D5SOS
 
уфа жилые районы
уфа жилые районыуфа жилые районы
уфа жилые районы
Святослав Мурунов
 
KSSR tahun 2 matematik 二年级
KSSR tahun 2 matematik 二年级KSSR tahun 2 matematik 二年级
KSSR tahun 2 matematik 二年级
Chew Choon
 
DevOps Market Report
DevOps Market ReportDevOps Market Report
DevOps Market Report
Haleigh Sands
 

Viewers also liked (18)

Biologia oral cancer
Biologia oral cancerBiologia oral cancer
Biologia oral cancer
 
Cray for Good POSM Drive
Cray for Good  POSM DriveCray for Good  POSM Drive
Cray for Good POSM Drive
 
Jesey S Hickling resume and cover
Jesey S Hickling resume and coverJesey S Hickling resume and cover
Jesey S Hickling resume and cover
 
Brannum equity case part 1
Brannum equity case   part 1Brannum equity case   part 1
Brannum equity case part 1
 
Whatever title
Whatever titleWhatever title
Whatever title
 
New_Horizons_Southern_California_Certificate
New_Horizons_Southern_California_CertificateNew_Horizons_Southern_California_Certificate
New_Horizons_Southern_California_Certificate
 
Lavadora BOSCH WAB20066EE
Lavadora BOSCH WAB20066EELavadora BOSCH WAB20066EE
Lavadora BOSCH WAB20066EE
 
Social Media for Sports #scau #scnz presentation
Social Media for Sports #scau #scnz presentationSocial Media for Sports #scau #scnz presentation
Social Media for Sports #scau #scnz presentation
 
Lavavajillas BOSCH SMS69N72EU
Lavavajillas BOSCH SMS69N72EULavavajillas BOSCH SMS69N72EU
Lavavajillas BOSCH SMS69N72EU
 
P Training Presentation
P Training PresentationP Training Presentation
P Training Presentation
 
Cultivo de células stem de cordón umbilical humano
Cultivo de células stem de cordón umbilical humanoCultivo de células stem de cordón umbilical humano
Cultivo de células stem de cordón umbilical humano
 
Lavadora BOSCH WAB20066EE
Lavadora BOSCH WAB20066EELavadora BOSCH WAB20066EE
Lavadora BOSCH WAB20066EE
 
World Of Warcraft Figure on Pandawill
World Of  Warcraft Figure on PandawillWorld Of  Warcraft Figure on Pandawill
World Of Warcraft Figure on Pandawill
 
La inteligencia 1 (1)
La inteligencia 1 (1)La inteligencia 1 (1)
La inteligencia 1 (1)
 
Promedios 1°G
Promedios 1°GPromedios 1°G
Promedios 1°G
 
уфа жилые районы
уфа жилые районыуфа жилые районы
уфа жилые районы
 
KSSR tahun 2 matematik 二年级
KSSR tahun 2 matematik 二年级KSSR tahun 2 matematik 二年级
KSSR tahun 2 matematik 二年级
 
DevOps Market Report
DevOps Market ReportDevOps Market Report
DevOps Market Report
 

Similar to Xml

What is xml
What is xmlWhat is xml
What is xml
Sachit Singh
 
Xml
XmlXml
Web Services Part 1
Web Services Part 1Web Services Part 1
Web Services Part 1
patinijava
 
Xml Schema
Xml SchemaXml Schema
Xml Schema
vikram singh
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
yht4ever
 
O9xml
O9xmlO9xml
O9xml
Ergoclicks
 
About XML
About XMLAbout XML
Everything You Always Wanted To Know About XML But Were Afraid To Ask
Everything You Always Wanted To Know About XML But Were Afraid To AskEverything You Always Wanted To Know About XML But Were Afraid To Ask
Everything You Always Wanted To Know About XML But Were Afraid To Ask
Richard Davis
 
Xml For Dummies Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...
Xml For Dummies   Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...Xml For Dummies   Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...
Xml For Dummies Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...
phanleson
 
3 xml namespaces and xml schema
3   xml namespaces and xml schema3   xml namespaces and xml schema
3 xml namespaces and xml schema
gauravashq
 
Lotusphere 2006 AD212 Introduction to DXL
Lotusphere 2006 AD212 Introduction to DXLLotusphere 2006 AD212 Introduction to DXL
Lotusphere 2006 AD212 Introduction to DXL
dominion
 
10. XML in DBMS
10. XML in DBMS10. XML in DBMS
10. XML in DBMS
koolkampus
 
XML
XMLXML
Session 1
Session 1Session 1
Xmlphp
XmlphpXmlphp
Xml
XmlXml
XML
XMLXML
xml.pptx
xml.pptxxml.pptx
xml.pptx
TilakaRt
 
Xml
XmlXml
Xml 1
Xml 1Xml 1

Similar to Xml (20)

What is xml
What is xmlWhat is xml
What is xml
 
Xml
XmlXml
Xml
 
Web Services Part 1
Web Services Part 1Web Services Part 1
Web Services Part 1
 
Xml Schema
Xml SchemaXml Schema
Xml Schema
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
O9xml
O9xmlO9xml
O9xml
 
About XML
About XMLAbout XML
About XML
 
Everything You Always Wanted To Know About XML But Were Afraid To Ask
Everything You Always Wanted To Know About XML But Were Afraid To AskEverything You Always Wanted To Know About XML But Were Afraid To Ask
Everything You Always Wanted To Know About XML But Were Afraid To Ask
 
Xml For Dummies Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...
Xml For Dummies   Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...Xml For Dummies   Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...
Xml For Dummies Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...
 
3 xml namespaces and xml schema
3   xml namespaces and xml schema3   xml namespaces and xml schema
3 xml namespaces and xml schema
 
Lotusphere 2006 AD212 Introduction to DXL
Lotusphere 2006 AD212 Introduction to DXLLotusphere 2006 AD212 Introduction to DXL
Lotusphere 2006 AD212 Introduction to DXL
 
10. XML in DBMS
10. XML in DBMS10. XML in DBMS
10. XML in DBMS
 
XML
XMLXML
XML
 
Session 1
Session 1Session 1
Session 1
 
Xmlphp
XmlphpXmlphp
Xmlphp
 
Xml
XmlXml
Xml
 
XML
XMLXML
XML
 
xml.pptx
xml.pptxxml.pptx
xml.pptx
 
Xml
XmlXml
Xml
 
Xml 1
Xml 1Xml 1
Xml 1
 

More from Vishwa Mohan

OPC Unified Architecture
OPC Unified ArchitectureOPC Unified Architecture
OPC Unified Architecture
Vishwa Mohan
 
jQuery
jQueryjQuery
jQuery
Vishwa Mohan
 
WPF
WPFWPF
Wwf
WwfWwf
Da package usersguide
Da package usersguideDa package usersguide
Da package usersguide
Vishwa Mohan
 
Dareadme
DareadmeDareadme
Dareadme
Vishwa Mohan
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp Presentation
Vishwa Mohan
 
Linq
LinqLinq
Uml
UmlUml
Real Time Systems &amp; RTOS
Real Time Systems &amp; RTOSReal Time Systems &amp; RTOS
Real Time Systems &amp; RTOS
Vishwa Mohan
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linux
Vishwa Mohan
 
Introduction To Embedded Systems
Introduction To Embedded SystemsIntroduction To Embedded Systems
Introduction To Embedded Systems
Vishwa Mohan
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
Vishwa Mohan
 
Zig Bee
Zig BeeZig Bee
Zig Bee
Vishwa Mohan
 
WCF
WCFWCF

More from Vishwa Mohan (15)

OPC Unified Architecture
OPC Unified ArchitectureOPC Unified Architecture
OPC Unified Architecture
 
jQuery
jQueryjQuery
jQuery
 
WPF
WPFWPF
WPF
 
Wwf
WwfWwf
Wwf
 
Da package usersguide
Da package usersguideDa package usersguide
Da package usersguide
 
Dareadme
DareadmeDareadme
Dareadme
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp Presentation
 
Linq
LinqLinq
Linq
 
Uml
UmlUml
Uml
 
Real Time Systems &amp; RTOS
Real Time Systems &amp; RTOSReal Time Systems &amp; RTOS
Real Time Systems &amp; RTOS
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linux
 
Introduction To Embedded Systems
Introduction To Embedded SystemsIntroduction To Embedded Systems
Introduction To Embedded Systems
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
Zig Bee
Zig BeeZig Bee
Zig Bee
 
WCF
WCFWCF
WCF
 

Xml

  • 1. An overview of XML & SOAP Ch.Vishwa Mohan Project Manager KREST Embedded Technologies
  • 2.
  • 3.
  • 4. Microsoft .NET Experiences & Solutions Tools Software for Connecting Information, People, Systems and Devices XML Web Services across the Entire Microsoft Platform Servers Clients Services
  • 5.
  • 6.
  • 7.
  • 8. What is Self Describing? ST*323*712990413 V1*7039610*NEW ZEALAND QUEEN*D*104N*SCAC***L LS*0100 R4*D*D*JAX*JACKSONVILLE FL**** V9*EAD**920819**JACKSONVILLE FL***A26 R4*D*D*ORF*NORFOLK, VA**NORFOLK INTL TERMIN** V9*EAD**920817**NORFOLK, VA***A26 R4*L*K*MEB*MELBOURNE, AUST**** V9*EDD**920712**MELBOURNE, AUST***A40 R4*L*K*SYD*SYDNEY, AUST**** V9*EDD**920715**SYDNEY, AUST***A40 R4*L*K*WLG*WELLINGTON, NEW ZEALAND**** V9*EDD**920721**WELLINGTON, NEW ZEA***A40 LE*0100 SE*25*712990413 This is not self describing data!
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. XML Document Example <?xml version=&quot;1.0&quot; encoding=&quot;utf-8“ ?> <!DOCTYPE employees SYSTEM &quot;C:mployee.dtd&quot;> <employees xmlns=&quot;http://www.krestembedded.com/empinfo&quot;> <employee gender=“male&quot;> <name> <first>Vishwa</first> <last> Mohan</last> <nick>C.V</nick> </name> <qualification>M.E </qualification> <designation>Project Manager</designation> </employee > <employee gender=“female&quot;> <name> <first>Subba</first> <last>Laxmi</last> </name> <qualification>B.Tech</qualification> <designation>Project Associate</designation> </employee > </employees>
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. XML DTD & Schema
  • 26.
  • 27.
  • 28.
  • 29. The “employee” DTD <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <!ELEMENT employees ((employee+))> <!ATTLIST employees xmlns CDATA #FIXED &quot;http://www.krestembedded.com/empinfo&quot;> <!ELEMENT employee ((name, qualification, designation))> <!ATTLIST employee gender (male | female) #REQUIRED> <!ELEMENT name ((first, last, nick?))> <!ELEMENT first (#PCDATA)> <!ELEMENT last (#PCDATA)> <!ELEMENT nick (#PCDATA)> <!ELEMENT qualification (#PCDATA)> <!ELEMENT designation (#PCDATA)>
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. Schema for Employees <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema targetNamespace=&quot;http://www.krestembedded.com/empinfo&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element name=&quot;employees&quot;> <xs:complexType> <xs:sequence> <xs:element maxOccurs=&quot;100&quot; name=&quot;employee&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;first&quot; type=&quot;xs:string&quot; /> <xs:element name=&quot;last&quot; type=&quot;xs:string&quot; /> <xs:element minOccurs=&quot;0&quot; name=&quot;nicK&quot; type=&quot;xs:string&quot; />
  • 37. Schema for Employees </xs:sequence> </xs:complexType> </xs:element> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot; /> <xs:element name=&quot;designation&quot; type=&quot;xs:string&quot; /> </xs:sequence> <xs:attribute name=&quot;gender&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
  • 38.
  • 39.
  • 40.
  • 41. XML Elements and Relations
  • 42. XML Elements and Relations
  • 43.
  • 44.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71. XML Linking Languages (XLink, XPointer)
  • 72.
  • 73.
  • 74. XML Style Sheet Specification (CSS, XSLT, XSLT-FO)
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81. XSLT with Templates <?xml version=“1.0”?> <xsl:transform xmlns:xsl= “http://www.w3.org/1999/ XSL/ Transform” xsl:version=“1.0”> <xsl:template match=“/”> <xsl:text> <html><head><title>Article Summary</title></head> <body><h1>Article Summary by Author</h1></xsl:text> <xsl:apply-templates> <xsl:text></body></html></xsl:text> </xsl:template/> <xsl:template match=“author”> <xsl:text><p><b>Author:&nbsp;</b></xsl:text> <xsl:apply-templates select=”/author/surname”/> <xsl:text>,&nbsp;</xsl:text> <xsl:apply-templates select=:”/author/fname”/></p> </template>
  • 83.
  • 84.
  • 85. Four Tenets of Service Orientation SERVICE ORIENTATION Compatibility Based On Policy Share Schema & Contract, Not Class Services Are Autonomous Boundaries Are Explicit
  • 86.
  • 87.
  • 89.
  • 90. SOAP Message <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?> < env:Envelope xmlns:env= &quot; http://www.w3.org/2002/12/soap-envelope &quot;> < env:Header > <n:alertcontrol xmlns:n=&quot;http://example.org/alert&quot;> <n:priority>1</n:priority> <n:expires>2012-12-12T00:00:00</n:expires> </n:alertcontrol> < /env:Header > < env:Body > <m:alert xmlns:m=&quot;http://example.org/alert&quot;> <m:msg>World is going to destroy ! </m:msg> </m:alert> < /env:Body > < /env:Envelope >
  • 91.
  • 93.
  • 94.
  • 95. RSS
  • 96.
  • 97. Simple RSS Example <rss version=&quot;0.91&quot;>   <channel>      <title>XML.com</title>      <link>http://www.xml.com/</link>      <description>XML.com features services for XML community</description>      <language>en-us</language>     <item>        <title>Normalizing XML, Part 2</title>        <link>http://www.xml.com/pub/a/2002/12/04/normalizing.html</link>        <description> Relation normalization techniques to XML schema data modeling </description>     </item>     <item>        <title>The .NET Schema Object Model</title>        <link>http://www.xml.com/pub/a/2002/12/04/som.html</link>        <description>Describes in detail the use of the .NET Schema Object Model </description>     </item>   </channel> </rss>
  • 98. Thank You ! You can reach me at : [email_address] 9490995632

Editor's Notes

  1. XML 1.0 is the specification that defines what &amp;quot;tags&amp;quot; and &amp;quot;attributes&amp;quot; are XLink describes a standard way to add hyperlinks to an XML file. XPointer is a syntax in development for pointing to parts of an XML document. CSS , the style sheet language, is applicable to XML as it is to HTML. XSL is the advanced language for expressing style sheets. Based on XSLT. XSLT is used to transfom XML documents from one form to other.
  2. Key Messages: .NET is our implementation of xml web services – our strategy to ensure that our products connect better together and better with others. we ’ ve spent the past 3 years making XML web services integral to our entire business software platform .NET provides the comprehensive means for interoperating and driving new value from all of your (your partners and customers) existing systems … regardless of platform they run on or what programming language they were created in … Your decision will be in choosing the best software platform for bringing connectedness and integration to life … and we hope you see that .NET is the best choice We are continuing to push XML Web services and support for it in the toolset – you will see our implementations of WS-Security as we get into the details of our platform and tools Slide Build: 2 [see script] Slide Script: [BUILD 1] Microsoft .NET is software for connecting people, systems, information and devices. For Developers it means the ability to quickly build solutions that interoperate across languages, platforms and devices For IT, it means the ability to integrate new and existing systems across the organization and externally w/ Partners For Businesses, it means having the agility to connect more deeply with customers, integrate with business partners and empower its employees For Consumers it ’ s the ability to access and act upon information anytime, anywhere and on any device [BUILD 2] Microsoft .NET is built on a foundation of XML Web Services enabling both new and existing applications to connect with software and services across platforms, applications and programming languages Slide Transition: Strips Right-Down Additional Information for Presenter: NOTE: If you forego a drilldown on tools, servers, etc, this slide provides a high level overview on the commitment.
  3. The current version of XML is 1.0. Still XML version 1.1 exists but not used those have special requirements. Any Kind of Data: XML documents contain text, never binary data. So BMP, voice information can’t be store in XML documents. To include binary data you need to encode into different format and you can specify encode format as attribute. But MTOM works on binary format. Unambiguous structure: An XML document not only contains data but also the structure
  4. XML is designed to improve the functionality of the Web by providing more flexible and adaptable information identification. XML is a powerful tool for data representation, storage, modelling , and interoperation . Structured information contains both content (words, pictures, etc.) and some indication of what role that content plays (for example, content in a section heading has a different meaning from content in a footnote, which means something different than content in a figure caption or content in a database table, etc.). Almost all documents have some structure. A meta language used to define new markup languages . With XML, you can create a language crafted specifically for your application or domain. (Eg: XAML, ebXML , etc.,) SGML is the Standard Generalized Markup Language defined by ISO 8879. This is also a meta language. SGML has been the standard, vendor-independent way to maintain repositories of structured documentation for more than a decade, but it is not well suited to serving documents over the web. XML was created so that richly structured documents could be used over the web. The only viable alternatives, HTML and SGML, are not practical for this purpose.
  5. Well formed documents are: Only small set of rules. Semantics not really known. Can be displayed Can be processed Easy to work with. Valid XML documents are: Can be validated against a standard set of rules Large number of DTD&apos;s available For instance XHTML is an XML DTD Others: e-business, multimedia, chemical language, mathematics, etc. Advantage: correct interpretation and processing possible Superceeded by XML-schema: start today, use schema not DTD
  6. explex
  7. In short HTML is a markup language for presentation, and XML is a language for creating markup language that describe structured data.
  8. XML has its root in SGML which was created in 1986. SGML was too complex, something bit simpler was needed thus the birth of XML. SGML is the Standard Generalized Markup Language defined by ISO 8879. SGML has been the standard, vendor-independent way to maintain repositories of structured documentation for more than a decade, but it is not well suited to serving documents over the web.
  9. The XML PI is: Very important for detecting encoding Identifies XML when file and media type information is unavailable or unreliable
  10. Elements are the most common form of markup. Delimited by angle brackets, most elements identify the nature of the content they surround. &lt;title&gt; Definitive XML Schema &lt;/title&gt;
  11. In order to insert these characters into your document as content, there must be an alternative way to represent them. Character reference is a mechanism for inserting characters that cannot be typed directly on your keyboard.
  12. The name , called the PI target, identifies the PI to the application. Applications should process only the targets they recognize and ignore all other PIs. Any data that follows the PI target is optional, it is for the application that recognizes the target. The names used in PIs may be declared as notations in order to formally identify them. Any data that follows the PI target is optional, it is for the application that recognizes the target.
  13. The commas between element names indicate that they must occur in succession. The plus after author indicates that it may be repeated more than once but must occur at least once. The question mark after price indicates that it is optional An XML DTD can be interchanged with the XML instance An XML DTD can provide a schema for a broad class of XML documents
  14. Target element is the element which the attribute applies. Attr- Name is the attribute name.
  15. The commas between element names indicate that they must occur in succession. The plus after employee indicates that it may be repeated more than once but must occur at least once. The question mark after nick indicates that it is optional
  16. Schemas are developed to replace DTD’s
  17. Schemas are developed to replace DTD’s The Schema consists a set of predefined rules that describes a given class of XML document.
  18. XML Schema definition language (XSD) has become the mainstream language for describing XML documents.
  19. The definitions placed within the xsd:schema element are automatically associated with the namespace specified in the targetNamespace attribute.
  20. Lexical
  21. The definitions placed within the xsd:schema element are automatically associated with the namespace specified in the targetNamespace attribute.
  22. The key difference between the above two parsing is that DOM loads the entire document into an in-memory data structure. In case of SAX iterates over the XML document one piece at a time in a forward-only and read-only fashion. Processing instructions provide a mechanism for document authors to communicate with XML-aware applications behind the scenes. SAX is primarily a collection of interfaces in the org.xml.sax package. The interface ContentHandler is the key piece of SAX. Almost every SAX program need to use this interface. ContentHandler is a call back interface.
  23. DOM allows programs and scripts to dynamically access and update the content structure and style of a document. The HTML DOM defines the objects and properties of all HTML elements, and the methods (interface) to access them.
  24. Some of the DOM rules: In a node tree, the top node is called the root Every node, except the root, has exactly one parent node A node can have any number of children A leaf is a node with no children Siblings are nodes with the same parent Some of the properties and methods of XML DOM : These are some typical DOM properties: x.nodeName - the name of x x.nodeValue - the value of x x.parentNode - the parent node of x x.childNodes - the child nodes of x x.attributes - the attributes nodes of x Element methods are: x. getElementsByTagName ( name ) - get all elements with a specified tag name x. appendChild ( node ) - insert a child node to x x. removeChild ( node ) - remove a child node from x
  25. SAX stands for Simple API for XML. Unlike DOM , there is no formal specification for SAX. The Java implementation of SAX is considered to be normative , and implementations in other languages attempt to follow the rules laid down in that implementation, adjusting for the differences in language where necessary. The memory footprint of a SAX parser, by contrast, is based only on the maximum depth of the XML file (the maximum depth of the XML tree) and the maximum data stored in XML attributes on a single XML element.
  26. XmlReader and XmlWriter are abstract classes.
  27. Another significant XML-related feature that was introduced in SQL Server 2005 is support for XML indexes . You can create primary and secondary XML indexes for columns of type xml to enhance XML query performance. XML DML is Microsoft enhancement for XQuery.
  28. The XML data type in SQL Server can also be strongly typed with XML Schemas. With a strongly typed XML Column, it is verified if the data confirms to the schema when XML data is inserted.
  29. XPath is used by XSL also by XPointer .
  30. XPath is used by XSL also by XPointer .
  31. The &lt;xsl:stylesheet&gt; and &lt;xsl:transform&gt; are completely synonymous and either can be used. The match attribute can also be used to define a template for the entire XML document.
  32. An &lt;xsl:template&gt; element defines a template rule to be triggered when a particular part of the source document is being processed. The attribute match=&amp;quot;/&amp;quot; indicates that this particular rule is triggered right at the start of processing the source document. Here «/» is an Xpath expression which identifies the root node of the document:
  33. XQuery is based on existing XPath query language. With support added for better iteration, better sorting results, and the ability to construct the necessary XML. Whereas XML Schema only defined the types, XQuery has defined the operations that are allowed on those types. XQuery results are either typed or untyped. The type information is based on schema language. XQuery is a strongly typed programming language . Like Java and C#, for example, it&apos;s a mix of static typing (type consistency checked at compile-time) and dynamic typing (run-time type tests).
  34. Types in XQuery: Numbers, including integers and floating-point numbers. The boolean values true and false. Strings of characters, for example: &amp;quot;Hello world!&amp;quot;. These are immutable - i.e. you cannot modify a character in a string. Various types to represent dates, times, and durations. A few XML-related types. For example a QName is a pair of a local name (like template) and a URL, which is used to represent a tag name like xsl:template after it has been namespace-resolved.
  35. Popular template processors , like JSP, ASP, and PHP, allow you to embed expressions in a programming language into HTML content. XQuery gives you that ability, plus the ability to embed XML/HTML forms inside expressions, and to have them be the value of variables and parameters. XQuery node values are immutable. You can’t modify node after it has been created. The sortby() takes an input sequence (in this case $books) and one or more ordering expressions . $books sortby (author/name)
  36. The document() function returns the root node of a document. The /book expression selects the child elements of the root that are named book, so $book gets set to the single root element.
  37. An important goal for XQuery is that it should be usable as a query language for XML databases. Compare the corresponding SQL statement,
  38. So 3+4 is a complete, valid XQuery program which evaluates to the integer 7. The XQuery standard specifies the result value of an expression or program, but it does not specify how it is to be evaluated. An implementation has considerable freedom in how it evaluates an XQuery program, and what optimizations it does.
  39. The below is second section of the fifth chapter of the doc. /doc/chapter[5]/section[2] XQuery element constructor consists of a start tag and an end tag, enclosing an optional list of expressions that provide the content of the element. A FLWOR expression binds some expressions, applies an optional predicate and ordering, and constructs a new result. FLOWER stands for FOR, LET, WHERE, ORDER and RETURN Clause
  40. Popular template processors , like JSP, ASP, and PHP, allow you to embed expressions in a programming language into HTML content. XQuery gives you that ability, plus the ability to embed XML/HTML forms inside expressions, and to have them be the value of variables and parameters. XQuery node values are immutable. You can’t modify node after it has been created.
  41. We&apos;ve seen atomic values (numbers, strings, etc), and node values (elements, attributes, etc). These are together known as simple values. The for expression first evaluates the expression following the in . Then for each value of the resulting sequence, The variable (in this case $x) is bound to the value, and the return expression evaluated using that variable binding.
  42. USER &amp; AUTO: Today &lt;A&gt; links in HTML are USER Today &lt;IMG&gt; links in HTML are AUTO &lt;A&gt; links are ACTUATE =USER and SHOW =REPLACE &lt;IMG&gt; links are ACTUATE =AUTO and SHOW =EMBED
  43. Simple declaration is : H1 { font-weight: bold } Simple Complex declaration is: H2, H3, H4 {font-size: 12pt; font-style: normal; font-weight: bold;} Complex
  44. My Notes: Today&apos;s applications require the ability to communicate with other systems in an efficient and secure manner. Speaker Notes For years, software development has focused on how to best reuse the code that we write. Ultimately, people and businesses want long-term return on their short-term investments in code. How do we do this? We’ve seen 3 waves of advancement in this movement in recent decades: 1980s and Object-Orientation: Object-oriented development promised the idea of building reusable abstractions (called classes) that we could then inherit from in order to reuse the base class functionality. This shift from simple procedural-based code brought with it a lot of benefits including polymorphism (the ability to dynamically bind types at runtime), abstractions that included both state and behavior, and encapsulation (controlling which parts of the code the external world can access). However, Object-Orientation by itself didn’t facilitate the dynamic evolution of software at runtime. Once an application was built, it was static. There wasn’t an easy way to infuse new code into an application. 1990s and Components: Component-based development helped us overcome this challenge. It forced the developer to think about the external facing interface of the application. This enabled us to build systems that dynamically load and bind to new functionality at runtime (an application discovers new components after it has been built) and introduced the notion of an application as a growing/evolving organism. To facilitate dynamic loading, we saw a big emphasis on runtime metadata. In the past, you couldn’t easily discern application capabilities since there was very little/rudimentary metadata information stored as part of the application. Whereas C and C++ programs from 1980s were these relatively opaque collections of code, component-based applications of the 1990s enabled runtime inspection of code to determine what a particular component supported. This introduced the notion of self-describing systems. But while this metaphor worked really well on a single machine (using method invocation on an object reference), we hit scaling problems when we tried to stretch it out and apply it as the substrate for distributed software integration (across machines, etc). 2000s and Service-Orientation – With Service-Orientation, we retain the benefits of self-describing applications, explicit encapsulation, and dynamic loading of functionality. What changes is the metaphor with which we accomplish it. Instead of using method invocation on an object reference, we shift the conversation to that of message passing – a proven metaphor for scalable distributed software integration. In addition, to support dynamic loading of service-based functionality, we use schema to describes the structure of messages, behavioral contract to define acceptable message exchange patterns, and policy to define service semantics. Simplifying service-oriented development is one of the biggest bets we’re making in &amp;quot;WCF&amp;quot;. &amp;quot;WCF&amp;quot; takes the service-oriented concepts of message passing, schema, contract, and policy, and implicitly applies it to all of the services we build. As such, &amp;quot;WCF&amp;quot; provides you with the first true service-oriented programming model. Transition to next slide: We define service oriented applications as those that adhere to “The Four Tenets of Service-Orientation.” Let’s examine these and see how &amp;quot;WCF&amp;quot; implements them… 03/27/11 05:51 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review
  45. Service management includes many functions including, Security, Deployment, Logging, Dynamic rerouting and Maintenance.
  46. Speaker Notes Boundaries are Explicit: Services run in a separate process from their clients • Well-defined public interface to your service • Avoid RPC use explicit messages • Public “gateway” to your internal (private) implementation • Don’t expose implementation details. Explicit boundaries mean that a service can be deployed anywhere and be easily and freely accessed by other services, regardless of the environment or development language of the other service. Here messages need to cross the development environment boundaries. Same time it doesn’t care about the message consumer environment also. The thing to keep in mind is that there is a cost associated with crossing boundaries. These costs come in a number of forms, such as communication, performance, and processing overhead costs. Services should be called quickly and efficiently. Tenet 1: Boundaries are Explicit . Based on the underlying concept of encapsulation, this tenet specifies the publishing and consumption of functionality as sets of services that abstract their underlying implementation Services are Autonomous: • Deployed/Versioned independent of system and other services • Contract, once published should not be changed • A service owns its needed business components • A service should be able to perform without external dependencies Services are built and deployed independently of other services. Systems, especially distributed systems, must evolve over time and should be built to handle change easily. This SOA principle states that each service must be managed and versioned differently so as to not affect other services in the process. Ex: In the book publisher example, the Order Process service and Order Fulfillment service are completely independent of each other; each is versioned and managed completely independent of the other. In this way, when one changes it should not affect the other. It has been said that services should be built not to fail. In following this concept, if a service is unavailable for whatever reason or should a service depend on another service that is not available, every precaution should be taken to allow for such services to survive, such as redundancy or failover. Tenet 2: Services are Autonomous . Autonomy means we design the system to support the inevitable evolution of the service’s implementation over time. As we build our services, we need to assume that their internal implementation will evolve (be versioned) over time and that our services as well as the services on which we depend could change location at (almost) any time. Services share schema and contract, not class: • Clients send messages to a service that conform to a contract. • Classes contain data and behavior. • Contract must not change once published. • Contracts/Schemas provide platform-independent interoperability • Contract via WSDL Think “schemas = data” and “contracts = behavior.” The contract contains information regarding the structure of the message. Services do not pass classes and types; they pass schemas and contracts. This allows for a loosely coupled system where the service does not care what type of environment the other service is executing on. The information being passed is 100 percent platform independent.. Tenet 3: Services share schema and contract, not class . For those of you who are familiar with ASMX - this is exactly how ASMX works: The service publishes a contract that clients use to generate their own code to call the service. No types are shared between service and its clients by default. In addition, neither Service requires knowledge of each others’ internal workings in order to exchange data – they only need the published schemas &amp; contracts. Service compatibility is determined based on policy: • Separate “content” from “behavior” • Policy describes non functional constraint such as communication protocols, security and reliability requirements Services look at each others’ policy, looking for similarities so that they can start communicating. If two services can’t satisfy each others’ policy requirements, all bets are off. These policies exist in the form of machine-readable expressions. Policies also allow you to move a service from one environment to another without changing the behavior of the service. Tenet 3: Service compatibility is determined based on policy . The services communicate through dynamically negotiated communications channels that support the necessary semantics (security, reliability, etc). Service policy statements created automatically based on configuration, class attributes, and method signatures. Client channels automatically configured via retrieved service policy. By “name” means that we reference a well known name in Policy that represents a whole specification of behavior that needs to be used when talking to this endpoint.
  47. UDDI : Universal Description, Discovery and Integration. XML Web Service discovery is the process of locating and interrogating XML Web Service descriptions. Programmatic discovery can be enabled when an XML Web service publishes a .disco file.
  48. If SOAP uses the HTTP as transport then HTTP security would be adequate for SOAP.
  49. An Envelope : That defines a framework for describing what is in a message and how to process it. It is always a root element of SOAP message. Optional Header: A set of encoding rules for expressing instances of application-defined data types. When Header present it should be the first child element of the envelope. The Header element is a generic mechanism for adding features to a SOAP message in a decentralized manner. Mandatory Body: A convention for representing remote procedure calls and responses. Play load, response message and Fault elements goes here. The fault element is shown in &lt;soap:Fault&gt; . The fault element must contain a faultcode followed by faultstring .
  50. The SOAP fault model requires that all SOAP-specific and application-specific faults be reported using a single distinguished element, env:Fault , carried within the env:Body element. The Fault element contains two mandatory sub-elements, Code and Reason , and (optionally) application-specific information in the Detail sub-element Another optional sub-element, Node , identifies via a URI the SOAP node which generated the fault, its absence implying that it was the ultimate recipient of the message which did so. There is yet another optional sub-element, Role , which identifies the role being played by the node which generated the fault. The Code sub-element of Fault is itself made up of a mandatory Value sub-element, whose content is specified in the SOAP specification as well as an optional Subcode sub-element.
  51. The user subscribes to a feed by entering into the reader the feed&apos;s URI or by clicking an RSS icon in a web browser that initiates the subscription process. The RSS reader checks the user&apos;s subscribed feeds regularly for new work, downloads any updates that it finds, and provides a user interface to monitor and read the feeds.
  52. The above RSS feed in version 1.0 format: &lt;rdf:RDF xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;   xmlns=&amp;quot;http://purl.org/rss/1.0/“ xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/“ &gt;   &lt;channel rdf:about=&amp;quot;http://www.xml.com/cs/xml/query/q/19&amp;quot;&gt;     &lt;title&gt;XML.com&lt;/title&gt;     &lt;link&gt;http://www.xml.com/&lt;/link&gt;     &lt;description&gt;XML.com features a rich mix of information and services for the XML community.&lt;/description&gt;     &lt;language&gt;en-us&lt;/language&gt;     &lt;items&gt;       &lt;rdf:Seq&gt;         &lt;rdf:li rdf:resource=&amp;quot;http://www.xml.com/pub/a/2002/12/04/normalizing.html&amp;quot;/&gt;         &lt;rdf:li rdf:resource=&amp;quot;http://www.xml.com/pub/a/2002/12/04/som.html&amp;quot;/&gt;         &lt;rdf:li rdf:resource=&amp;quot;http://www.xml.com/pub/a/2002/12/04/svg.html&amp;quot;/&gt;       &lt;/rdf:Seq&gt;     &lt;/items&gt;   &lt;/channel&gt;   &lt;item rdf:about=&amp;quot;http://www.xml.com/pub/a/2002/12/04/normalizing.html&amp;quot;&gt;     &lt;title&gt;Normalizing XML, Part 2&lt;/title&gt;     &lt;link&gt;http://www.xml.com/pub/a/2002/12/04/normalizing.html&lt;/link&gt;     &lt;description&gt;In this second and final look at applying relational normalization techniques to W3C XML Schema data modeling, Will Provost discusses when not to normalize, the scope of uniqueness and the fourth and fifth normal forms.&lt;/description&gt;     &lt;dc:creator&gt;Will Provost&lt;/dc:creator&gt;     &lt;dc:date&gt;2002-12-04&lt;/dc:date&gt;       &lt;/item&gt;   &lt;item rdf:about=&amp;quot;http://www.xml.com/pub/a/2002/12/04/som.html&amp;quot;&gt;     &lt;title&gt;The .NET Schema Object Model&lt;/title&gt;     &lt;link&gt;http://www.xml.com/pub/a/2002/12/04/som.html&lt;/link&gt;     &lt;description&gt;Priya Lakshminarayanan describes in detail the use of the .NET Schema Object Model for programmatic manipulation of W3C XML Schemas.&lt;/description&gt;     &lt;dc:creator&gt;Priya Lakshminarayanan&lt;/dc:creator&gt;     &lt;dc:date&gt;2002-12-04&lt;/dc:date&gt;       &lt;/item&gt;   &lt;item rdf:about=&amp;quot;http://www.xml.com/pub/a/2002/12/04/svg.html&amp;quot;&gt;     &lt;title&gt;SVG&apos;s Past and Promising Future&lt;/title&gt;     &lt;link&gt;http://www.xml.com/pub/a/2002/12/04/svg.html&lt;/link&gt;     &lt;description&gt;In this month&apos;s SVG column, Antoine Quint looks back at SVG&apos;s journey through 2002 and looks forward to 2003.&lt;/description&gt;     &lt;dc:creator&gt;Antoine Quint&lt;/dc:creator&gt;     &lt;dc:date&gt;2002-12-04&lt;/dc:date&gt;       &lt;/item&gt; &lt;/rdf:RDF&gt;