an xml introduction next generation web data ian graham centre for academic technology tel: 978-4548...

Post on 05-Jan-2016

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

An XML Introduction

Next Generation Web Data

Ian GRAHAMCentre for Academic TechnologyTel: 978-4548Email: <ian.graham@utoronto.ca>Talk: http://www.utoronto.ca/ian/talks/

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

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>

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

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

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

HTML

HTML

HTML

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

SGML

HTML TEI DocBook

. . .

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

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.

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

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>

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.

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>

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

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)

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

FactorySupplier

Supplier

Supplier

Place order

Response

XML Messaging

DatabaseOther DB

Other DB

Other DB

Request/send data

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

SGML

XML

HTML TEI

. . .

. . .

XHTML

SMIL

MathML

SpeechML

RDF

XUL

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 GRAHAMCentre for Academic TechnologyTel: 978-4548Email: <ian.graham@utoronto.ca>Talk: http://www.utoronto.ca/ian/talks/

top related