1-877-WEBUCATE
(1-877-932-8228)
info@webucator.com
 
Microsoft Training
Java Training
XML Training
Database & SQL Training
PHP, Perl, ASP, Groovy, Grails, Ruby on Rails Training
HTML, JavaScript, Ajax & CSS Training
Adobe CS3 Training
◊ PRIVATE XML TRAINING


Need a private class for your team delivered at your site or a location near you?
For private groups of three or more, Webucator offers completely customizable and cost-effective XML classes delivered at your offices or a location near you.

To have someone contact you about these classes, please fill out the form below.

* (Required)
* (Required)
* (Required)
* (Required)
* (Required)
(The number of people requiring training)
(For Federal Government Pricing)
* (Required)

XML Training for Java Developers (4 days)


This XML class is delivered for private groups onsite at your offices or a location of your choice. It can also be delivered via the Internet for geographically distributed staff.

Click here for our public XML classes

XML Programming Using Java Overview

This four-day course builds skills in Java's XML processing APIs -- chiefly parsing using SAX and DOM and transformations using XSLT, all using the Java API for XML Processing, or JAXP. It also covers the newer Java API for XML Binding, or JAXB, which standardizes serialization according to XML Schema. 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 first module introduces the 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 is covered, working from simple SAX event handling through patterns for understanding document content from event sequences, to error handling and document validation. Students then learn how to read document information using the DOM's tree model and API, and move on to using the DOM to modify and to create new documents and information nodes. The final two chapters of this module cover the DOM2 Traversal and Events modules and the JAXB, with a focus on XML serialization and persistence.

The second module introduces students to the XPath and XSLT specifications, and how to use JAXP as an interface to XML transformations. Students learn the basic JAXP Transformer architecture, develop fluency in the exacting but powerful XPath syntax, and then build a number of XSLT transformations. Study of XSLT is arranged first to develop control over output production, including a solid understanding of the sometimes mysterious built-in template rules, template matching, priority and modes, and control of whitespace production. Then students turn towards the source document and learn to extract single values, to make shallow and deep copies of source elements, to use variables, and to use flow-control constructs to effect conditional processing and loops. In the module's final case study, students build a servlet-based Web application that uses JAXP and XSLT to produce dynamic content based on an XML data source.

The course software also includes an optional overlay of workspace and project files to support use of the Eclipse IDE in the classroom. (This requires that the instructor be experienced in use of Eclipse and able to walk students through basic tasks in the IDE.)

XML Programming Using Java Course Goals

  • Understand the use of SAX and DOM APIs for XML parsing.
  • Understand the need for JAXP as an additional layer to the standard contract between applications and parsers.
  • Use JAXP to write entirely portable XML parsing code.
  • Parse element and attribute content, processing instructions, and other document information using SAX.
  • Parse documents using the DOM.
  • Modify, create and delete information in an XML document using the DOM.
  • Use DOM Traversal to simplify and make parsing algorithms more effective.
  • Use DOM Mutation Events to track changes to an XML document.
  • Use the JAXB to generate persistent Java object models based on XML Schema.
  • Implement XML persistence using the JAXB.
  • Write simple and complex queries into XML document content using XPath.
  • Use XSLT for XML-to-XML transformations.
  • Use the built-in template rules correctly to process the right source information.
  • Use mode and priority to control template matching.
  • Control exact production of text, HTML and XML elements, and whitespace.
  • Derive source document content and make copies of node trees.
  • Use looping and conditional processing to manage output production.
  • Build J2SE and Web applications that leverage XSLT transformation logic.

XML Programming Using Java Course Prerequisites

Experience in the following areas is required:

  • Experience in Java Programming, including object-oriented Java and the Java streams model, is essential.
  • Basic understanding of XML is required.
  • XML Schema is used peripherally in the course, and knowledge of this technology will be helpful, but is not required.

