Office of Administration
 Matt Blunt, Governor - Larry Schepker, Commissioner
 
 
 

Information Technology Services

XML Programming Introduction

Duration:

3 Days

Audience

Application developers, web developers and administrators, and XML authors.

Pre-requisites

HTML. Familiarity with web and data processing concepts. Programming experience is helpful, but not necessary.

Description

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 DTDs and XML Schema for validation as well as XSLT for transformation.

Course Contents

Getting Started with XML

  • Data and Document Structure
  • XML
  • Well-Formed XML
  • Valid vs. Well-Formed XML
  • Enforcing Valid Documents: DTDs
  • Enforcing Valid Documents: XML Schema
  • Presentation Style
  • XSL and XSLT
  • Using XML

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

Namespaces

  • Why Namespaces?
  • Namespace Prefixes and Declaration
  • Multiple Namespace Declarations
  • Declaring Namespaces in the Root Element
  • Default Namespaces

Validating XML with DTDS

  • XML DTDs
  • DOCTYPE
  • Element Conditions and Quantifiers
  • Attributes
  • Attribute Types
  • REQUIRED, IMPLIED, and FIXED
  • Parsed General Entities
  • Parsed Parameterized Entities
  • DTDs and Namespaces

Validating XML with XML Schemas

  • Schema Overview
  • A Minimal Schema
  • Associating XML With a Schema
  • Simple and Built-in Types
  • Complex Types
  • Element Declarations
  • Attribute Declarations
  • Choices
  • Named Type and Anonymous Types

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

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

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

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

XSLT Flow Control

  • Intro
  • xsl:if
  • xsl:choose
  • xsl:for-each
  • xsl:sort
  • Named Templates
  • Mode

XML in Applications

  • Reasons and Places for Using XML
  • DOM Parsers
  • SAX Parsers
  • Web Services

Appendix A - Effective Document Design

  • Design Goals
  • Intended Audience
  • Document Types
  • Choosing a Validation Method
  • Incorporating Namespaces
  • Modular Document Design
  • Planning for Extensibility

Scheduled Classes