Title: An XML Introduction
1An XML Introduction
- Next Generation Web Data
- Ian GRAHAM
- Centre for Academic Technology
- Tel 978-4548
- Email ltian.graham_at_utoronto.cagt
- Talk http//www.utoronto.ca/ian/talks/
2Overview
- An XML example
- -- so whats so special about XML?
- The birth of the Web -- HTML
- HTML is not enough -- why?
- XML for universal data
- Common uses and applications
3XML Example test.xml
- lt?xml version"1.0" encoding"iso-8859-1 ?gt
- lthtml xmlns"http//www.w3.org/TR/xhtml1" gt
- ltheadgt
- lttitlegt Title of text XHTML Document lt/titlegt
- lt/headgt
- ltbodygt
- ltdiv class"myDiv"gt
- lth1gt Heading of Page lt/h1gt
- ltpgt here is a paragraph of text. I will
include inside this paragraph a bunch of - wonky text so that it looks fancy.
lt/pgt - ltpgtHere is another paragraph with
ltemgtinline emphasizedlt/emgt text, and - ltbgt absolutely nolt/bgt sense of humor.
lt/pgt - ltpgtAnd here is another paragraph, this one
containing an ltimg src"image.gif" - alt"waste of time" /gt inline image,
and a ltbr /gt line break. lt/pgt - lt/divgt
- lt/bodygtlt/htmlgt
4It Looks Like HTML .
- Sort of .
- Tags look just like HTML tags (although XML lets
you create your own) - The red bits are special XML stuff (we will
discuss them later) - Its got .xml at the end
5The Birth of the Web
- The HyperText Markup Language
- A simple language for distributing text
- All that other stuff
- URLs, HTTP, CGI ...
6HTML Evolution
- Started with very few tags
- Language evolved, as more tags were added
- forms
- tables
- fonts
- frames
7HTML Problems
- Desire for personalized tags
- Want to put data into HTML form
- mathematics, database entries, literary text,
poems, purchase orders . - HTML just isnt designed for that!
8HTML Problems (2)
- Software processing
- Server management of data
- But -- HTML is so ill-formed, this is hard!
HTML
HTML
HTML
HTML
HTML
9Idea 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
10Languages based on SGML
HTML
TEI
DocBook
. . .
SGML
11Problems with SGML
- Too complicated a language
- Rules are too strict
- Cant distribute loosely formatted text (like
HTML) - Not good in a distributed environment
- Cant mix different data together
- Cant add arbitrary tags
12Idea (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
- can easily add new tags, and tell a browser what
to do with them.
13Basic XML Rules
- Tags like in HTML, but ...
- Technical details
- Tag names are case-sensitive
- Always need end tags
- Special empty-element tags
- Always quote attribute values
14Like this example ..
lt?xml version"1.0" encoding"iso-8859-1"?gt lthtml
xmlns"http//www.w3.org/TR/xhtml1" gt ltheadgt
lttitlegt Title of text XHTML Document
lt/titlegt lt/headgtltbodygt ltdiv class"myDiv"gt
lth1gt Heading of Page lt/h1gt .. ltpgtAnd
here is another paragraph, this one containing
an ltimg src"image.gif" alt"waste
of time" /gt inline image, and a ltbr
/gt line break. lt/pgt lt/divgt lt/bodygtlt/htmlgt
15XML Things
- lt?xml version1.0 encodingiso-8859-1 ?gt
- Says that this is an XML document
- lthtml xmlnshttp//www.w3.org/TR/xhtml1gt
- Says that the meaning of the tags inside (and
including) the html element are defined here.
16Evolution 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
17MathML
- Designed to express semantics of maths
- Also can express layout
- Cut paste into Maple, Mathematica
- x2 4x 4 0
- ltmrowgt
- ltmrowgt
- ltmsupgt ltmigtxlt/migt ltmngt2lt/mngt lt/msupgt
ltmogtlt/mogt - ltmrowgt
- ltmngt4lt/mngt
- ltmogtinvisibletimeslt/mogt
- ltmigtxlt/migt
- lt/mrowgt
- ltmogtlt/mogt
- ltmngt4lt/mngt
- lt/mrowgt
- ltmogtlt/mogt
- ltmngt0lt/mngt
- lt/mrowgt
18SMIL
- Synchronised Multimedia Integration Language
- Integration of multimedia with text, audio, video
- Support in RealPlayer G2
19SMIL Example
ltsmilgt ltheadgt ltmeta name"title"
content"Online Teaching Services promo" /gt
ltmeta name"author" content"Jay Moonah, CAT" /gt
ltlayout type"text/smil-basic-layout"gt
ltroot-layout width"280" height"316"
background-color"white"/gt ltregion
id"AnimChannel1" title"AnimChannel1"
left"0" top"0" height"265" width"280"
fit"hidden"/gt lt/layoutgt lt/headgt ltbodygt ltpar
title"Online Teaching Services promo"
author"Jay Moonah, CAT" gt ltaudio
src"final.rm" id"Soundtrack"
title"Soundtrack"/gt ltanimation
src"otscompfin.swf" id"Animation"
region"AnimChannel1" title"Animation"
fill"freeze"/gt lttext src"cc.rt"
id"caption" region"cc" title"cc"
fill"freeze"/gt lt/pargt lt/bodygtlt/smilgt
20XHTML NextGen HTML
- lt?xml version"1.0" encoding"iso-8859-1"?gt
- lthtml xmlns"http//www.w3.org/TR/xhtml1" gt
- ltheadgt
- lttitlegt Title of text XHTML Document lt/titlegt
- lt/headgt
- ltbodygt
- ltdiv class"myDiv"gt
- lth1gt Heading of Page lt/h1gt
- ltpgt here is a paragraph of text. I will
include inside this paragraph - a bunch of wonky text so that it
looks fancy. lt/pgt - ltpgtHere is another paragraph with
ltemgtinline emphasizedlt/emgt - text, and ltbgt absolutely nolt/bgt sense
of humor. lt/pgt - ltpgtAnd another paragraph, this one with an
ltimg src"image.gif" - alt"waste of time" /gt image, and a
ltbr /gt line break. lt/pgt - lt/divgt
- lt/bodygtlt/htmlgt
21XHTML
- Just like HTML, but based on XML rules
- Will support integration of different data into a
single document
22XHTML and other Data
- lt?xml version"1.0" encoding"iso-8859-1"?gt
- lthtml xmlns"http//www.w3.org/TR/xhtml1" gt
- ltheadgt
- lttitlegt Title of XHTML Document lt/titlegt
- lt/headgtltbodygt
- ltdiv class"myDiv"gt
- lth1gt Heading of Page lt/h1gt
- ltmathml xmlnshttp//www.w3.org/TR/mathmlgt
- MathML markup
- lt/mathmlgt
- ltpgt more html stuff goes here lt/pgt
- ltsmil xmlnshttp//www.w3.org/TR/smil1gt
- SMIL markup
- lt/smilgt
- lt/divgt
- lt/bodygtlt/htmlgt
23Displaying XML
- More complicated than HTML
- XML represents data only, not how it looks
- Need extra instructions (a style sheet
document) to define how things should look
24What Browsers Do Now?
- Netscape 5 -- ignores the tags ... or so it seems
... - Internet Explorer 5 -- shows a tree of elements
- Navigator 4, Internet Explorer 4
- Uggh (cant handle it)
25Other 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
26XML Messaging
27XML Messaging
Other DB
Request/send data
Database
Other DB
Other DB
Request/send data
28Example Message
- ltpartorders xmlnshttp//myco.org/Spec/partorders
.descgt - ltorder refx23-2112-2342 date25aug1999-1234
23hgt - ltdescgt Gold sprockel grommets, with
matching hamsterlt/descgt - ltpart number23-23221-a12 /gt
- ltquantity unitsgrossgt 12 lt/quantitygt
- ltdelivery-date date27aug1999-1200hgt
- lt/ordergt
- ltorder refx23-2112-2342 date25aug1999-123
423hgt - . Order something else ..
- lt/ordergt
- lt/partordersgt
-
29The XML Family Tree
HTML
TEI
. . .
. . .
XML
SGML
30Other 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
31Summary
- 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
32An XML Introduction
- Next Generation Web Data
- Ian GRAHAM
- Centre for Academic Technology
- Tel 978-4548
- Email ltian.graham_at_utoronto.cagt
- Talk http//www.utoronto.ca/ian/talks/