Introduction to XML

Duration: 2 days
Type: beginner


This is a fast paced introductory course designed for experienced developers who will be using XML to build and configure their applications. By the end of the course delegates will be able to edit XML documents, read XML Schemas and XSLT Stylesheets and write XPath expressions and XQuery database queries.

In examples where coding is required Java is used by default, however the course can also be delivered using C# if required.


Delegates should be experienced at writing HTML pages. Knowledge of Java and/or C# is required for some parts of the course.

List of Modules

History and Uses of XML

The Evolution of XML from SGML
Using XML in software development
XML and the Semantic Web
How XML enables Web Services

Creating Well Formed XML

The basic rules of XML syntax
Thinking in terms of elements and not tags
Why there is a single document element
The tree structure created by XML docs
Choosing between the four content models
When to use attributes rather than elements
How namespaces allow multiple languages to be used in the same XML document
Tips for creating readable XML documents

Introducing XML Schema

The structure of an XML Schema
Referencing a single schema in an instance
Referencing multiple schemas in an instance
The XML Schema data types

Writing XML Schemas

Declaring simple content models
Declaring complex content models
Building elements using nested types
Creating and referencing global elements
Creating and referencing complex types

Understanding XPath

Nodes and axes of the XPath data model
The structure of an XPath expression
Writing complex XPath expressions

Creating XSLT Stylesheets

The push and pull approaches
Calculating result text
Template rule selection
Built in template rules
Resolving conflicting templates
The XSLT transformation environment
Serializing the XSLT result tree

Advanced XSLT Stylesheets

Modularizing stylesheets
Calling named templates
Variables and parameters
Including external stylesheets
Importing external stylesheets
Source tree numbering
Deep and shallow copying
Sorting and grouping elements

Introduction to XQuery

The evolution of XQuery
Comparing XQuery with XSLT
The FLWOR structure of a query
Writing simple and complex queries

Manipulating XML in Java

Using JAXP to find XML Parsers
Using JAXP to find XSLT Engines
Manipulating DOM trees in Java
Reading documents using SAX
Java specific API's No1: JDOM
Java specific API's No2: StAX