XML for Java Developers (TT4360)

$1,595.00


  • classroom

  • virtual

  • Onsite
Duration: 3 Days

This course is for Java programmers who need to understand how to work with XML from within Java. This intensive, hands-on course is a balanced combination of theory and practical labs that are designed lead you from the fundamentals of XML processing to advanced technologies such as Java/XML interoperability.

What You Will Learn

  • Programmatically parse well-formed XML documents
  • Programmatically validate XML document using DTD and Schemas
  • Work with SAX's event-based output
  • Work with DOM's node-based output
  • Programmatically transform XML into any other text representation using XSLT processors
  • Consume, generate, and validate XML using corresponding Java classes
  • Recognize XML-related performance issues and problems in Java applications

Audience

Experienced Java programmers and developers who need to process XML from within Java applications

Prerequistes

  • Prior practical Java programming experience (six-month minimum)
  • Working knowledge of basic XML
  • Core XML Fundamentals (or equivalent skills)

Course Outline

1. XML Review

  • XML Mechanics
    • XML Document Structure
    • Well-Formed and Valid XML Documents
    • Structure, Content and Format
    • Working with XML
  • Namespaces and Schemas
    • Namespace Defined
    • Working with Namespaces
    • XML Schema Overview
    • Working with XML Schemas

2. JAXP and SAX Parsing

  • JAXP and SAX (Part 1)
    • Processing XML Using Parsers
    • Validating and Non-validating
    • JAXP Overview
    • JAXP Usage Patterns
    • SAX Parsing Using JAXP
  • JAXP and SAX (Part 2)
    • SAX Events
    • SAX API
    • Handling Exceptions
    • SAX Content Handling
    • Designing SAX Content Handlers

3. JAXP and DOM Parsing

  • JAXP and DOM (Part 1)
    • JAXP Usage Patterns with DOM
    • DocumentBuilders
    • DOM Parsing Using JAXP
  • JAXP and DOM (Part 2)
    • DOM Concepts
    • DOM Nodes
    • DOM API
    • Handling Exceptions
    • DOM Operations and Processing
    • Designing DOM Processing

4. Rendering: JAXP and Transformations

  • XSLT Transformations in Java
    • JAXP/TRaX Concepts and Terminology
    • Transformer Patterns
    • Stream to Stream Transformations
    • DOM to DOM Transformations
    • Exception Handling with Transformers
    • Identity Transforms
    • Performance Considerations
    • Working With XSLT Processors

5. Binding Java and XML

  • XML Interoperability with Java: JAXB
    • JAXB Concepts
    • JAXB Class Generation
    • JAXB Runtime Features
    • On-demand Validation
    • Consuming XML Using JAXB
    • Generating XML Using JAXB

6. Security and JAXP

  • XML Signature, Encryption, and XWSS
    • Concepts and Terminology
    • XML Signature
    • XML Encryption
    • XWSS: XML Security
    • Processing Unsafe XML
    • Vulnerabilities and Attacks

7. Session: Best Practices

  • Performance Issues
  • Review of Best Practices

Course Labs

This course comprises about 50% hands-on lab and 50% lecture, with extensive programming exercises that are designed to reinforce skills and concepts learned in the course. Our courses include ample materials and labs to ensure that you are either appropriately challenged or assisted at all times - regardless of skill level. You are invited to bring your ideas and questions to the classroom for discussion. Lecture, group problem-solving, and online laboratories will be used in class. You are encouraged to enhance your skills by using the techniques presented through classroom problem-solving and controlled online workshops.