XML Ahmet Şentürk CmpE-587. Content XML XML Syntax XML Core Technologies WebDAV XML Web Services.
An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web...
-
Upload
oswin-hensley -
Category
Documents
-
view
232 -
download
2
Transcript of An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web...
![Page 1: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/1.jpg)
An Introduction To XML 1
An Introduction to XML
![Page 2: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/2.jpg)
An Introduction To XML 2
XML On The World Wide Web
What is XML? What is XML’s Primary purpose? XML in 10 points (from the W3C) Example Documents Predictions
![Page 3: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/3.jpg)
An Introduction To XML 3
What is XML?
XML is an acronym that stands for the eXtensible Markup Language.
It is a flexible framework which can be used to create new customized markup languages.
HTML, for example, is a markup language with a fixed tag set. <P> <H1> ….
XML, on the other hand, does not define any particular set of tags. It allows you to create your own tag set.
![Page 4: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/4.jpg)
An Introduction To XML 4
What is XML’s primary purpose?
Separating data from presentation
The range of internet capable devices is growing- WAP phones, pagers, TV sets, web browsers, in car computers, have different presentation requirements.
Transmitting data between applications
As electronic commerce gathers pace, the amount of data exchanged between organizations is increasing.
![Page 5: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/5.jpg)
An Introduction To XML 5
XML in 10 Points
1. XML is for structuring data
2. XML looks a bit like HTML
3. XML is text, but it isn’t meant to be read
4. XML is verbose by design
5. XML is a family of technologies
(Xlink, Xpointer, CSS, XSLT, DOM, SAX…)
6. XML is new, but not that new
![Page 6: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/6.jpg)
An Introduction To XML 6
XML in 10 Points
7. XML leads HTML to XHTML
8. XML is modular
9. XML is the basis for RDF and the Semantic Web
10. XML is license-free, platform-independent and well-supported
![Page 7: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/7.jpg)
An Introduction To XML 7
Example Documents
One of mine and a few from the “real world”
![Page 8: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/8.jpg)
An Introduction To XML 8
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE FixedFloatSwap SYSTEM "FixedFloatSwap.dtd"><FixedFloatSwap> <Notional currency=“pounds”>100</Notional> <Fixed_Rate>5</Fixed_Rate> <NumYears>3</NumYears> <NumPayments>6</NumPayments></FixedFloatSwap>
An Interest Rate Swap in XML
![Page 9: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/9.jpg)
An Introduction To XML 9
A DTD for Interest Rate SwapDocuments
<?xml version="1.0" encoding="utf-8"?><!ELEMENT FixedFloatSwap ( Notional, Fixed_Rate, NumYears, NumPayments ) >
<!ELEMENT Notional (#PCDATA)><!ATTLIST Notional currency (dollars | pounds) #REQUIRED><!ELEMENT Fixed_Rate (#PCDATA) ><!ELEMENT NumYears (#PCDATA) ><!ELEMENT NumPayments (#PCDATA) >
![Page 10: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/10.jpg)
An Introduction To XML 10
Document Type Definitions
DTD’s are used to define a class of documents.
DTD’s specify a grammar.
Valid documents conform to the grammar specified in the DTD.
Automatic validation is provided by parsers from Sun, Microsoft, IBM, Oracle and others.
An application programmer can program against these documents by referring to their DTDs.
![Page 11: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/11.jpg)
An Introduction To XML 11
document
XML doc
doctype
FixedFloatSwap
Notional
FixedRate NumYears NumPayments
100 5 3 6
The document as seen by the DOM programmer
![Page 12: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/12.jpg)
An Introduction To XML 12
Real Example Documents
MATHML (1998) The first specialized XML
Vocabulary
![Page 13: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/13.jpg)
An Introduction To XML 13
MathML
Working Group Members at W3C: Wolfram Research
(Mathematica 3.0) Waterloo Maple (Maple V7.0)
![Page 14: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/14.jpg)
An Introduction To XML 14
MathML Example<math> <apply> <int/> <bvar> <ci> x </ci> </bvar> <lowlimit> <ci> a </ci> </lowlimit>
<uplimit> <ci> b </ci> </uplimit> <apply> <ci type="fn"> f </ci> <ci> x </ci> </apply> </apply></math>
![Page 15: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/15.jpg)
An Introduction To XML 15
Chemical Markup Language (CML)
Tackling the problems associated with the exchange of chemical information since 1995
![Page 16: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/16.jpg)
An Introduction To XML 16
A CML Example Document
<cml>
<molecule>
<bibliography><person><string title="lastname">PROUT</string><string title="initials">C.K</string></person><person><string title="lastname">ARMSTRONG</string><string title="initials">R.A</string></person><person>
Crystal.xml fromCML’s web site
![Page 17: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/17.jpg)
An Introduction To XML 17
<string title="lastname">CARRUTHERS</string><string title="initials">J.R</string></person><person><string title="lastname">FORREST</string><string title="initials">J.G</string></person><person><string title="lastname">MURRAY-RUST</string><string title="initials">P</string></person><person><string title="lastname">ROSSOTTI</string><string title="initials">F.J.C</string></person><string builtin="JOUR">J.CHEM.SOC.A</string></bibliography>
![Page 18: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/18.jpg)
An Introduction To XML 18
<molecule class="2d"><formula><string title="stoichiometry"> C16 H18 CU1 O8</string></formula><atomArray><stringArray builtin="elementType">CU O O O O O O C C C C C C C C C C O O C C C C C C </stringArray><stringArray builtin="atomId">a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 </stringArray>
Long Document Truncated
![Page 19: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/19.jpg)
An Introduction To XML 19
The Financial Product Markup Language(FpML)
Enables e-commerce activities in the field of financial derivatives.
![Page 20: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/20.jpg)
An Introduction To XML 20
An FpML Example Document
<?xml version ="1.0"?><!DOCTYPE FpML PUBLIC "-//FpML//DTD Financial product Markup Language 1-0//EN" "fpml-dtd-1-0-2001-05-14.dtd" >
<FpML version = "1-0" businessCenterSchemeDefault = "http://www.fpml.org/spec/2000/business-center-1-0" businessDayConventionSchemeDefault = "http://www.fpml.org/spec/2000/business-day-convention-1-0"
![Page 21: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/21.jpg)
An Introduction To XML 21
<trade> <tradeHeader> <partyTradeIdentifier> <partyReference href = "#CHASE" /> <tradeId tradeIdScheme = "http://www.chase.com/swaps/trade-id"> TW9235 </tradeId> </partyTradeIdentifier>
Document truncated - about 10 pages of text
![Page 22: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/22.jpg)
An Introduction To XML 22
XBRL
Extensible Business Reporting Language (XBRL) is an open specification which uses XML-based data tags to describe financial statements for both public and private companies. XBRL benefits all members of the financial information supply chain. (From XBRL.org)
![Page 23: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/23.jpg)
An Introduction To XML 23
Taken from Merk’s Balance Sheet
<group type='ci:currentAssets.receivablesNet'> <label href='xpointer(..)' xml:lang='en'>Accounts receivable</label> <item period='1999-12-31'>4089.0</item> <item period='1998-12-31'>3374.1</item> </group> <group type='ci:currentAssets.inventoriesNet'> <label href='xpointer(..)' xml:lang='en'>Inventories</label> <item period='1999-12-31'>2846.9</item> <item period='1998-12-31'>2623.9</item> </group>
![Page 24: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/24.jpg)
An Introduction To XML 24
SOAP
The Simple Object Access Protocol is a lightweight protocol for the exchange of information in a decentralized, distributed environment.
![Page 25: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/25.jpg)
An Introduction To XML 25
Example SOAP MessagePOST /StockQuote HTTP/1.1Host: www.stockquoteserver.comContent-Type: text/xml; charset="utf-8"Content-Length: nnnnSOAPAction: "Some-URI"
<SOAP-ENV:Envelope xmlns:SOAP-ENV= "http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DIS</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body></SOAP-ENV:Envelope>
HTTP
XML (SOAP)
![Page 26: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/26.jpg)
An Introduction To XML 26
UDDI and Web Services
UDDI Universal Description, Discovery and Integration
Discover businesses worldwide that offer the exact products and services that you need. Register the products and services of your own business for others to discover. (From UDDI.org)
![Page 27: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/27.jpg)
An Introduction To XML 27
Universal Discovery Description and Integration (UDDI)
Service Provider
WSDL Description of
serviceSOAP Service
UDDI Registry
WSDL Description of
service
SOAP clientService Client
SOAP Document
This slide adapted fromPage 353 of “Java and XML”By McLaughlin
Codes
Searches forGenerates
Interacts with
Registers
Authors Codes
Finds
HPIBMMicrosoft
![Page 28: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/28.jpg)
An Introduction To XML 28
SOAP and J2EE
Slide from JAXM/JMS tutorial at Sun Microsystems
![Page 29: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/29.jpg)
An Introduction To XML 29
Slide from JAXM/JMS tutorial at Sun Microsystems
![Page 30: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/30.jpg)
An Introduction To XML 30
Processing XML
Many technologies exist (and many are being developed)for processing XML documents.
A few of these are :
DOM Document Object Model SAX The Simple API for XML XSLT The extensible Stylesheet Language for transformation JAXB Java API for XML Binding JAXM Java API for XML Messaging (SOAP)
![Page 31: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/31.jpg)
An Introduction To XML 31
Predictions
This standard approach to data representation will leadto the development of new and interesting software.
The application programmer will have the internet as a datasource. Prior to the XML revolution, the data sources weremostly local and proprietary.
The data sources will be both static and dynamic. (RSS Really Simple Syndication became popular over the summer of 2003. See BBC’s web site.)
RMI via SOAP will become commonplace. (Google and Amazon are now providing a SOAP based web service.)
![Page 32: An Introduction To XML1 An Introduction to XML. An Introduction To XML2 XML On The World Wide Web What is XML? What is XML’s Primary purpose? XML in 10.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfad1a28abf838c9c0ef/html5/thumbnails/32.jpg)
An Introduction To XML 32
Required reading…
“XML and the Second-Generation Web” by Jon Bosak and Tim Bray, Scientific AmericanMay 1999
“The Semantic Web” by Tim Berners-Lee, James S. Hendler and Ora Lassila,Scientific AmericanMay 2001