First Courses in XML

XML Comparison Work-Page

L. Krieg 2004-07-14

Fundamentals of XML
(Batkey)
Introduction to XML Course
(OnLine Learning.com)
Introduction to XML
(Westlake)
Introduction to XML for Web Programmers
(Webucator)
In this course you will learn fundamentals necessary to use XML on the web or in data processing applications. Through lecture and hands-on lab exercises, you will learn the essentials of data interoperability using XML, write well-formed XML documents, enforce document validity, use XSLT and stylesheets to transform XML documents, and get an introduction to XML programming APIs in languages such as Java and Perl.
Introduction to XML is a 6-week online course that provides a complete overview of XML. It provides you with a basic introduction to the components of an XML document and related technologies. You will learn how to create a valid (well-formed) XML document using the XML editor. The course provides an overview of Document Type Definitions (DTDs) and DTD syntax. It includes an introduction to cascading style sheets (CSS) by explaining CSS properties and selectors and how CSS works with XML. In this course, you will learn how to use the different components of an XML application, and how to build XML applications that make best use of these different components. Introduction to XML for Web Programmers teaches how to create well-formed and valid XML documents. The training class also introduces DTDs, XML Schema, and XSLT. The training class can also be delivered online for disperse groups.
Audience: Anyone who needs an introduction to XML, including application developers, Web developers, XML document authors, and webmasters.

The course is ideal for anyone interested in next-generation publishing, including web masters, programmers, web developers, technical writers/editors and print publishers who want to gain a working knowledge of XML.

Prerequisites
— Working knowledge of English
— Familiar with browsers, email and computer file system functions

  XML Course Prerequisites

There are no prerequisites for this class, although experience with HTML and JavaScript would come in handy.

1. Getting Started with XML

  • Data and Document Structure
  • XML
  • Well-Formed XML
  • Validity vs. Well-Formed XML
  • Enforcing Validity: DTDs
  • Presentation Style
  • XSL and XSLT

Module 1 - Introduction to XML

In the first module, you will be formally introduced to XML.

  • You will learn about the components of an XML document, and
  • you will learn how to use elements, attributes and entities.
  • Along with this, you will learn how to start building your own XML toolkit.
  • With this module is assignment one, where you will learn how to build a small XML document (an XML postcard) using a plain text editor.
  • You will learn how to insert a DTD reference, a style sheet reference and create a simple XML document based on the postcard DTD.

Master XML Document Structure

XML documents must conform to strict rules of formation and syntax. You will learn how to

  • build a well formed XML document, and
  • how to use view and test your documents with standards-compliant, publicly available parsers.

1. Introduction to XML

  • What XML Is
  • What XML Is Good For
  • A Brief History of XML

2. XML Overview

  • Markups
  • HTML vs. XML
  • Why XML?
  • Using XML
   

2. Your First XML

  • Elements & Nodes
  • Structure & Syntax
  • Attributes
  • Viewing XML
  • Comments and the Five Special Symbols
 

Module 2 - Learning the editor

This module will give you practice in authoring XML documents using the popular XML editor XMLSPY

  • You will be given an assignment to author a valid XML document using the letter DTD.
  • After creating your letter in XMLSPY, you will convert it to HTML and PDF using the course converter.
   

3. XML Syntax

  • XML Fundamentals
  • Tag Attributes
  • Naming Rules
  • Empty and Non-Empty Elements
  • Nesting and Hierarchy of Tags
  • Processing Instructions and the XML Declaration
  • Other XML Tags
  • Entity and Character References


   

4. Writing DTDs

  • XML DTDs
  • DOCTYPE
  • Element Conditions
  • Element Quantifiers
  • Attributes
  • Attribute Default
  • Parsed General Entities
  • Parsed Parameterized Entities

Module 3 - DTDs and CSS

Using your experience from the previous modules, you'll learn all about DTD's.

  • You will learn what they are,
  • what they can do, and
  • how to structure them properly & efficiently.

Incorporate Document Type Definitions (DTDs)

A DTD describes the structure of your XML document, by defining the acceptable XML tags for your application and their relationships. By including a DTD with your XML document, you can ensure that any application that processes your data knows the purpose and structure of the tags you have created. In addition, DTDs can be external, allowing many XML documents to link to them and share a predefined structure.

  • You will learn to build both internal and external DTDs for your XML applications.

3. Defining XML: DTDs

  • What Is a DTD?
  • Why DTDs Are Good
  • Defining Elements
  • Advanced Element Definition
  • Defining Attributes
  • Setting Default Values
  • Setting and Choosing Attribute Types
  • Defining Entities and Notation

