Upload
felicia-mccarthy
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
XML DEMYSTIFIEDPresented 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