XML Demystified

advertisement
XML DEMYSTIFIED
Presented By Carl-Erik Svensson
Announcements

Assignment 1.2 is due Wednesday 2/11/09 at 8am
Name your SVN check-in mp1.2
 csil-projects.cs.uiuc.edu/svn/sp09/cs242/netid/mp1.2

Make sure you are attending discussion
 Make sure you are using SVN
 Assignment 1.3 is due Wednesday 2/18/09 at 8am
 My office hours on 2/16/09 will be cancelled

WHAT THE!?

Extensible Markup Language

A nested tree structure of elements
Allows users to define their own elements
 Designed for carrying data

SIGNIFICANCE
Creates an open standard for sharing data
 Simple, and easy to read both by people and
machines
 Foundation for many Internet languages
 Separates content from presentation
 Widely adopted


Microsoft, IBM, Sun, SAP, Mozilla, …
ARE YOU FOR SERIOUS?

Here’s a list of technologies/products that use
XML







Open XML (ala .docx files and Office 2007)
Google Earth (KML)
Finale Notepad (MusicXML)
Scalar Vector Graphics (SVG)
The Internet (HTML)
Really Simple Syndication Feeds (RSS)
Apache ANT
A BRIEF HISTORY
Evolved from SGML (1986), inspired by Charles
Goldfarb (and co.) at IBM in 1970
 Resulted in HTML

Standards were loosened
 Data and display became intertwined (bad!)


Adopted by Microsoft, Sun, and IBM
Useful for interoperability
 Owned by W3C

STRUCTURE

XML has a tree structure

Contains a root element
Beneath the root are additional elements
 Each element can have various attributes


It is implemented with tags



<aTag> contains text or other tags
Every opening <tag> must contain a closing </tag>
Tags can have any name
EXAMPLE
EXAMPLE…
Root Element
Attribute
Value
VALIDATION

We want to share our data with the world
The world needs to know what our data looks like
 We can define our data with a schema


XML Data can then be validated automatically
XSD
 DTD

XPATH
A method of traversing an XML document
 Useful for retrieving attributes and values of tags

DTD
DISPLAY
We have data, now what?
 This data can be parsed by any number of
programs

Data generated by web scraping
 Kernel files consumed by image convolution
 DEM to BMP converters/manipulators


We can also display the data directly
CSS
 XSL(T)

CSS
XSLT

A method of defining a transformation from XML
to something else


Usually HTML
Contains complex structure
Can define rules for each tag
 Typically these rules describe how to render a tag


Utilizes XPath expressions
Assignment 1.3

Use an XML file to define operations
This will require parsing an XML file
 Luckily, there are some parsers we can use


Call operations defined in the XML file
Now we can define any combinations of basic
operations as a single operation
 This makes our application externally programmable


Due Wednesday, Feb 18th at 8am in SVN
Assignment 1.3 - Sample XML




Root is Operations
Operations contains
multiple ComplexOps
Each ComplexOp is named
and contains multiple Ops
Each Op is named and
contains parameters
Assignment 1.3 - DTD
RESOURCES
http://www.w3schools.com/xml/default.asp
 http://www.itwriting.com/xmlintro.php
 http://www.w3schools.com/xpath/default.asp


http://www.w3schools.com/DTD/

http://www.grinninglizard.com/tinyxml/

http://ezxml.sourceforge.net/

http://agora.cs.illinois.edu/display/cs242sp09/Assignment+1.3
Download