You are here:
Powering Web Sites with XML

This comprehensive course gives the student an introduction to the eXtensible Markup Language, or XML, and to several technologies that support management and presentation of XML documents on the World Wide Web. It is geared towards students who desire a working knowledge of XML for the purpose of authoring Web documents, designing Web sites, and especially for managing XML documents and transformation paths as part of enterprise software development.

The course presents what might be called “Pure XML”, by which we mean two things. Firstly, everything in the course is based strictly on W3C specifications, without any vendor-specific extensions. Secondly, no knowledge of any particular programming language or other external technology is required to participate fully in the course. Thus the hands-on exercises, and the knowledge that is developed, are portable and applicable to any XML authoring or development effort. (Separately, Object Innovations also offers courses in XML and Java, for instance, and XML in the .NET framework.)

The first module introduces XML, giving an overview of its use in the industry and motivations for adoption. The basic grammar of well-formed XML documents is studied, including proper use of attributes, empty elements, mixed content, and nested elements. Then students move on to valid XML, learning to write DTDs and XML documents that will validate against the DTDs. This includes work with various attribute types such as enumerations, IDs and IDREFs. Students learn the limitations of the DTD grammar, and also techniques for working around those limitations using entities to express data designs effectively.

The next module presents various techniques for presenting XML documents in a web browser. First, Cascading Style Sheets (CSS, mostly level 1, some level 2) are applied to XML documents directly. Then students learn some basic XPath and XSLT to make transformations to HTML in the browser. Simple XLinks are studied, with hands-on exercises, and extended XLinks are discussed and a non-working example is presented. Finally, students work with client-side scripting using JavaScript and the Document Object Model (DOM) to manipulate and enhance the XML document and presentation in the browser, and to respond to user events for a responsive graphical interface.

The next module delves much more deeply into the XPath and XSLT specifications. Students develop fluency in the exacting, but powerful XPath syntax, and then build a number of XSLT transformations, learning a number of common and useful techniques: migration between XML vocabularies; filtering and sorting of document content; rearranging parent and child levels in hierarchies (which can be used to “flip” rows and columns in a document matrix); and computing aggregate values from document information.

 
Who Should Attend
Students who desire a working knowledge of XML for the purpose of authoring Web documents, designing Web sites, and especially for managing XML documents and transformation paths as part of enterprise software development.
 
Prerequisites
None. Some familiarity with HTML, browsers, and web presentation will be beneficial.
 
Features of this Course
Interactive hands-on lab exercises.
 
Benefits of Attending this Class

Upon completion of this course, students should be able to:

During class, students will:

  • Understand the broad influence of XML on emerging software architectures.
  • Write well-formed XML documents to express simple or complex document content.
  • Write DTDs to set rules for XML document validation.
  • Write valid XML documents with internal and/or external document type definitions.
  • Understand the limitations of DTDs in expressing document and object designs and in setting strict validation rules.
  • Read and write XML using namespaces to import type information and to partition the XML namespace.
  • Use cascading stylesheets to present XML documents directly in a web browser.
  • Use basic XPath and XSLT to transform XML documents into HTML for web presentation, with or without associated CSS.
  • Express relationships between XML documents using simple XLinks.
  • Understand the potential for extended XLinks in a document base or Web site.
  • Write scripts into an XML document that use the DOM to manipulate the document in the browser, to enhance its presentation or filter content.
  • Write scripts that handle browser-interpreted user events (such as a button click) to modify the XML document and presentation in the browser.
  • Use XSLT for XML-to-XML transformations.
  • Use the built-in template rules correctly to process the right source information.
  • Use mode and priority to control template matching.
  • Control exact production of text, HTML and XML elements, and whitespace.
  • Derive source document content and make copies of node trees.
  • Use looping and conditional processing to manage output production.
  • Use callable templates to capture common transformations and styling
 
Course Contents

Volume 1: Introduction to XML (1 day)

1. A Brief History of XML

Birth of XML
Content vs. Presentation
Self-Describing Data
A Standard Document Format
XML and Relational Data
XML and Object Models
The Need for Validation
Programmatic Use of XML
XML Transformations
XML for Messaging
Web Services

2. XML Grammar

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

3. Document Type Descriptors

Document Types
Internal and External Subsets
PUBLIC vs. SYSTEM
DTD Structure
Defining Elements
Cardinality
Attributes
Required, Implied, Default, and Fixed Attributes
Enumerations
IDs and IDREFs
Entities
Conditional Sections
Limitations of DTDs
Techniques Using Entities
XML Schema
XML Namespaces

Volume 2: XML Presentation (2 days)

4. Styling XML

XML and HTML
Cascading Style Sheets
Selectors and Properties
CSS Layout Model
CSS for HTML
CSS for XML
Limitations of CSS

5. XML-to-HTML Transformations

XSL and XSLT
XSLT on the Client
XSLT Output Formats
XPath
Structure of an XSLT Stylesheet
Literal Replacement Elements
Dynamic Content
Conditional Processing
Sorting and Filtering

6. Linking XML Documents

XLink
Elements as Links
Simple Links
Show and Actuate Attributes
XML Base
Extended Links
Link Sets and Linkbases
Local Resources
XPointer

7. Scripting Using the DOM

Client-Side Scripting
JavaScript (ECMAScript)
DOM for HTML
DOM for XML
Scripts in XML Documents
Parsing the XML Document
Modifying the XML Document
Responding to User Events

Volume 3: Introduction to XML Transformations (1 day)

1. XPath

Use of XPath in Other XML Technologies
XPath Expressions
The Axis
The Node Test
The Predicate
XPath Types
XPath Functions
Implied Context
Querying with XPath

2. XSLT: Templates and Production

XSL and XSLT
Rule-Based Transformations
Output Methods
Templates and Template Matching
Built-In Template Rules
Recursion Through Templates
Controlling Whitespace
Template Context
Literal Replacement Elements
Formalizing Text, Elements and Attributes

3. XSLT: Dynamic Content and Flow Control

Deriving Source Content
Getting Source Values
Attribute Value Templates
Copying Source Elements and Trees
Defining Target Vocabulary
Generating Processing Instructions
Variables
Result Tree Fragments
Looping
Conditionals
Calling Templates as Functions
Sorting
Number Formatting

 
 
 
Disclaimer: HP-UX, Tru64 Unix, OpenVMS and are registered trademarks of the Hewlett Packard Corporation. Solaris and Java are registered trademarks of Sun Corporation. AIX is a registered trademark of IBM. Oracle is a registered trademark of Oracle Corporation.