Meaningful Markup

XML and Web Information

Gary Stringer

University of Exeter
Creative Media and Information Technology (CMIT)

Exeter, UK


Table of Contents

About this Module
Prerequisites
Essential Reading
1. Introducing XML
What is XML?
Strictly XML
The X Word: XML-related technologies and acronyms
SGML to XML, HTML to XHTML
2. Different Types of Document
Hypertext Markup Language
Mathematical Markup Language (MathML)
RSS - Really Simple Syndication
DocBook
The Text Encoding Initiative
Scalable Vector Graphics (SVG)
Declaring a DTD
Namespaces
3. Defining Documents
What is a DTD?
Defining the Document
Defining Elements
Adding Attributes
Good Document Design
Entities and Other Useful(?) Stuff
4. Cascading Stylesheets
Associating a CSS file with an XML document
Using the Cascade
Advanced CSS Selectors
5. Introducing XSL Transformations
A Simple Stylesheet
A More Detailed Look
Outputting Markup
Tracking the current node
6. Further XSLT and XPath
Control structures
Creating new elements - <xsl:element> and <xsl:attribute>
Storing values - <xsl:variable> and <xsl:param>
More XPath: Tests and operators
Some Useful XPath Functions
7. Using XSLT 2.0
Namespaces
Sequences
XPath enhancements
Functions
Frequently Asked Questions
8. Schemas of various types
Why use a schema?
So which language should I use?
Using the W3C's Schema Description Language
9. Making Connections
Adding simple links
Extended Links
Bibliography
Glossary
Index

List of Figures

5.1. The XSLT Processing Model

List of Examples

1.1. An example of XML looking suspiciously like HTML
1.2. An example of a home-made markup language in XML
2.1. A basic XHTML page with minimal presentational markup
2.2. A very simple example of MathML
2.3. An instance of RSS 2.0 with iTunes and Yahoo media extensions
2.4. A very simple TEI P5 document
2.5. The simplest of SVG examples
2.6. Declaring a DTD internally
2.7. Declaring an external DTD
3.1. A simple DTD for a jokebook
3.2. A minimal jokebook document
4.1. Simple CSS stylesheet for jokebook (excerpt)
5.1. A simple XSLT stylesheet for jokebook (excerpt)
7.1. A namespace-aware XSLT2 stylesheet header
7.2. A basic function to lowercase text and remove (some) accents
7.3. XInclude example
8.1. Starting a new schema
8.2. Using a schema to validate XML
8.3. Adding documentation to a schema
8.4. Some simple element definitions in XSD
8.5. XSD: A simple element container
8.6. XSD: A user-defined complex type
8.7. XSD: Constraining data with a pattern - postcodes
9.1. Some XLink/XHTML Equivalences
9.2. An image gallery as an extended XLink