511. XML for the Enterprise
Version 1.1

Book cover

This comprehensive course provides a full tour of the most prevalent XML standards, and introductory-to-intermediate training in each: XML itself, XML Schema, XSLT, and XSLFO. This is a great fit for students who are planning to work extensively with XML in the near future, as it gives a good grounding in how to manage XML information, define XML models (using XML Schema), transform XML information to text, HTML, or other XML formats (using XSLT), or to print-ready PDFs (using XSLFO).

Prerequisites: None.

Learning Objectives

  • Understand the broad influence of XML on emerging software architectures.
  • Understand the roles of XML Schema, XPath, XSLT, XSLFO, parsing APIs, and Web services in the broader scope of XML technology in software applications.
  • Write well-formed XML documents to express simple or complex document content.
  • Write DTDs to set rules for XML document validation.
  • Read and write XML using namespaces to import type information and to partition the XML namespace.
  • Use XML Schema to validate XML documents.
  • Define simple types, and use value restrictions and enumerations to constrain values.
  • Create complex types, including simple types and other complex types, and empty- and mixed-content types.
  • Write simple and complex queries into XML document content using XPath.
  • Transform XML data into plain text, HTML, or XML formats.
  • Describe the relationship between XSLT and XSLFO, and their roles in the typical XML-to-print production process.
  • Transform XML data into FO documents, and format those into PDFs.

Timeline: 5 days.

Module 1. Introduction to XML

Chapter 1. A Brief History of XML

  • Birth of XML
  • Content vs. Presentation
  • Self-Describing Data
  • A Standard Document Format
  • Uses for XML

Chapter 2. XML Grammar

  • Structure of an XML Document
  • Handling Whitespace
  • Character and Entity References
  • Well-Formed XML
  • Elements
  • Attributes
  • Processing Instructions
  • Comments
  • CDATA Sections

Chapter 3. Valid XML

  • Document Types
  • DTD Structure
  • Defining Elements
  • Cardinality
  • Attributes
  • Required, Implied, Default, and Fixed Attributes
  • Enumerations
  • XML Namespaces
  • Limitations of DTDs
  • XML Schema
  • Advantages of XML Schema
  • Data Types

Chapter 4. Using XML in Applications

  • SAX and DOM Parsing
  • XSLT
  • XPath
  • XSL-FO
  • Web Services
  • SOAP

Module 2. XML Schema

Chapter 1. Getting Started with XML Schema

  • What is an XML schema?
  • Schemas vs. DTDs
  • Structure of a Schema
  • Associating Schema with Documents
  • Types of Types
  • Defining Elements
  • Defining Complex Types
  • Validation

Chapter 2. Simple Types

  • Simple and Atomic Types
  • Built-In Types
  • Primitives
  • Numeric Derived Types
  • String Derived Types
  • Simple Type Restriction
  • Facets
  • Enumerations
  • Patterns
  • Lists
  • Unions
  • Nillable Values

Chapter 3. Complex Types

  • Model Groups
  • Sequences, Conjunctions, and Disjunctions
  • Particles
  • Occurrence Constraints
  • Global and Local Definitions
  • Defining Attributes
  • Empty, Any, and Mixed Content
  • Model Group Definitions
  • Attribute Group Definitions
  • Annotations

Module 3. XSLT

Chapter 1. Getting Started with XSLT

  • XSL and XSLT
  • Rule-Based Transformations
  • Templates
  • Producing Text, HTML, and XML

Chapter 2. XPath

  • Addressing XML Content
  • XPath in XSLT
  • Tree Structure
  • XPath Expressions
  • Type Model
  • Context
  • Axis, Node Test, and Predicate
  • Abbreviations
  • Proximity Position
  • XPath Functions
  • Comparisons Between Various Types

Chapter 3. Templates and Production

  • Template Matching
  • Built-In Template Rules
  • Recursion Through Templates
  • Template Context
  • Output Methods
  • Controlling Whitespace
  • Literal Replacement Elements
  • Formalizing Text, Elements and Attributes
  • Defining Target Vocabulary
  • Generating Processing Instructions

Chapter 4. Dynamic Content and Flow Control

  • Deriving Source Content
  • Getting Source Values
  • Attribute Value Templates
  • Copying Source Elements and Trees
  • Looping
  • Conditionals

Chapter 5. Variables and Template Management

  • Variables
  • Using Variables to Capture Context Information
  • Result Tree Fragments
  • Parameters
  • Calling Templates Explicitly
  • Global Variables and Stylesheet Parameters
  • Template Modes

Module 4. XSLFO

Chapter 1. Getting Started

  • Formatting XML
  • XSLT and XSLFO
  • Flow of Information
  • Formatting Objects
  • Properties

Chapter 2. Page Masters

  • Pages and Areas
  • The Page-Master Model
  • Regions
  • Writing Mode and Orientation
  • The Page-Sequence Model
  • Flows
  • Page-Sequence Masters
  • Properties and the Inheritance Model

Chapter 3. Formatting

  • Flows
  • Blocks and Layout Options
  • Inlines and Layout Options
  • Lists
  • Tables
  • Controlling Pagination

Chapter 4. Formatting

  • Page Numbering
  • Identifying Content
  • Page-Number Citations
  • Links
  • Tables of Contents

Appendix A. Learning Resources

Appendix B. Quick Reference: W3C Namespaces

System Requirements

Hardware Requirements (Minimum) 500 MHz, 128 meg RAM, 50 meg disk space.
Hardware Requirements (Recommended) 1.0 GHz, 256 meg RAM, 50 meg disk space.
Operating System Tested on Windows 2000 Professional. Course software should be viable on all systems which support W3C-compliant XML tools.
Software Requirements All free downloadable tools.