XML Programming
3 Days – Course No. W006
who should attend?
This course will
interest IT professionals wishing to use XML in corporate IT applications.
Participants should already understand the basics of XML, and should be able to
create XML documents and DTDs. Since the implementation language used in this
course is Java, participants must also have a working knowledge of Java, and
should have some experience using Java in a production environment.
Prerequisites:
◦ Introduction to XML (W005) or equivalent experience
◦ In introductory course in Java from CDI (e.g. W102, W103 or PS80) or
equivalent experience
◦ Knowledge of HTML and CGI
performance objectives
XML , the
eXtensible Markup Language, is an important new specification being developed
by the W3C. In this course, software developers will use Java to gain hands-on
experience with currently available XML-based technologies. Following the
course, participants should be able to immediately integrate XML into their own
production projects.
course outline
XML and Java Fundamentals
◦ Fundamentals of XML: A Refresher
◦ Fundamental Java Programming Concepts: A Refresher
XML System Programming Fundamentals
◦ The Flow of Data for XML System Programming
◦ Data Flow between Application and XML Parser
◦ XML Parsers API Programming Models
◦ Event Based Programming
◦ Object Navigational Programming
◦ Template and Pattern based Transformation Language
◦ Mapping Programming Models to Standard APIs
◦ Widely Available Plug-in XML Parsers
Programming in the Simple API for XML
(SAX)
◦ The SAX 1.0 Library
◦ How to Create a Basic SAX Based Application
◦ Analyzing the XML Stream
◦ Controlling the SAX Parser and Using Helper Interfaces
◦ Using SAX to Process the XML Stream
Programming the W3C DOM
◦ About W3C DOM Level 1 XML Parsers
◦ Writing an XML Application using a DOM Parser
◦ Processing XML via a DOM Tree
◦ Writing out a DOM Tree as XML
◦ Creating a DOM Tree from scratch
◦ Transforming XML using a DOM Tree
XML on the Server
◦ The Java 2 Enterprise
Edition Server Side Picture
◦ XML and Servlets
◦ XML and JDBC
◦ XML and Java Server Pages
◦ Servlet Parameters
◦ The InputSource class
◦ Reading XML via HTTP
◦ Reading XML from a file
◦ Reading XML from a socket
◦ XML as Servlet Output
◦ Working with JDBC
◦ Transforming RDBMS data into XML
◦ RDBMS to XML using SAX
◦ RDBMS to XML using DOM
◦ Updating an RDBMS with XML data
◦ XML to RDBMS using SAX
◦ XML to RDBMS using DOM
XML on the Client
◦ Custom Java Application
◦ Java Applet on thin-client (browser)
◦ Communications to Server
◦ Creating an XML Applet
◦ Host XML support
◦ Supplying your own XML Parser via Code Archive
◦ Reading XML Stream over the Network
◦ Updating Applet Display with XML Data
◦ Transforming User Input to XML Data for Upstream Server
Choosing between SAX and DOM
◦ Differences between SAX and DOM
◦ Advantages of a DOM Parser
◦ When there is no choice
◦ When to use SAX - a decision matrix
◦ When to use DOM - a decision matrix
System Topologies for XML Based Systems
◦ The User's View of a System
◦ The Architect's View of a System
◦ Communication Protocols Used Between Client and Server
◦ Server Side Backend Technology
◦ Understanding Boundaries
◦ XML for non-networked systems
◦ XML and Databases
◦ Quick Quiz
Programming with XSLT from W3C
◦ About XSLT, The language
◦ The Data Flow in an XSLT Based System
◦ Writing XSLT Stylesheets
◦ Processing Repetitive Data in XML Source
◦ Sorting of XML Records during Transform
◦ Conditional Processing of XML Records
◦ Using XSLT to Transform XML
◦ Advanced XSLT Techniques
Overall Architecture, Topology and
Strategy
◦ Sample Case Study: A Travel Hotdeals System