an xml introduction

32
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/

Upload: demont

Post on 15-Jan-2016

32 views

Category:

Documents


0 download

DESCRIPTION

An XML Introduction. Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk: http://www.utoronto.ca/ian/talks/. Overview. An XML example -- so what’s so special about XML? The birth of the Web -- HTML - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: An XML Introduction

An XML Introduction

Next Generation Web Data

Ian GRAHAMCentre for Academic TechnologyTel: 978-4548Email: <[email protected]>Talk: http://www.utoronto.ca/ian/talks/

Page 2: An XML Introduction

Overview

An XML example -- so what’s so special about XML?

The birth of the Web -- HTMLHTML is not enough -- why?XML for universal dataCommon uses and applications

Page 3: An XML Introduction

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>

Page 4: An XML Introduction

It 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)

It’s got .xml at the end

Page 5: An XML Introduction

The Birth of the Web

The HyperText Markup Language A simple language for distributing text

All that other stuff URLs, HTTP, CGI ...

Page 6: An XML Introduction

HTML Evolution

Started with very few tags …Language evolved, as more tags

were added forms tables fonts frames

Page 7: An XML Introduction

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!

Page 8: An XML Introduction

HTML Problems (2)

Software processing Server

management of data

But -- HTML is so ill-formed, this is hard!

HTML

HTML

HTML

HTML

HTML

Page 9: An XML Introduction

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

Page 10: An XML Introduction

Languages based on SGML

SGML

HTML TEI DocBook

. . .

Page 11: An XML Introduction

Problems with SGML

Too complicated a languageRules are too strict

Can’t distribute ‘loosely’ formatted text (like HTML)

Not good in a distributed environment

Can’t mix different data together Can’t add arbitrary tags

Page 12: An XML Introduction

Idea (2): “Webified” SGML

New eXtensible Markup Language: XML

Can use XML to define new languagesDistributes easily on the WebCan mix different types of data

together can easily add new tags, and tell a

browser what to do with them.

Page 13: An XML Introduction

Basic 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

Page 14: An XML Introduction

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>

Page 15: An XML Introduction

XML Things

<?xml version=“1.0” encoding=“iso-8859-1” ?> Says that this is an XML document

<html xmlns=“http://www.w3.org/TR/xhtml1”> Says that the meaning of the tags inside (and

including) the html “element” are defined here.

Page 16: An XML Introduction

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

Page 17: An XML Introduction

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>

Page 18: An XML Introduction

SMIL

Synchronised Multimedia Integration Language

Integration of multimedia with text, audio, video

Support in RealPlayer G2

Page 19: An XML Introduction

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>

Page 20: An XML Introduction

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>

Page 21: An XML Introduction

XHTML

Just like HTML, but based on XML rules

Will support integration of different data into a single document

Page 22: An XML Introduction

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>

Page 23: An XML Introduction

Displaying 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

Page 24: An XML Introduction

What Browsers Do Now?

Netscape 5 -- ignores the tags ... or so it seems ...

Internet Explorer 5 -- shows a tree of elements

Navigator 4, Internet Explorer 4Uggh…… (can’t handle it)

Page 25: An XML Introduction

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

Page 26: An XML Introduction

XML Messaging

FactorySupplier

Supplier

Supplier

Place order

Response

Page 27: An XML Introduction

XML Messaging

DatabaseOther DB

Other DB

Other DB

Request/send data

Request/send data

Page 28: An XML Introduction

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>

Page 29: An XML Introduction

The XML Family Tree

SGML

XML

HTML TEI

. . .

. . .

XHTML

SMIL

MathML

SpeechML

RDF

XUL

Page 30: An XML Introduction

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

Page 31: An XML Introduction

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

Page 32: An XML Introduction

An XML Introduction

Next Generation Web Data

Ian GRAHAMCentre for Academic TechnologyTel: 978-4548Email: <[email protected]>Talk: http://www.utoronto.ca/ian/talks/