Fast Track to XML and Java
This course provides a complete introduction to XML and the Java XML APIs. The course is a balanced mixture of theory and practical labs, designed to take students from the basic fundamentals of XML, right through to mastery of the standard Java XML APIs. The students are walked through the different standards in a structured manner, to enable them to master the concepts and ideas, which are reinforced in the lab exercises.
The course starts with the fundamentals of XML including document structure, and XML Schema. It then moves on to the basic relationship between Java and XML, including generating XML from Java and the mapping between Java and XML objects. Finally, students are taken through a detailed and hands-on examination of the two main JAXP APIs – SAX 2.0 and DOM 2.0. The course concludes with a look at some Java and XML related topics.
Duration: 3 days
Hands-on: 50% hands-on, 50% lecture
Supported Platforms: Java 1.4+
Introduction to XML
- XML Defined
- Benefits of Using XML, comparison to HTML
- SGML and the origins of XML.
- The XML standard and how it relates to the other standards (XSL, XPath, DOM, SAX, etc).
- Some real life XML applications.
The XML Document
- Structure of the XML document.
- The document body
- Elements, tags, and attributes.
- Prolog, XML Declaration and PIs.
- Entities, CDATA
- Well-formed XML
- XML syntax and parsing.
- The Motivating Problem
- The Namespace Solution (Definition, qualified names, URIs, prefixes)
- Namespace scope and overriding
- Default Namespaces
- Namespaces and Attributes
Valid XML Documents
- Definition of a valid document
- Definition of a schema
- Schema Languages
- General Form of an XML Schema
- Elements, Attributes and Types
- Element Definitions
- Simple Types
- Primitive and Derived Datatypes
- Complex Types - Sequence, Choice, All
- Element Occurrence Constraints
- Attribute Definitions
- Attribute Occurrence Constraints
- SimpleContent Type
- Using XML Schema with Namespaces
The Document Type Definition (DTD) Overview
- The role and functions of a DTD.
- Specifying internal and external DTDs.
- Specifying elements and attributes.
- Specifying internal and external entities.
- Defining Elements
- Defining Attibutes
- CDATA and NMTOKEN
- DTD conformance and valid XML documents.
- Comparison of XML Schema to DTD
- Since DTDs are being phased out in favor of XML
Schemas, we present only an overview here
XML Schema Advanced Topics
- Element and Attribute Group Definitions
- Defining New Types
- Defining new Simple Types by Restriction, Enumeration, List, Union
- Defining new Complex Types by Extension and Restriction
- Generic Types
XML and Java
- How Java and XML work together.
- JAXP: the Java XML API.
- Data Modeling: relating XML and Java structures.
- Generating XML from Java.
- Basic parsing concepts.
- Getting and using XML parsers for Java.
- Event-driven and tree-based parsing.
- The role of SAX and DOM.
The SAX 2.0 Interface
- Basic SAX design goals and implementation.
- The parser interface and methods.
- The ContentHandler interface and methods.
- SAXExceptions and the ErrorHandler Interface.
- The EntityResolver interface and methods.
- The DTDHandler interface and methods.
- Using SAX with validating parsers.
- Other SAX features and interfaces.
The DOM 2.0 Interface
- What the DOM standard is.
- The DOM Java binding.
- The DOM node tree.
- The Node interface and methods.
- Entity, Document, and other DOM subclasses
- Building and traversing a DOM tree.
- Modifying and transforming DOM trees.
- Using DOM to generate or transform XML.
- Using DOM with validating parsers.
- Other APIs
- Performance Issues
- JAXB Overview
- JDOM Overview