Contents
Moving to XML
What we're going to do today
How we're going to get there
Breaks
Before we start: what do you know
Before we start: Namespace
A brief chautauqua on language
Words
Sentences
Language
Words
Sentences
Meta-Language [1]
Meta-Language [2]
HTML [1]
HTML [2]
Well Formedness
What is XML
Key Features
Differences from HTML
Extensible: what does this mean for you?
Extensible: a simple example [1]
Extensible: a simple example [2]
Strictly parsed: what does this mean for you? [1]
Strictly parsed: what does this mean for you? [2]
Differences from SGML
A bit about the other bits
A bit about the other bits [ii]: XLink
A bit about the other bits [iii]: XPath and XPointer
A bit about the other bits [iv]: XSL-T
Digression: Visual Appearance and Stylesheets [i]
Visual Appearance and Stylesheets [ii]
Visual Appearance and Stylesheets [iii]: Status of XSL
Visual Appearance and Stylesheets [iv]: XSL Summary
Visual Appearance and Stylesheets [v]: What about CSS?
A bit about the other bits [v]: XML Schemas
Digression: Dialects of XML
What is a Document Type Definition?
What about Schemas? (Schemata?)
More about Schemas [i]: benefits
More about Schemas [ii]: examples
Do I have to use a DTD or Schema?
What DTDs and Schemas are available?
Who will write DTDs and Schemas? [i]
Who will write DTDs and Schemas? [ii]
A bit about the other bits [vi]: SOAP
XML in your context
Applications which benefit greatly from XML
Applications which will benefit little from XML
XML in action: content syndication
What is content syndication
History of Syndication
Standards for Syndication
Offering Syndication
Incorporating Syndication [i]
Incorporating Syndication [ii]: Sample code
Aggregation
Worked Example: a meeting arranger system
Creating an example document (quite easy)
Creating the DTD and/or Schema (hard, but we'll use a trick)
Viewing it: creating a style-sheet (harder)
Using it: applications
Specifying
The Structure of an XML document
Overall Structure
Processing Instructions
XML Namespaces
Elements [i]
Elements [ii]
Attributes
When to use which
Exercise period [i]
Creating
Building XML applications: tools and technologies
Why Java?
Other languages for building XML applications
Tools, components and toolkits
Transformation engines
What we will be using today
Constructing the document
The Document Object Model
The DOM: what is a Document?
The DOM: what is an Element?
The DOM: what is a Text?
Create a document object
Add a root ('content') element
Add further elements recursively as required
Let's see that again [i] the source
Let's see that again [ii]: the event element
Let's see that again: [iii] the context element
Let's see that again: [iv] the output
Exercise period [ii]
Transforming
Beginning XSL-T [i] The 'stylesheet'
Beginning XSL-T [ii] The 'stylesheet' tag
Beginning XSL-T [iii] comments
Beginning XSL-T [iv] output specifier
Beginning XSL-T [v] declaring a template
Beginning XSL-T [vi] other useful bits
XSL-T elements: reprise
Beginning XSL-T [vii]: Patterns
XSL-T: A deceptively simple language
Exercise period [iii]
Communicating
Just a bit about transport
Parsers
More about parsers [i] types
More about parsers [ii] types
Parsing from XML into the database
Identifying the data to store
Other things to bear in mind
Parsing: very simple worked example
Sample XML document
Sample Java class
Exercise period [iv]
References