5. Namespaces

  • Why Namespaces?
  • Namespace Prefixes and Declaration
  • Multiple Namespace Declarations
  • Declaring Namespaces in the Root Element
  • Default Namespaces
  • DTD's and Namespaces
  • Fixing Namespace Names in DTD
 

Understand XML Namespaces

What makes XML extensible? Namespaces do. You will learn

  • the basics of XML namespace declarations, as well as
  • how to apply namespace-declared tag subsets in your documents. Finally, you will learn to
  • use several of the most common namespaces, including
    • xsl,
    • xsd, and
    • xsi.

5. Namespaces

  • Purpose
  • Syntax
  • What Namespaces Are
  • What Namespaces Are Not
  • Using Namespacess
  • Namespaces and DTDs
  • Namespaces and Validity
  • Namespaces and XML Schema
     

6. XHTML vs. HTML

  • Purpose
  • What XHTML Is
  • Differences between XML and HTML

6. Basic XML Schemas

  • Schema Overview
  • A Minimal Schema
  • Associating Unqualified XML with a Schema
  • Element Declarations
  • Attribute Declarations
  • Complex Types
  • Simple and Built-in Types
  • Derivation of Simple Types
  • Choices
  • Named Types and Anonymous Types
  • Mixed Content
 

Write XML Schemas

DTDs, as an SGML-based standard, lack the intuitive simplicity of XML. The W3C Schema proposal allows you to improve upon your DTDs by including data types, content controls, and sophisticated element relationship specifications. Schemas will increasingly replace DTDs in the next few years. Be ready for when they do! You will

  • master the syntax of the W3C XML Schema proposal, as well as
  • techniques for applying and validating the schemas you build.

4. Defining XML: XML Schema

  • Introduction to Namespaces
  • Introduction to XML Schema
  • Simple Types
  • Complex Types
  • Defining Attributes

7. Transforming XML Using XSLT

  • Transformations
  • Templates
  • XPath: Selecting a Node
  • XPath: Navigating the Tree
  • Extracting Element Values
  • Choosing Specific Cases
  • Multiple Element Transformation
  • Sorting Elements
 

Transform Your Data With XSLT

XSLT (eXtensible Stylesheet Language Transformations) allows you to generate output from your XML data. This output can be HTML, text, WML, XML, and more. You will learn the powerful XSLT standards, and will build two complete applications using XSLT.

  • Tags you will learn and use include
    • xsl:stylesheet,
    • xsl:template,
    • xsl:apply-templates,
    • xsl:value-of,
    • xsl:sort,
    • xsl:for-each, and
    • xsl:variable.
  • In addition, you will receive an introduction to the powerful functions and expressions of XPath, to enable you to have extraordinary control over the elements you select and the data you present.

Beginning XSLT: Xpath
XSL Overview
XPath Overview
How XPath Sees the World
Location Paths
Predicates
Functions
XSLT: An Overview
Purpose of XSLT
How XSLT Works
Root Templates
Applying Multiple Templates
Instructions
Creating Nodes
Functions

8. XML in Applications

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

Use HTML to Create Dynamic Data-driven XML Applications

An HTML page can act as a wrapper for an XML application, applying stylesheets dynamically by making XML data available to client-side scripting with JavaScript. You will

  • build HTML front-ends for your XML, XSL, and CSS pages, and will learn to
  • dynamically update your XSL stylesheets with JavaScript.

JavaScript, in conjunction with XML, allows dynamic effects such as re-sortable lists (based on which field a user clicks), expanding and contracting tree structures (allowing users to display data in exactly the structure they need), and dynamic visibility changes (allowing users to "drill down" to display additional information).


9. Presenting XML for the Web - CSS

  • Stylesheet Languages
  • Formatting with Rules
  • Defining Elements as Blocks
  • Colors and Fonts
  • Page Layout with CSS
  • Lists

Module 3 - DTDs and CSS (cont'd)

  • You will also learn proper style sheet authoring techniques while studying this module.
  • For your final assignment, you will create a valid XML document using the report_xml DTD, allowing you to use a variety of elements such as images, glossaries, hyperlinks and more.

Apply CSS and XSL Stylesheets

XML data, before it can be shown in an application, must be formatted for display. With CSS, you can specify display rules for your tags. With XSL, you can go one step further, and build HTML structures such as tables or lists to display your data. In addition, as with DTDs, you can specify XSL and CSS documents for many XML datasheets, ensuring that your data will be displayed consistently. You will learn to

  • build both CSS and
  • XSL stylesheets, and to
  • apply them to present your XML data however you choose.