XML Boot Camp for Programmers

In this course, Java programmers will learn the basics of XML form and syntax. They will use Java to implement XML Web applications, as well as learn how to use XML to pass data between distributed Java applications. Emphasis is placed on writing well-formed and valid XML, parsing techniques and converting Legacy data with XML.

Course Outline

1. Creating and Using XML
Data and Document Structure
• Markup Languages
• What is XML?
• Why XML?
• An Example of XML Document
• Well-formed vs. Valid XML Document
• Enforcing Validity: DTDs
• Presentation Style
• Sections of an XML Document
• XML Elements
• Nesting and Hierarchy of XML Elements
• Tag Attributes
• Naming Rules
• Empty and Non-Empty Elements
• Other XML Tags
• Entity References
• Character References
• Namespaces
• Processing Instructions

2. Writing DTDs
DTD
• Types of DTDs
• DOCTYPE
• Internal DTDs
• External DTDs
• Element Declaration
• Element Qualifiers
• Validating XML with DTDs
• Attributes Declaration
• Attribute Type Values
• Parsed General Entities
• Parsed Parameter Entities

3. Basic XML Schemas
What is XML Schema?
• Goals of Schema
• Minimal Schema
• Documents Required
• Linking Documents to Schema
• Element Declaration
• Schema Data Types
• Simple Types
• Restrictions in the Elements
• Using Facet
• Attribute Declarations
• Sequence Element
• Element Choice
• Validating XML with Schema
• Annotations

4. XSL Translation
Formatting XML Documents
• XSL
• Three Parts of XSL
• XSLT - XSL Transformation
• <xsl:stylesheet>
• <xsl:template>
• <xsl:value-of>
• <xsl:for-each>
• <xsl:if>
• <xsl:choose>
• <xsl:sort>
• The Music Collection Example
• Introduction
• Sample XML file
• Retrieving Owner Details
• Retrieving Core Data
• Retrieving Canadian Content
• Retrieving Media Data
• Formatting XML Documents

5. Parsing XML with SAX
XML Parser
• Obtaining a Parser
• SAX
• Pros and Cons Using SAX
• How it Works
• Core SAX2 Handler Classes
• XMLReader Interface
• XMLReader Feature
• XMLReader Factory
• Using SAX - Steps
• Create the Event Handler
• Create a SAX Parser
• Register the Event Handler
• Parse Document
• SAX Events
• Simple SAX Application
• Run the SAX Application
• startElement() Event
• Attributes
• Determine the Number of Attributes
• Determine Attribute Names
• Determine Attribute Values
• Determine Attribute Types
• Using the Attribute

6. Parsing XML with DOM
DOM
• Limitations of SAX
• DOM Parser
• Nodes
• The Basic Node Types
• Less Common Node Types
• DOM Interfaces
• Our first DOM application

7. Accessing and Generating XML Documents with DOM
Accessing DOM object.
o Using the DOM API to access DOM objects.
o Traversing a DOM object.
o Modifying a DOM object.
o Extract DOM data.
• XML Generation with DOM.
o Building a DOM tree.
o Combining DOM objects.
o Using DocumentFragment to recognized a DOM tree.
o Generating XML data a Document object.
• An Example.
o Modifying an XML document using DOM.

8. Web Services Introduction
Needs for and benefits of Web Services
• Web Service Description Language (WSDL)
• RPC (Remote Procedure Call) -based Web Services
• UDDI (Universal Description, Discovery and Integration)

9. SOAP
Needs for and benefits of SOAP
• SOAP message
• SOAP over HTTP
• RPC

10. Building XML Applications
Needs for Using XML in Applications
• Basic Functionality Required for XML Applications
• Applying XML Across System Boundaries
• Using XML in Client Side
• Using XML is Server Side
• Using XML is Non Networked Systems
• Using XML is RDBMS
• The J2EE Blueprint
• A Typical Architecture of Using XML in J2EE Application
• Using XML in Applets
• Using XML Parser in Applets
• An Example is Using SAX Parser in Applets
• Using XML is Servlets
• An Example of Using DOM Parser in a DB Query Servlet
• Creating XML Middleware for Accessing Databases
• Transforming RDBMS Data to XML Data
• Transforming XML Data to RDBMS Data
• An Example of Using SAX for Loading XML Data to Database

Audience

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