First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

Practical Introduction to XML for Developers

Duration: 3 Days

Intended Audience and Prerequisites

This course is for developers who want to know how XML works, how to create XML documents, how to validate them, and how to transform them using stylesheets. No specific programming language knowledge is required though experience of programming and working with HTML would be useful.


XML is a very widely used way of representing, transmitting and storing data in a platform and application independent format. This course provides an in-depth introduction to what XML is, how it is structured, and how to use it. This is a practical course that covers such things as the creation of XML documents and XML document validation using DTDs and XMLSchema, transforming documents using XSLT stylesheets, and retrieving content from documents using XPath.


  • Introduction
    • What is XML?
    • XML, XHTML and HTML
    • Uses of XML
  • XML Foundations
    • Document structure
    • XML declaration
    • Processing instructions
    • Elements
    • The Root Element
    • Attributes
    • CDATA and escaping special characters
  • Namespaces in XML
    • The need for namespaces
    • Defining namespaces
    • Default namespaces
    • Using namespaces correctly
  • Document Validation with DTDs
    • What is a DTD?
    • Referencing DTDs in documents - defining inline
    • Using external DTDs (public and system)
    • Validating elements
    • Validating attributes
    • Defining and using entities in DTDs
  • Document Validation with XML Schema
    • What is a schema?
    • Schemas and DTDs
    • Creating a schema
    • Associating schemas with elements
    • Simple and complex types
    • Built-in types
    • Defining complex types
    • Structuring schema documents
  • XPath
    • What is XPath?
    • Locating elements and attributes
    • Axes
    • Using predicates
    • Functions
  • XSL and XSLT
    • What is XSL, XSLT
    • Creating stylesheets
    • Defining templates
    • Built-in template rules
    • Selecting elements and attributes
    • Structuring stylesheets: if, choose and for-each
    • Calling templates
    • Parameters and variables