XML Programming Using Java

Course ID

34500

Course Description

The course is intended for students with a working knowledge of XML -- and possibly DTDs or XML Schema -- who want to build XML applications or components using the Java language. Everything in the course adheres to W3C and Java standards for completely portable code.

The course comprises three modules, which treat XML parsing, XML transformations, and XML binding. The first module introduces the Java API for XML Processing (JAXP) and the two main Java APIs for parsing XML documents: SAX and the DOM. Students learn the basic JAXP architecture and how to create parsers that expose SAX or DOM APIs, and how to configure parsers according to the SAX features and properties specification. SAX parsing gives way to reading and writing document information using the DOM tree model and API.

The second module introduces students to the XPath and XSLT specifications, and how to use JAXP as an interface to XML addressing and transformations. Students learn the JAXP's innovative system of Transformers, Sources, and Results; develop fluency in the exacting but powerful XPath syntax; and then build a number of XSLT transformations.

The third module introduces the newer and more powerful Java API for XML Binding, or JAXB, in its current incarnation, which is version 2.1. JAXB is now emerging as the tool of choice for most XML processing tasks where an XML Schema is available or easy to derive: based on that schema, JAXB-generated types can make it quite easy to read, manipulate, and write XML information models.


Prerequisites

  • Experience in Java Programming, including object-oriented Java and the Java streams model, is essential. Course 27120, "Intermediate Java Programming," is excellent preparation.
  • Basic understanding of XML is required. Course 34100, "XML Fundamentals," is recommended.
  • XML Schema is used peripherally in the course, and knowledge of this technology will be helpful, but is not required.

Audience

Anyone who needs to program XML in conjunction with Java, including application developers, Web developers, XML document authors, and webmasters.

Course Content

XML Parsing Using Java

    The Java API for XML Processing (JAXP)
  • Parsing XML
  • SAX and DOM
  • What the W3C Says
  • What the W3C Doesn't Say
  • Sun and Apache
  • JAXP
  • Parser Factories
  • Pluggable Parsers
  • Parser Features and Properties
    The Simple API for XML (SAX)
  • Origins of SAX
  • The SAX Parser
  • The SAX Event Model
  • Reading Document Content
  • Handling Namespaces
  • SAX Features for Namespaces
  • Parsing Attributes
  • Error Handling
  • DTD Validation
  • Schema Validation
  • Handling Processing Instructions
    The Document Object Model (DOM)
  • Origins of the DOM
  • DOM Levels
  • DOM2 Structure
  • The Document Builder
  • DOM Tree Model
  • DOM Interfaces
  • Document, Node and NodeList Interfaces
  • Element and Text Interfaces
  • Finding Elements By Name
  • Walking the Child List
  • The Attribute Interface
  • Traversing Associations
  • The JAXP Transformer Class
  • Sources and Results
  • Combining SAX and DOM Processing
  • Namespaces and the DOM
    Manipulating XML Information with the DOM
  • Modifying Documents
  • Modifying Elements
  • Modifying Attributes
  • Managing Children
  • Seeking a Document Location
  • The ProcessingInstruction Interface
  • Creating New Documents

XML Transformations Using Java

    Using the JAXP for Transformations
  • XPath, XSLT and Java
  • The Transformer Class
  • The TransformerFactory Class
  • Sources and Results
  • Identity Transformations
  • Creating Transformations from Stylesheets
  • Template Parameters
  • Output Methods and Properties
  • Evaluating XPath Expressions
    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
  • XPath and the DOM
    Templates and Production
  • Rule-Based Transformations
  • Templates and Template Matching
  • Built-In Template Rules
  • Recursion Through Templates
  • Template Context
  • Output Methods
  • Controlling Whitespace
  • Literal Replacement Elements
  • Formalizing Text, Elements and Attributes
  • Defining Target Vocabulary
  • Generating Processing Instructions
    XSLT: Dynamic Content and Flow Control
  • Web Applications Using XSLT
  • J2EE and JAXP
  • Deriving Source Content
  • Getting Source Values
  • Attribute Value Templates
  • Copying Source Elements and Trees
  • Looping
  • Conditionals

The Java API for XML Binding

    The Java API for XML Binding
  • The Need for Data Binding
  • XML Schema
  • Two Paths
  • JAXB Compilation
  • Mapping Schema Types to Java
  • Java-to-XML Mapping Using Annotations
  • Marshaling and Unmarshaling
  • Working with JAXB Object Models
    Learning Resources
    Quick Reference: W3C Namespaces

For More Information

For training inquiries, call 850-308-1376

or email us at eramos@gbsi.com

Course Details

Duration - 3 days
Price - $1895.00 USD


(Discounts may apply. Call for more information.)

Course Actions

Acceletrain Collaborative Learning Environment (formerly know as VILT) places industry certified and expert instructors, peers, learners and multi-media components into a "borderless classroom", and interactive learning environment that can span multiple physical locations. VILT combines the benefits of the traditional brick-and-mortar classroom with innovative learning techniques and the cost savings of internet-based training.