XML Programming Using Java Course Outline

  1. XML Parsing Using Java
    1. The Java API for XML Processing (JAXP)
      1. Parsing XML
      2. SAX and DOM
      3. What the W3C Says
      4. What the W3C Doesn't Say
      5. Sun and Apache
      6. JAXP
      7. Parser Factories
      8. Pluggable Parsers
      9. Parser Features and Properties
    2. The Simple API for XML (SAX)
      1. Origins of SAX
      2. The SAX Parser
      3. The SAX Event Model
      4. Reading Document Content
      5. Handling Namespaces
      6. SAX Features for Namespaces
      7. Parsing Attributes
      8. Error Handling
      9. DTD Validation
      10. Schema Validation
      11. Handling Processing Instructions
    3. The Document Object Model (DOM)
      1. Origins of the DOM
      2. DOM Levels
      3. DOM2 Structure
      4. The Document Builder
      5. DOM Tree Model
      6. DOM Interfaces
      7. Document, Node and NodeList Interfaces
      8. Element and Text Interfaces
      9. Finding Elements By Name
      10. Walking the Child List
      11. The Attribute Interface
      12. Traversing Associations
      13. The JAXP Transformer Class
      14. Sources and Results
      15. Combining SAX and DOM Processing
      16. Namespaces and the DOM
    4. Manipulating XML Information with the DOM
      1. Modifying Documents
      2. Modifying Elements
      3. Modifying Attributes
      4. Managing Children
      5. Seeking a Document Location
      6. The ProcessingInstruction Interface
      7. Creating New Documents
    5. DOM Level 2 Modules
      1. DOM Traversal
      2. The DocumentTraversal Interface
      3. Node Filters
      4. The NodeIterator Interface
      5. The TreeWalker Interface
      6. DOM Events
      7. Mutation Events
      8. Handling Events
      9. Event Flow
      10. Capturing and Bubbling
      11. Cancelable Events
    6. XML Serialization and the Java API for XML Binding (JAXB)
      1. XML for Object Persistence
      2. Persistence Strategies
      3. The Memento Pattern
      4. Deserialization with SAX
      5. Object Persistence with the DOM
      6. Adapting Object Models to the DOM
      7. The Java API for XML Binding
      8. Marshalling, Unmarshalling, and Validation
      9. Schema as Object Models
      10. UML for XML
      11. Mapping XML to Java: Simple Types, Complex Types, and Collections
      12. Object Factories
      13. Customizing JAXB Bindings
      14. The DOM vs. JAXB
      15. JAXB for Persistence
      16. Automatic Translation
  2. XML Transformations Using Java
    1. Using the JAXP for Transformations
      1. XPath, XSLT and Java
      2. The Transformer Class
      3. The TransformerFactory Class
      4. Sources and Results
      5. Identity Transformations
      6. Creating Transformations from Stylesheets
      7. Template Parameters
      8. Output Methods and Properties
    2. XPath
      1. Use of XPath in Other XML Technologies
      2. XPath Expressions
      3. The Axis
      4. The Node Test
      5. The Predicate
      6. XPath Types
      7. XPath Functions
      8. Implied Context
      9. Querying with XPath
      10. XPath and the DOM
    3. Templates and Production
      1. Rule-Based Transformations
      2. Templates and Template Matching
      3. Built-In Template Rules
      4. Recursion Through Templates
      5. Template Context
      6. Output Methods
      7. Controlling Whitespace
      8. Literal Replacement Elements
      9. Formalizing Text, Elements and Attributes
      10. Defining Target Vocabulary
      11. Generating Processing Instructions
    4. XSLT: Dynamic Content and Flow Control
      1. Web Applications Using XSLT
      2. J2EE and JAXP
      3. Deriving Source Content
      4. Getting Source Values
      5. Attribute Value Templates
      6. Copying Source Elements and Trees
      7. Looping
      8. Conditionals

XML Programming Using Java Course Materials

In addition to a comprehensive set of materials, including course notes and all the programming examples, each student will also receive a one-year subscription to Webucator's online reference library, which contains hundreds of the most current electronic technology books - a $149.95 per student value.

XML Programming Using Java Technical Requirements

Complete Setup Instructions

home - onsite classes - instructor-led online courses - self-paced online courses - why webucator - partners - contact - sitemap
© 2007 Webucator. All rights reserved. info@webucator.com | Toll Free: 877-WEBUCATE (877-932-8228) | From Outside the USA: 315-446-0560 | Fax: 315-410-5320
Phoenix, AZ | Santa Clara, CA | Santa Clara, CA | Los Angeles, CA | Sacramento, CA | Washington, DC | Atlanta, GA | Chicago, IL | Indianapolis, IN | Muncie, IN
New Orleans, LA Boston, MA | Cambridge, MA | Charlestown, MA | Framingham, MA | Ipswich, MA | Lincoln, MA | Wellesley, MA | Worcester, MA | Bangor, ME | Detroit, MI
Raleigh, NC Winston-Salem, NC | Lincoln, NE | East Hanover, NJ | Eatontown, NJ | Madison, NJ | Parsippany, NJ | Trenton, NJ | Albany, NY | Buffalo, NY | Rochester, NY
New York City, NY | Syracuse, NY | West Babylon, NY | Dayton, OH | Bethlehem, PA | Philadelphia, PA | Pittsburgh, PA | Pittsburgh, PA | State College, PA
Middletown, RI | Rapid City, SD | Austin, TX | Dallas, TX | Houston, TX | Arlington, VA | McLean, VA | Seattle, WA | Toronto, Canada | Ottawa, Canada | Calgary, CA