Comprehensive XML

In this course you will learn the fundamentals necessary to use XML on the Web or in data processing applications. Through lecture and hands-on lab exercises, you will learn the essentials of data interoperability using XML, write well-formed XML documents, enforce document validity and use XSLT and stylesheets to transform XML documents. You 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. Getting Started with XML
Data and document structure
• Well-formed XML
• Validity vs. well-formed XML
• Enforcing validity: DTDs
• Presentation style
• XSL and XSLT

2. XML Overview
• HTML vs. XML
• Why XML?
• Using XML

3. XML Syntax
XML Fundamentals
• Tag Attributes
• Naming Rules
• Empty and Non-Empty Elements
• Nesting and Hierarchy of Tags
• Processing Instructions
• Other XML Tags
• Entity and Character References
• Namespaces

4. Writing DTDs
• Element Conditions
• Element Quantifiers
• Attributes
• Attribute Default
• Parsed General Entities
• Parsed Parameterized Entities
• More on Namespaces

5. Basic XML Schemas
Schema Overview
• A Minimal Schema
• Linking Documents to Schemas
• Element Declarations
• Attribute Declarations
• Complex Types
• Simple and Built-in Types
• Derivation of Simple Types
• Choices
• Named Types and Anonymous Types
• Mixed Content

6. Transforming XML Using XSLT
• Templates
• Extracting Element Values
• Choosing Specific Cases
• Multiple Element Transformation
• Sorting Elements

7. Presenting XML for the Web - CSS
Stylesheet Languages
• Formatting With Rules
• Defining Elements as Blocks
• Colors and Fonts
• Page Layout With CSS
• Lists

8. XML in Applications
Reasons and Places for Using XML
• Parsers and Code Generators
• DOM Parsers
• SAX Parsers

9. XPath
Syntax of Location Path Expression
• Syntax of XPath Expression
• XPath Core Functions
• XPath String Functions

10. Parsing XML with SAX
Parsing with SAX
• Building SAX Parsers
• SAX Event Methods
• ContentHandler
• SAX Parser Behavior
• Error Handling
• SAX Parser Usage

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

12. 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 - Modifying an XML document using DOM

13. Validating XML with DTDs and Schema
Validate XML with DTDs
• Validate XML with Schemas

14. Distributed Applications with XML
The fundamentals of using XML in distributed systems
o Basic functionalities for XML applications
o Applying XML across system boundaries
o Using XML in client side
o Using XML in server side
o Passing XML over TCP/IP
o Using XML in non-networked system
o Using XML in RDBMS
• Using XML in J2EE applications
o Using XML in applets
o Using XML in servlets
o Creating XML middleware with databases

15. XSLT Transformation using Java
XSLT Packages
• Reading an XML
• Transforming to HTML
• Transforming for output at System.Out

16. JAXB
Introducing JAXB
• Interfaces and Classes
• Unmarshal
• Retrieving Data
• Generating XML from JAXB
• Marshall the content tree
• Validation
• Advantages of JAXB

17. 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)

18. SOAP
Needs for and benefits of SOAP
• SOAP message
• SOAP over HTTP


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