Introduction to XML
Private Training

Course Summary

The Extensible Markup Language (XML) defines a way of marking up text to describe the structure of data. XML allows you to create your own markup language: you define the tags that give meaning to your data. The World-Wide Web Consortium (W3C) creates and maintains the definition of XML, making it a standard for creating markup languages. Industries and organizations use XML to write rules defining their own markup languages.

In this three-day course students will learn how to create well-formed XML documents. In addition, they will learn about the most important supplementary technologies that support XML, including XML Schema for validation as well as XSLT for transformation.

Application developers, web developers and administrators, and XML authors.
Course Length
3 Days
HTML. Familiarity with web and data processing concepts. Programming experience is helpful, but not necessary.


Explain what XML is, and how it is used in application and document development.

Write well-formed documents that conform to XML’s basic rules of syntax.

Validate XML documents with both DTDs and XML Schemas.

Use XML Namespaces to distinguish between XML tags.

Transform an XML document into an HTML document using XSLT.

Use XPath to navigate a document tree.

Explain how programs can use DOM and SAX to parse XML documents.

Detailed Outline

  1. Course Introduction
    • Course Objectives
    • Overview
    • Suggested References
  2. Getting Started with XML
    • Data and Document Structure
    • XML
    • Well-Formed XML
    • Valid vs. Well-Formed XML
    • XML Schema
    • Presentation Style
    • XSL-FO and XSLT
    • Using XML
  3. Writing Well-Formed XML
    • XML Fundamentals
    • Tag Attributes
    • Naming Rules
    • Empty and Non-Empty Elements
    • Nesting and Hierarchy of Tags
    • Processing Instructions and the XML Declaration
    • Other XML Constructs
    • Entity and Character References
  4. Namespaces
    • Why Namespaces?
    • Namespace Prefixes and Declaration
    • Multiple Namespace Declarations
    • Declaring Namespaces in the Root Element
    • Default Namespaces
  5. Validating XML with XML Schemas
    • Schema Overview
    • Associating XML with a Schema
    • Simple and Built-in Types
    • Complex Types
    • Element Declarations
    • Attribute Declarations
    • Choices
    • Named Type and Anonymous Types
  6. Intro to XSLT
    • Stylesheet, Source, and Result
    • XSLT Processors
    • Processor Implementations
    • XPath Basics
    • xsl:stylesheet
    • xsl:template
    • xsl:value-of
    • xsl:apply-templates
    • xsl:output
  7. XPath Nodetypes
    • XPath Expressions
    • XPath Context
    • XPath Location Steps
    • Element and Root Nodes
    • Text and Attribute Nodes
    • Comment and Processing Instruction Nodes
    • Namespace Nodes
    • Wildcards
    • Whitespace
    • Default Template Rules
  8. XPath Axes and Predicates
    • Location Paths and Location Steps
    • Peer Axis Types
    • More Peer Axis Types
    • Descendant Axis Types
    • Ancestor Axis Types
    • Node Tests
    • Predicates
    • Functions
  9. XSLT Flow Control
    • xsl:if
    • xsl:choose
    • xsl:for-each
    • xsl:sort
    • Named Templates
    • Mode
  10. XML in Applications
    • Reasons and Places for Using XML
    • DOM Parsers
    • SAX Parsers
    • Web Services
  11. Appendix A – Using XML Schema with Namespaces
    • Qualified and Unqualified XML
    • Associating Qualified XML with a Schema
    • Associating a Schema with a Namespace
    • Controlling Element and Attribute Qualification
    • Merging Schema with the Same Namespace
    • Merging Schema with Different Namespaces
  12. Appendix B – Validating XML with DTDs
    • XML DTDs
    • Element Conditions and Quantifiers
    • Attributes
    • Attribute Types
    • Parsed General Entities
    • Parsed Parameterized Entities
    • DTDs and Namespaces