SlideShare a Scribd company logo
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>

More Related Content

PPT
eXtensible Markup Language (By Dr.Hatem Mohamed)
PPTX
Xml presentation
PPTX
Introduction to XML
PPT
XML - EXtensible Markup Language
PPT
03 namespace
PPT
Introduction to XML
eXtensible Markup Language (By Dr.Hatem Mohamed)
Xml presentation
Introduction to XML
XML - EXtensible Markup Language
03 namespace
Introduction to XML

What's hot (20)

PPTX
XML-Extensible Markup Language
PPTX
XML Technologies
PPT
Markup Languages
PPTX
fundamentals of XML
PPTX
Xml dom
PPT
Introduction to sql
PPT
Introduction to XML
PPTX
Extensible Markup Language (XML)
PPTX
Fergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XML
PPTX
Web Information Systems XML
PPT
Xml iet 2015
PPT
EXtensible Markup Language
PPTX
Unit3wt
PPTX
Publishing xml
PPT
Xml theory 2005_[ngohaianh.info]_1_introduction-to-xml
PPTX
Web Information Systems Html and css
PPT
Xml Lecture Notes
PDF
HTML and XML Difference FAQs
PPTX
Extracting data from xml
XML-Extensible Markup Language
XML Technologies
Markup Languages
fundamentals of XML
Xml dom
Introduction to sql
Introduction to XML
Extensible Markup Language (XML)
Fergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XML
Web Information Systems XML
Xml iet 2015
EXtensible Markup Language
Unit3wt
Publishing xml
Xml theory 2005_[ngohaianh.info]_1_introduction-to-xml
Web Information Systems Html and css
Xml Lecture Notes
HTML and XML Difference FAQs
Extracting data from xml
Ad

Viewers also liked (6)

PPTX
Can Relief for California's Devastating Drought Be Had for a Few Drops?
PPTX
Marit Helgesen NHPRC2013
PPT
Xml Zoe
PDF
Home Alarm Systems St Johns
PDF
Semantic Markup
PPT
Elisabeth Jansson NHPRC2013
Can Relief for California's Devastating Drought Be Had for a Few Drops?
Marit Helgesen NHPRC2013
Xml Zoe
Home Alarm Systems St Johns
Semantic Markup
Elisabeth Jansson NHPRC2013
Ad

Similar to Xml (2) (20)

PPT
xml.ppt
PPT
Introduction to xml
PPT
XML Presentation-2
PPT
XML-Unit 1.ppt
PPTX
PDF
M.FLORENCE DAYANA WEB DESIGN -Unit 5 XML
PPTX
Unit 5 xml (1)
PPTX
Xml unit1
PPTX
Extensible Markup Language(XML)_lecture.pptx
DOCX
Oracle soa xml faq
DOCX
Xml viva questions
PPT
Introduction to XML.ppt
PPT
Introduction to XML.ppt
PPT
Xml Presentation-3
PPT
Xml1111
PPTX
xml.ppt
Introduction to xml
XML Presentation-2
XML-Unit 1.ppt
M.FLORENCE DAYANA WEB DESIGN -Unit 5 XML
Unit 5 xml (1)
Xml unit1
Extensible Markup Language(XML)_lecture.pptx
Oracle soa xml faq
Xml viva questions
Introduction to XML.ppt
Introduction to XML.ppt
Xml Presentation-3
Xml1111

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>

Editor's Notes

  • #14: &amp;lt;number&amp;gt;