Java and XML

Course Objective
Learn how XML is used in Java applications.
Learn the structure of an XML document.
Learn how to read and write XML documents using standard API (SAX, DOM, JAXP).
Learn to define XML vocabularies using DTD and XML Schema
Learn how to transform XML documents from one format to another using XSLT and XPath.
Students should have exposure to an object oriented language such as C++, Java, Objective C or C#
What You Get
Java XML textbook
Course slides
Course notes and exercises.
Hardware and Software Requirments
Java SDK
Course Outline
  1. XML Overview
    • What is XML
    • Why XML
    • Getting started with XML
    • Anatomy of an XML Document (Elements, Attributes, Processing Instructions, Entities References)
    • XML Namespaces (xmlns attribute, namespace prefix, default namespace)
  2. Parse XML
    • SAX API
    • Parse an XML document using an event based push model
    • Create a SAX parser instance by loading an XMLReader statically and dynamically
    • Implement the ContentHandler interface and extend the adapter class, DefaultHandler
    • Create a ErrorHandler to handle parsing errors
    • DOM API
    • Parse the contents of an XML document using DOM
    • Learn the different types of nodes in a DOM Document
    • Traverse a DOM Document using DOM API
    • Use the DOM API to create an XML document from scratch
    • Serialize a XML document to a file.
    • JAXP API
    • Create a SAX parser
    • Create a DOM parser
  3. XML Validation
    • DTD
    • Document Type Declaration
    • External and Internal DTD Subsets
    • Define Elements, Attributes, Text and Mixed Content
  4. XMLSchema
    • Define a schema
    • Associate a document instance with a schema
    • Enabling schema validation in XML parser
    • XMLSchema built-in datatypes
    • simpleType, complexType
    • Derive user-defined types by extension and restriction
    • Multiple schemas
  5. XML Transformation
    • Use XSLT and XPath API to transform XML documents
    • Create XSLT templates to define transformation rules
    • Transform XML documents to HTML
  6. XML Web Services
    • XML Serialization
    • Calling a web service
    • Passing complex type parameters
    • SOAP

Well Designed

I like the way the course is designed so that the emphasis is on presenting the material from the programmer's point of view. This is in contrast to other hands on courses, where the emphasis is more on knowing how to use the UI. Elizabeth Moore (Passport Canada)

Well Taught

The course was well-taught from a teacher who has extensive industry and teaching experience. Combined with his meticulous attention to detail, genuine sincerity in improving his students' skillset, and unbeatable price, it would be hard to find another course with similar offerings elsewhere. Will Au (Cre8Object)

Great Labs

I like the fact that we do our labs at home and can discuss at the next one. I think the technical theory is excellent. It gives the right amount of details of what happens in the background in order to understand the whole picture. Stephane St. Denis (Passport Canada)

Great Knowledge

Great knowledge, teacher has a well documented answer for every question asked, was never stumped and answer is given right away. Teacher does not have to look for the answers, he knows what he is talking about. Benoit Hamelin (Passport Canada)

Very Comprehensive

The course is very comprehensive in content; the exercises reinforce concepts intensively, interlinking the hands on aspects. Piyush Sharma (Consultant with Ajilon Canada)