SlideShare une entreprise Scribd logo
1  sur  28
1
XML
eXtensible Markup Language
2
Introduction and Motivation
Dr. Praveen Madiraju
Modified from Dr.Sagiv’s slides
3
XML vs. HTML
• HTML is a HyperText Markup language
– Designed for a specific application,
namely, presenting and linking hypertext
documents
• XML describes structure and content
(“semantics”)
– The presentation is defined separately
from the structure and the content
4
An Address Book as
an XML document
<addresses>
<person>
<name> Donald Duck</name>
<tel> 414-222-1234 </tel>
<email> donald@yahoo.com </email>
</person>
<person>
<name> Miki Mouse</name>
<tel> 123-456-7890 </tel>
<email>miki@yahoo.com</email>
</person>
</addresses>
5
Main Features of XML
• No fixed set of tags
– New tags can be added for new
applications
• An agreed upon set of tags can be used
in many applications
– Namespaces facilitate uniform and
coherent descriptions of data
• For example, a namespace for address books
determines whether to use <tel> or <phone>
6
Main Features of XML (cont’d)
• XML has the concept of a schema
– DTD and the more expressive XML
Schema
• XML is a data model
– Similar to the semistructured data model
• XML supports internationalization (
Unicode) and platform independence
(an XML file is just a character file)
7
XML is the Standard for
Data Exchange
• Web services (e.g., ecommerce) require
exchanging data between various
applications that run on different
platforms
• XML (augmented with namespaces) is
the preferred syntax for data exchange
on the Web
8
XML is not Alone
• XML Schemas strengthen the data-modeling
capabilities of XML (in comparison to XML with
only DTDs)
• XPath is a language for accessing parts of
XML documents
• XLink and XPointer support cross-references
• XSLT is a language for transforming XML
documents into other XML documents
(including XHTML, for displaying XML files)
– Limited styling of XML can be done with CSS alone
• XQuery is a lanaguage for querying XML
documents
9
The Two Facets of XML
• Some XML files are just text documents with
tags that denote their structure and include
some metadata (e.g., an attribute that gives
the name of the person who did the
proofreading)
– See an example on the next slide
– XML is a subset of SGML (Standard Generalized
Markup Language)
• Other XML documents are similar to
database files (e.g., an address book)
10
XML can Describe
the Structure of a Document
• <book year="1994">
<title>TCP/IP Illustrated</title>
<author>
<last>Stevens</last>
<first>W.</first>
</author>
<publisher>Addison-Wesley</publisher>
<price>65.95</price>
</book>
11
XML Syntax
W3Schools Resources on XML Syntax
12
The Structure of XML
• XML consists of tags and text
• Tags come in pairs <date> ... </date>
• They must be properly nested
– good
<date> ... <day> ... </day> ... </date>
– bad
<date> ... <day> ... </date>... </day>
(You can’t do <i> ... <b> ... </i> ...</b> in HTML)
13
A Useful Abbreviation
Abbreviating elements with empty contents:
• <br/> for <br></br>
• <hr width=“10”/> for <hr width=“10”></hr>
For example:
<family>
<person id = “lisa”>
<name> Lisa Simpson </name>
<mother idref = “marge”/>
<father idref = “homer”/>
</person>
...
</family>
Note that a tag
may have a set
of attributes,
each consisting
of a name and
a value
14
XML Text
XML has only one “basic” type – text
It is bounded by tags, e.g.,
<title> The Big Sleep </title>
<year> 1935 </ year> – 1935 is still text
• XML text is called PCDATA
– (for parsed character data)
• It uses a 16-bit encoding, e.g., &#x0152 for
the Hebrew letter Mem
15
XML Structure
• Nesting tags can be used to express
various structures, e.g., a tuple
(record):
<person>
<name> Lisa Simpson</name>
<tel> 02-828-1234 </tel>
<tel> 054-470-777 </tel>
<email> lisa@cs.huji.ac.il </email>
</person>
16
XML Structure (cont’d)
• We can represent a list by using the
same tag repeatedly:
<addresses>
<person> … </person>
<person> … </person>
<person> … </person>
<person> … </person>
…
</addresses>
17
XML Structure (cont’d)
<addresses>
<person>
<name> Donald Duck</name>
<tel> 04-828-1345 </tel>
<email> donald@cs.technion.ac.il </email>
</person>
<person>
<name> Miki Mouse</name>
<tel> 03-426-1142 </tel>
<email>miki@yahoo.com</email>
</person>
</addresses>
18
Terminology
The segment of an XML document
between an opening and a corresponding
closing tag is called an element
<person>
<name> Bart Simpson </name>
<tel> 02 – 444 7777 </tel>
<tel> 051 – 011 022 </tel>
<email> bart@tau.ac.il </email>
</person>
element element,
a sub-element of
not an element
19
An XML Document is a Tree
person
name emailtel tel
Bart Simpson
02 – 444 7777
051 – 011 022
bart@tau.ac.il
Leaves are either empty or contain PCDATA
20
Mixed Content
An element may contain a mixture of sub-
elements and PCDATA
<airline>
<name> British Airways </name>
<motto>
World’s <dubious> favorite</dubious>
airline
</motto>
</airline>
21
The Header Tag
• <?xml version="1.0" standalone="yes/no"
encoding="UTF-8"?>
– Standalone=“no” means that there is an
external DTD
– You can leave out the encoding attribute and
the processor will use the UTF-8 default
22
Processing Instructions
<?xml version="1.0"?>
<?xml-stylesheet  href="doc.xsl" type="text/xsl"?>
<!DOCTYPE doc SYSTEM "doc.dtd">
<doc>Hello, world!<!-- Comment 1 --></doc>
<?pi-without-data?>
<!-- Comment 2 -->
<!-- Comment 3 -->
23
Using CDATA
<HEAD1>
Entering a Kennel Club Member
</HEAD1>
<DESCRIPTION>
Enter the member by the name on his or her papers. Use the
NAME tag. The NAME tag has two attributes. Common (all in
lowercase, please!) is the dog's call name. Breed (also in all
lowercase) is the dog's breed. Please see the breed reference
guide for acceptable breeds. Your entry should look something
like this:
</DESCRIPTION>
<EXAMPLE>
<![CDATA[<NAME common="freddy" breed"=springer-
spaniel">Sir Fredrick of Ledyard's End</NAME>]]>
</EXAMPLE>
We want to see
the text as is,
even though
it includes tags
24
A Complete XML Document
http://www.mscs.mu.edu/~praveen/Teaching/fa
25
Well-Formed XML Documents
• An XML document (with or without a DTD) is
well-formed if
– Tags are syntactically correct
– Every tag has an end tag
– Tags are properly nested
– There is a root tag
– A start tag does not have two occurrences of the
same attribute
An XML document
must be well formed
26
Representing relational
databases
A relational database for school:
student: course:
enroll:
cno title credit
331 DB 3.0
350 Web 3.0
… … …
id name gpa
001 Joe 3.0
002 Mary 4.0
… … …
id cno
001 331
001 350
002 331
… …
27
XML representation
<school>
<student id=“001”>
<name> Joe </name> <gpa> 3.0 </gpa>
</student>
<student id=“002”>
<name> Mary </name> <gpa> 4.0 </gpa>
</student>
<course cno=“331”>
<title> DB </title> <credit> 3.0 </credit>
</course>
<course cno=“350”>
<title> Web </title> <credit> 3.0 </credit>
</course>
28
XML representation
<enroll>
<id> 001 </id> <cno> 331 </cno>
</enroll>
<enroll>
<id> 001 </id> <cno> 350 </cno>
</enroll>
<enroll>
<id> 002 </id> <cno> 331 </cno>
</enroll>
</school>

Contenu connexe

Tendances

Tendances (20)

XML-Extensible Markup Language
XML-Extensible Markup Language XML-Extensible Markup Language
XML-Extensible Markup Language
 
XML Technologies
XML TechnologiesXML Technologies
XML Technologies
 
Markup Languages
Markup Languages Markup Languages
Markup Languages
 
Xsd
XsdXsd
Xsd
 
fundamentals of XML
fundamentals of XMLfundamentals of XML
fundamentals of XML
 
Xml dom
Xml domXml dom
Xml dom
 
Introduction to sql
Introduction to sqlIntroduction to sql
Introduction to sql
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
Extensible Markup Language (XML)
Extensible Markup Language (XML)Extensible Markup Language (XML)
Extensible Markup Language (XML)
 
Fergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XML
Fergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XMLFergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XML
Fergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XML
 
Web Information Systems XML
Web Information Systems XMLWeb Information Systems XML
Web Information Systems XML
 
Xml iet 2015
Xml iet 2015Xml iet 2015
Xml iet 2015
 
EXtensible Markup Language
EXtensible Markup LanguageEXtensible Markup Language
EXtensible Markup Language
 
Unit3wt
Unit3wtUnit3wt
Unit3wt
 
Publishing xml
Publishing xmlPublishing xml
Publishing xml
 
Xml theory 2005_[ngohaianh.info]_1_introduction-to-xml
Xml theory 2005_[ngohaianh.info]_1_introduction-to-xmlXml theory 2005_[ngohaianh.info]_1_introduction-to-xml
Xml theory 2005_[ngohaianh.info]_1_introduction-to-xml
 
Web Information Systems Html and css
Web Information Systems Html and cssWeb Information Systems Html and css
Web Information Systems Html and css
 
Xml Lecture Notes
Xml Lecture NotesXml Lecture Notes
Xml Lecture Notes
 
HTML and XML Difference FAQs
HTML and XML Difference FAQsHTML and XML Difference FAQs
HTML and XML Difference FAQs
 
Extracting data from xml
Extracting data from xmlExtracting data from xml
Extracting data from xml
 

En vedette (6)

Can Relief for California's Devastating Drought Be Had for a Few Drops?
Can Relief for California's Devastating Drought Be Had for a Few Drops?Can Relief for California's Devastating Drought Be Had for a Few Drops?
Can Relief for California's Devastating Drought Be Had for a Few Drops?
 
Marit Helgesen NHPRC2013
Marit Helgesen NHPRC2013Marit Helgesen NHPRC2013
Marit Helgesen NHPRC2013
 
Xml Zoe
Xml ZoeXml Zoe
Xml Zoe
 
Home Alarm Systems St Johns
Home Alarm Systems St JohnsHome Alarm Systems St Johns
Home Alarm Systems St Johns
 
Semantic Markup
Semantic Markup Semantic Markup
Semantic Markup
 
Elisabeth Jansson NHPRC2013
Elisabeth Jansson NHPRC2013Elisabeth Jansson NHPRC2013
Elisabeth Jansson NHPRC2013
 

Similaire à Xml (2)

Similaire à Xml (2) (20)

xml.ppt
xml.pptxml.ppt
xml.ppt
 
Xml
XmlXml
Xml
 
Xml
XmlXml
Xml
 
1 xml fundamentals
1 xml fundamentals1 xml fundamentals
1 xml fundamentals
 
Unit3wt
Unit3wtUnit3wt
Unit3wt
 
Xml 215-presentation
Xml 215-presentationXml 215-presentation
Xml 215-presentation
 
IT6801-Service Oriented Architecture- UNIT-I notes
IT6801-Service Oriented Architecture- UNIT-I notesIT6801-Service Oriented Architecture- UNIT-I notes
IT6801-Service Oriented Architecture- UNIT-I notes
 
Basics of XML
Basics of XMLBasics of XML
Basics of XML
 
Unit2_XML_S_SS_US Data_CS19414.pptx
Unit2_XML_S_SS_US Data_CS19414.pptxUnit2_XML_S_SS_US Data_CS19414.pptx
Unit2_XML_S_SS_US Data_CS19414.pptx
 
Xml nisha dwivedi
Xml nisha dwivediXml nisha dwivedi
Xml nisha dwivedi
 
Xsd
XsdXsd
Xsd
 
Xml and DTD's
Xml and DTD'sXml and DTD's
Xml and DTD's
 
xMLDataModel.pdf
xMLDataModel.pdfxMLDataModel.pdf
xMLDataModel.pdf
 
XML, DTD & XSD Overview
XML, DTD & XSD OverviewXML, DTD & XSD Overview
XML, DTD & XSD Overview
 
Xml
XmlXml
Xml
 
Xml PPT
Xml PPTXml PPT
Xml PPT
 
01_XMLDataModel.pptx
01_XMLDataModel.pptx01_XMLDataModel.pptx
01_XMLDataModel.pptx
 
Introduction to xml schema
Introduction to xml schemaIntroduction to xml schema
Introduction to xml schema
 
Xml unit1
Xml unit1Xml unit1
Xml unit1
 
02 xml schema
02 xml schema02 xml schema
02 xml schema
 

Xml (2)

  • 2. 2 Introduction and Motivation Dr. Praveen Madiraju Modified from Dr.Sagiv’s slides
  • 3. 3 XML vs. HTML • HTML is a HyperText Markup language – Designed for a specific application, namely, presenting and linking hypertext documents • XML describes structure and content (“semantics”) – The presentation is defined separately from the structure and the content
  • 4. 4 An Address Book as an XML document <addresses> <person> <name> Donald Duck</name> <tel> 414-222-1234 </tel> <email> donald@yahoo.com </email> </person> <person> <name> Miki Mouse</name> <tel> 123-456-7890 </tel> <email>miki@yahoo.com</email> </person> </addresses>
  • 5. 5 Main Features of XML • No fixed set of tags – New tags can be added for new applications • An agreed upon set of tags can be used in many applications – Namespaces facilitate uniform and coherent descriptions of data • For example, a namespace for address books determines whether to use <tel> or <phone>
  • 6. 6 Main Features of XML (cont’d) • XML has the concept of a schema – DTD and the more expressive XML Schema • XML is a data model – Similar to the semistructured data model • XML supports internationalization ( Unicode) and platform independence (an XML file is just a character file)
  • 7. 7 XML is the Standard for Data Exchange • Web services (e.g., ecommerce) require exchanging data between various applications that run on different platforms • XML (augmented with namespaces) is the preferred syntax for data exchange on the Web
  • 8. 8 XML is not Alone • XML Schemas strengthen the data-modeling capabilities of XML (in comparison to XML with only DTDs) • XPath is a language for accessing parts of XML documents • XLink and XPointer support cross-references • XSLT is a language for transforming XML documents into other XML documents (including XHTML, for displaying XML files) – Limited styling of XML can be done with CSS alone • XQuery is a lanaguage for querying XML documents
  • 9. 9 The Two Facets of XML • Some XML files are just text documents with tags that denote their structure and include some metadata (e.g., an attribute that gives the name of the person who did the proofreading) – See an example on the next slide – XML is a subset of SGML (Standard Generalized Markup Language) • Other XML documents are similar to database files (e.g., an address book)
  • 10. 10 XML can Describe the Structure of a Document • <book year="1994"> <title>TCP/IP Illustrated</title> <author> <last>Stevens</last> <first>W.</first> </author> <publisher>Addison-Wesley</publisher> <price>65.95</price> </book>
  • 12. 12 The Structure of XML • XML consists of tags and text • Tags come in pairs <date> ... </date> • They must be properly nested – good <date> ... <day> ... </day> ... </date> – bad <date> ... <day> ... </date>... </day> (You can’t do <i> ... <b> ... </i> ...</b> in HTML)
  • 13. 13 A Useful Abbreviation Abbreviating elements with empty contents: • <br/> for <br></br> • <hr width=“10”/> for <hr width=“10”></hr> For example: <family> <person id = “lisa”> <name> Lisa Simpson </name> <mother idref = “marge”/> <father idref = “homer”/> </person> ... </family> Note that a tag may have a set of attributes, each consisting of a name and a value
  • 14. 14 XML Text XML has only one “basic” type – text It is bounded by tags, e.g., <title> The Big Sleep </title> <year> 1935 </ year> – 1935 is still text • XML text is called PCDATA – (for parsed character data) • It uses a 16-bit encoding, e.g., &#x0152 for the Hebrew letter Mem
  • 15. 15 XML Structure • Nesting tags can be used to express various structures, e.g., a tuple (record): <person> <name> Lisa Simpson</name> <tel> 02-828-1234 </tel> <tel> 054-470-777 </tel> <email> lisa@cs.huji.ac.il </email> </person>
  • 16. 16 XML Structure (cont’d) • We can represent a list by using the same tag repeatedly: <addresses> <person> … </person> <person> … </person> <person> … </person> <person> … </person> … </addresses>
  • 17. 17 XML Structure (cont’d) <addresses> <person> <name> Donald Duck</name> <tel> 04-828-1345 </tel> <email> donald@cs.technion.ac.il </email> </person> <person> <name> Miki Mouse</name> <tel> 03-426-1142 </tel> <email>miki@yahoo.com</email> </person> </addresses>
  • 18. 18 Terminology The segment of an XML document between an opening and a corresponding closing tag is called an element <person> <name> Bart Simpson </name> <tel> 02 – 444 7777 </tel> <tel> 051 – 011 022 </tel> <email> bart@tau.ac.il </email> </person> element element, a sub-element of not an element
  • 19. 19 An XML Document is a Tree person name emailtel tel Bart Simpson 02 – 444 7777 051 – 011 022 bart@tau.ac.il Leaves are either empty or contain PCDATA
  • 20. 20 Mixed Content An element may contain a mixture of sub- elements and PCDATA <airline> <name> British Airways </name> <motto> World’s <dubious> favorite</dubious> airline </motto> </airline>
  • 21. 21 The Header Tag • <?xml version="1.0" standalone="yes/no" encoding="UTF-8"?> – Standalone=“no” means that there is an external DTD – You can leave out the encoding attribute and the processor will use the UTF-8 default
  • 22. 22 Processing Instructions <?xml version="1.0"?> <?xml-stylesheet  href="doc.xsl" type="text/xsl"?> <!DOCTYPE doc SYSTEM "doc.dtd"> <doc>Hello, world!<!-- Comment 1 --></doc> <?pi-without-data?> <!-- Comment 2 --> <!-- Comment 3 -->
  • 23. 23 Using CDATA <HEAD1> Entering a Kennel Club Member </HEAD1> <DESCRIPTION> Enter the member by the name on his or her papers. Use the NAME tag. The NAME tag has two attributes. Common (all in lowercase, please!) is the dog's call name. Breed (also in all lowercase) is the dog's breed. Please see the breed reference guide for acceptable breeds. Your entry should look something like this: </DESCRIPTION> <EXAMPLE> <![CDATA[<NAME common="freddy" breed"=springer- spaniel">Sir Fredrick of Ledyard's End</NAME>]]> </EXAMPLE> We want to see the text as is, even though it includes tags
  • 24. 24 A Complete XML Document http://www.mscs.mu.edu/~praveen/Teaching/fa
  • 25. 25 Well-Formed XML Documents • An XML document (with or without a DTD) is well-formed if – Tags are syntactically correct – Every tag has an end tag – Tags are properly nested – There is a root tag – A start tag does not have two occurrences of the same attribute An XML document must be well formed
  • 26. 26 Representing relational databases A relational database for school: student: course: enroll: cno title credit 331 DB 3.0 350 Web 3.0 … … … id name gpa 001 Joe 3.0 002 Mary 4.0 … … … id cno 001 331 001 350 002 331 … …
  • 27. 27 XML representation <school> <student id=“001”> <name> Joe </name> <gpa> 3.0 </gpa> </student> <student id=“002”> <name> Mary </name> <gpa> 4.0 </gpa> </student> <course cno=“331”> <title> DB </title> <credit> 3.0 </credit> </course> <course cno=“350”> <title> Web </title> <credit> 3.0 </credit> </course>
  • 28. 28 XML representation <enroll> <id> 001 </id> <cno> 331 </cno> </enroll> <enroll> <id> 001 </id> <cno> 350 </cno> </enroll> <enroll> <id> 002 </id> <cno> 331 </cno> </enroll> </school>

Notes de l'éditeur

  1. &amp;lt;number&amp;gt;