An XML Introduction
Next Generation Web Data
Ian GRAHAM
Centre for Academic Technology
Tel: 978-4548
Email: <[email protected]>
Talk: http://www.utoronto.ca/ian/talks/
Overview
An XML example
 -- so what’s so special about XML?
The birth of the Web -- HTML
HTML is not enough -- why?
XML for universal data
Common uses and applications
XML Example: test.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<html xmlns="http://www.w3.org/TR/xhtml1" >
<head>
<title> Title of text XHTML Document </title>
</head>
<body>
<div class="myDiv">
<h1> Heading of Page </h1>
<p> here is a paragraph of text. I will include inside this paragraph a bunch of
wonky text so that it looks fancy. </p>
<p>Here is another paragraph with <em>inline emphasized</em> text, and
<b> absolutely no</b> sense of humor. </p>
<p>And here is another paragraph, this one containing an <img src="image.gif"
alt="waste of time" /> inline image, and a <br /> line break. </p>
</div>
</body></html>
What do browsers do?
Netscape 5 -- ignores the tags ... or so it
seems ...
Internet Explorer 5 -- shows a tree of
elements.
The Birth of the Web
The HyperText Markup Language
A simple language for distributing text
All that other stuff
URLs, HTTP, CGI ...
HTML Evolution
Started with very few tags …
Language evolved, as more tags were
added
forms
tables
fonts
frames
HTML Problems
Desire for personalized tags
Want to put data into HTML form
mathematics, database entries, literary text,
poems, purchase orders ….
HTML just isn’t designed for that!
HTML Problems (2)
Software processing
Server management
of data
HTML
HTML
HTML
But -- HTML is so illformed, this is hard!
HTML
HTML
Idea: Back to the Basics
HTML was defined using SGML
Standard Generalized Markup Language
A meta-language for defining languages.
Complex, sophisticated, powerful
Idea: Use SGML
Languages based on SGML
HTML
TEI
DocBook
...
SGML
Problems with SGML
Too complicated a language
Rules are too strict
Not good in a distributed environment
Can’t mix different data together
Idea (2):
“Webified” SGML
New eXtensible Markup Language: XML
Can use XML to define new languages
Distributes easily on the Web
Can mix different types of data together
Basic XML Rules
Tags like in HTML, but ...
Technical details
Always need end tags
Special empty-element tags
Always quote attribute values
Like this example …..
<?xml version="1.0" encoding="iso-8859-1"?>
<html xmlns="http://www.w3.org/TR/xhtml1" >
<head>
<title> Title of text XHTML Document </title>
</head><body>
<div class="myDiv">
<h1> Heading of Page </h1>
…..
<p>And here is another paragraph, this one containing an
<img src="image.gif" alt="waste of time" />
inline image, and a <br /> line break. </p>
</div>
</body></html>
Evolution of XML
Many XML languages, optimised for
different roles
MathML -- for mathematics
SMIL -- for synchronised multimedia
RDF -- for describing “things”
XUL -- for describing the Navigator 5 user
interface
MathML
Designed to express
semantics of maths
Also can express
layout
Cut & paste into
Maple, Mathematica
x2 + 4x + 4 =0
<mrow>
<mrow>
<msup> <mi>x</mi> <mn>2</mn>
</msup> <mo>+</mo>
<mrow>
<mn>4</mn>
<mo>&invisibletimes;</mo>
<mi>x</mi>
</mrow>
<mo>+</mo>
<mn>4</mn>
</mrow>
<mo>=</mo>
<mn>0</mn>
</mrow>
SMIL
Synchronised Multimedia Integration
Language
Integration of multimedia with text, audio,
video
Support in RealPlayer G2
SMIL Example
<smil>
<head>
<meta name="title" content="Online Teaching Services promo" />
<meta name="author" content="Jay Moonah, CAT" />
<layout type="text/smil-basic-layout">
<root-layout width="280" height="316" background-color="white"/>
<region id="AnimChannel1" title="AnimChannel1"
left="0" top="0" height="265" width="280" fit="hidden"/>
</layout>
</head>
<body>
<par title="Online Teaching Services promo" author="Jay Moonah, CAT" >
<audio src="final.rm" id="Soundtrack" title="Soundtrack"/>
<animation src="otscompfin.swf" id="Animation"
region="AnimChannel1" title="Animation" fill="freeze"/>
<text src="cc.rt" id="caption" region="cc" title="cc" fill="freeze"/>
</par>
</body></smil>
XHTML: NextGen HTML
<?xml version="1.0" encoding="iso-8859-1"?>
<html xmlns="http://www.w3.org/TR/xhtml1" >
<head>
<title> Title of text XHTML Document </title>
</head>
<body>
<div class="myDiv">
<h1> Heading of Page </h1>
<p> here is a paragraph of text. I will include inside this paragraph
a bunch of wonky text so that it looks fancy. </p>
<p>Here is another paragraph with <em>inline emphasized</em>
text, and <b> absolutely no</b> sense of humor. </p>
<p>And another paragraph, this one with an <img src="image.gif"
alt="waste of time" /> image, and a <br /> line break. </p>
</div>
</body></html>
XHTML
Just like HTML, but based on XML rules
Will support integration of different data
into a single document
XHTML and other Data
<?xml version="1.0" encoding="iso-8859-1"?>
<html xmlns="http://www.w3.org/TR/xhtml1" >
<head>
<title> Title of XHTML Document </title>
</head><body>
<div class="myDiv">
<h1> Heading of Page </h1>
<mathml xmlns=“http://www.w3.org/TR/mathml”>
… MathML markup …
</mathml>
<p> more html stuff goes here </p>
<smil xmlns=“http://www.w3.org/TR/smil1”>
… SMIL markup …
</smil>
</div>
</body></html>
Other Use: Data Abstraction
XML as a universal format for data
interchange
Machines exchange data as XML-format
messages
Eliminates proprietary data formats
Lots of XML processing software available
XML Messaging
Factory
Supplier
Place order
Supplier
Supplier
Response
XML Messaging
Database
Request/send data
Other DB
Other DB
Other DB
Request/send data
Example Message
<partorders xmlns=“http://myco.org/Spec/partorders.desc”>
<order ref=“x23-2112-2342” date=“25aug1999-12:34:23h”>
<desc> Gold sprockel grommets, with matching hamster</desc>
<part number=“23-23221-a12” />
<quantity units=“gross”> 12 </quantity>
<delivery-date date=“27aug1999-12:00h”>
</order>
<order ref=“x23-2112-2342” date=“25aug1999-12:34:23h”>
…. Order something else …..
</order>
</partorders>
The XML Family Tree
SMIL
XHTML
HTML
SpeechML
XUL
MathML
RDF
TEI
...
...
XML
SGML
Other Examples
XUL: XML User Interface Language
How Navigator 5 configures its interface
RDF: Resource Description Framework
For describing things
Used by Netscape Open Catalog project to
define Web accessible resources
Summary
a framework for distributing data on the
Web
an integration tool for mixing different
types of data
a universal format for exchanging data
between machines
An XML Introduction
Next Generation Web Data
Ian GRAHAM
Centre for Academic Technology
Tel: 978-4548
Email: <[email protected]>
Talk: http://www.utoronto.ca/ian/talks/
Descargar

An XML Introduction