XML Introduction Course

Course Code: IN 342
Course Abstract: This course covers the basic XML technologies. It covers XML syntax, XML namespaces, document definitions with DTD and XML Schema, and document transformation with XSLT and XPath. The course elaborates on good XML stylesheet design and XML use in real-world scenarios. The course is intensive, with an even mix of lecture and hand-on labs.
Audience: This course is designed for developers that need to use XML in application development.
Duration: 3 days
Learning Outcomes:

Upon completion of this course, the participant will be able to:
> Describe the function of basic XML technologies
> Create well-formed XML documents
> Distinguish similar named XML elements using namespaces
> Validate XML documents using DTDs
> Use advanced XML schema validations and data type definitions
> Create XSLT stylesheets to transform raw XML data to HTML, text or XML

Course Topics:

XML Introduction
History of XML
Design Characteristics Of XML
Why All The Hype About XML?
More Flexible Than HTML
Separates Content and Presentation
More Standard Than HTML
Can Express Complex Data Models
Easy To Parse with Standard Tools
Self-describing and Self-validating
Well-Formed vs. Valid XML
The Structure of XML Applications
XML Application Example
XML-based Technologies
Some Uses of XML Technologies
Web Presentation
Configuration and Directives
Standard Data Format
Interoperable RPC with XML
Application To Application Bridge
XML Parsers and Tools
Review: XML Introduction
Lab: XML Introduction

XML Syntax
XML Document Structure
Document Structure Detail
XML Document Contents
Legal XML Names
Element Syntax
Attribute Syntax
Comment Syntax
Processing Instruction Syntax
Entity Reference Syntax
CDATA Sections
The XML Declaration
Character Encoding in XML
Well-Formed XML Data
Valid XML Documents
Review: XML Syntax
Lab: XML Syntax

Document Type Definition
The Case For Validation
DTD As Abstract Data Type
History Of DTD
A DTD Example
Associating XML With DTD
DTD Internal Subset
DTD External Reference
Public DOCTYPE Declarations
DTD Element Syntax
Basic Content Models
Cardinality Constraints In DTD
Grouping Elements
Arbitrary Data Structures
DTD Attribute Syntax
Attribute Types
Other Attribute Constraints
The ID and IDREF Types
Defining Entities In DTD
Parameter Entities
DTD Conditional Sections
Review: Document Types
Lab: Document Type Definition

Namespaces in XML
What Are XML Namespaces?
Namespace Syntax
The "Default" Namespace
The xml Namespace
Namespace Usage Examples
Important Uses Of Namespaces
Commonly Used Namespaces
Namespaces And Document Types
Review: XML Namespaces

Introduction to XML Schema
What is XML Schema
Advantages Of XML Schema
Disadvantages Of XML Schema
A Sample XML Document
A Sample DTD
Building The Schema Document
The schema Element
Schema Document Contents
Declarations and Definitions
Kinds Of Schema Data Types
A Simple Schema Document
Structure of the Simple Schema
An Alternate Schema Document
Schema Component Reuse
Model Groups
Model Group Examples: choice
Model Group Examples: all
Occurrence Constraints In Schema
Defining Attributes In Schema
Annotations In Schema
A More Complete Schema: Part 1
A More Complete Schema: Part 2
Associating Schemas And XML
Schema Location Attributes
Schema-Ready Orders XML
Identity Constraints In Schema
Example: key à keyref
Review: XML Schema
Lab: XML Schema

XML Schema Data Types
Why Data Types
Advantages Of Data Types
Kinds Of Schema Data Types
Simple Types vs. Complex Types
Simple Types: Strings
Simple Types: Numbers
Simple Types: Time & Date
Simple Types: Miscellaneous
Using Simple Types
Complex Types
Defining Arbitrary Content Models
EMPTY, ANY, and Mixed Content
Local vs. Global Definition
Anonymous vs. Named Definition
Review: Schema Data Types
Lab: Schema Data Types

Advanced Data Type Topics
List Types
Union Types
Data Type Facets
Constraining Facets
Simple Type Restriction
The pattern Facet
The enumeration Facet
The whitespace Facet
Type Derivation In XML Schema
Simple Type Extension
Complex Type Extension
Complex Type Restriction
Complex Type Restriction Syntax
Abstract Schema Types
Polymorphic Use Of Schema Types
Examples Of Polymorphism
Final Schema Types
Review: Advanced Data Types
Lab: Advanced Data Types

Namespaces in Schema
Validating Tags In Namespaces
The Target Namespace
Target Namespace In Instances
Element, Attribute Form Defaults
Element Form Defaults Example
Validating Multiple Namespaces
Importing A Schema Document
Multiple Schemas Per Namespace
Including A Schema Document
A Note On The QName Type
A Namespace For Data Types
Review: Namespaces In Schema
Lab: Namespaces In Schema

XSLT Fundamentals
History of XSLT
XSLT Processing
XSLT Processors
Some Uses of XSLT
XSLT Structure
Basic Terminology
XSLT Elements
Data Model
Tree Nodes
Source Tree to Result Tree
Templates
Multiple Templates
Invoking Templates for Children
Printing Out Data
Walking the Source Tree
More Generic Template Matches
Default Templates
Using Default Templates
Advanced Template Match Patterns
Advanced Apply-Templates
XSLT Processors And Tools
Review: XSLT Fundamentals
Lab: XSLT Fundamentals

XPath
XPath
Data Model
Tree Nodes
Document Order
XPath Data Types
Location Paths
Location Paths and the XML Tree
Abbreviated XPath Syntax
Abbreviated Syntax Examples
Full XPath Syntax
Node Tests
XPath Axes
Targeting Attributes
Axes Examples
Predicates
Abbreviated Syntax Revisited
Multiple Predicates
Predicate Order
Unions of Multiple Paths
Review: XPath
Lab: XPath

XSLT Templates
Walking the Source Tree
Context and Current Nodes
Determining Matches
Determining the Current Node List
Current Node List and Matches
Default Template Rules
Conflicts in Template Matches
Default Priorities
Endless Recursion and Modes
Typical Uses for Template Modes
Template Contents
Literal Result Expressions
Common XSLT Instructions
XSLT Conditionals
Nested Loops
Review: XSLT Templates
Lab: XSLT Templates

Prerequisites: Some experience with markup languages (like HTML) and object-oriented programming languages (like Java) is suggested, but not required.
Note: All fields are required
At the present time we do not offer training for individuals or groups less then 6 individuals. We apologize for any inconvenience.


We Value Your Privacy!

Ready to get started or in need of more information? Contact us today.

Go To Blog Virtual Learning