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. |
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
|