an xml introduction next generation web data ian graham centre for academic technology tel: 978-4548...
TRANSCRIPT
![Page 1: An XML Introduction Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/1.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/2.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/3.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/4.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/5.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/6.jpg)
HTML Evolution
Started with very few tags …Language evolved, as more tags
were added forms tables fonts frames
![Page 7: An XML Introduction Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/7.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/8.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/9.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/10.jpg)
Languages based on SGML
SGML
HTML TEI DocBook
. . .
![Page 11: An XML Introduction Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/11.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/12.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/13.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/14.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/15.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/16.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/17.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/18.jpg)
SMIL
Synchronised Multimedia Integration Language
Integration of multimedia with text, audio, video
Support in RealPlayer G2
![Page 19: An XML Introduction Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/19.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/20.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/21.jpg)
XHTML
Just like HTML, but based on XML rules
Will support integration of different data into a single document
![Page 22: An XML Introduction Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/22.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/23.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/24.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/25.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/26.jpg)
XML Messaging
FactorySupplier
Supplier
Supplier
Place order
Response
![Page 27: An XML Introduction Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/27.jpg)
XML Messaging
DatabaseOther DB
Other DB
Other DB
Request/send data
Request/send data
![Page 28: An XML Introduction Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/28.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/29.jpg)
The XML Family Tree
SGML
XML
HTML TEI
. . .
. . .
XHTML
SMIL
MathML
SpeechML
RDF
XUL
![Page 30: An XML Introduction Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/30.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/31.jpg)
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 Next Generation Web Data Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: Talk:](https://reader036.vdocuments.mx/reader036/viewer/2022070403/56649f2a5503460f94c443b1/html5/thumbnails/32.jpg)
An XML Introduction
Next Generation Web Data
Ian GRAHAMCentre for Academic TechnologyTel: 978-4548Email: <[email protected]>Talk: http://www.utoronto.ca/ian/talks/