COMPREHENSIVE XML– GTIT14

Course Description

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.

^^

Duration

5 days

^^

Target Audience

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

^^

Course Prerequisites

Familiarity with Web and data processing concepts. Java programming experience is required. Java Programming skills are taught in the following course:

If you have any questions or doubts as to whether you meet the pre-requisites for this course, or indeed are wondering which course best suits you, please consult with us to discuss your suitability for course attendance.

^^

Suggested Follow on Courses

Please contact us for further details.

^^

Course Content

1. GETTING STARTED WITH XML

  1. Objectives
  2. Unstructured Text Document
  3. An Employee Document
  4. What is XML ?
  5. Why Study XML?
  6. Data and Document Structure
  7. Elements
  8. First XML
  9. Another Example of XML
  10. Well-formed vs. Valid XML Document
  11. Presentation Style
  12. Goals of XML 1/3
  13. Goals of XML 2/3
  14. Goals of XML 3/3
  15. Usage of XML
  16. Summary

2. XML SYNTAX

  1. Objectives
  2. XML Elements
  3. Empty and Non-Empty Elements
  4. XML Naming Rules
  5. Rules for XML Tags
  6. Nesting and Hierarchy of XML Elements
  7. Simple XML
  8. Sections of an XML Document
  9. XML Constructs
  10. XML Declaration
  11. Processing Instructions
  12. Is the XML Declaration a Processing Instruction ?
  13. XML Elements
  14. Tag Attributes
  15. Comment Tags
  16. CDATA Tags
  17. Entity References
  18. Character References
  19. Namespaces
  20. Namespace URLS
  21. Namespaces
  22. Using XML Namespaces
  23. Binary Data In XML
  24. Encoding Binary Data
  25. Specifying Content Type of Binary Data
  26. Summary

3. BASIC XML SCHEMAS

  1.  What is XML Schema ?
  2. Goals of Schema
  3. Converting DTDs to Schema
  4. Recall: Namespaces
  5. The equivalent schema
  6. Sample instance document
  7. Documents Needed
  8. XML Schema Namespaces
  9. Link Documents to Schemas
  10. Inline element declarations
  11. XSchema Data Types
  12. XSchema Type Definitions
  13. XSchema Simple Data Types
  14. Primitive Data Types
  15. Simple Types
  16. Facet Restrictions on Element Content
  17. Using the Facet
  18. More Samples
  19. Define Simple Element Type
  20. Element Declaration
  21. Element Occurrence Indicators
  22. Complex Type
  23. Attribute Declaration
  24. Attribute Declarations
  25. Occurrence of Attributes
  26. Value Constraints on Attributes
  27. Sequence Element
  28. Element Choices
  29. Express any order
  30. Annotations

4. XPATH FUNDAMENTALS

  1. XPath
  2. Tree Structure
  3. Example
  4. XPath Examples
  5. XPath Core Definitions
  6. Wildcards and Multiple Matches
  7. Other Node Operators
  8. Path Operators
  9. Predicates
  10. Predicate Relationships and Attributes
  11. More Predicate Examples
  12. Predicates Chaining and Indexing
  13. XPath Expressions
  14. XPath Numbers
  15. XPath Strings
  16. XPath Booleans
  17. XPath Functions
  18. String Functions
  19. Boolean Functions
  20. Number Functions
  21. XSLT and XPath
  22. XPath and Content Based Routing
  23. Summary

5. INTRODUCTION TO XQUERY

  1. What Is XQuery?
  2. XQuery Uses
  3. XQuery Properties
  4. XPath and XSLT
  5. XQuery Flow
  6. XQuery Participants
  7. Sample XQuery Source
  8. Simple Example Queries
  9. FLWOR Queries
  10. F-WOR Explained
  11. L Explained
  12. Wrapping Output
  13. Converting Output
  14. Inline Output
  15. Data Rendering
  16. Functions
  17. Joins
  18. Join Example
  19. Summary

6. INTRODUCTION TO XSL

  1. Topics
  2. Formatting XML Documents
  3. XSL
  4. Three Parts of XSL
  5. XSLT XSL Transformation
  6. <xsl:stylesheet>
  7. <?xml-stylesheet>
  8. <xsl:template>
  9. <xsl:value-of>
  10. Navigating with XPath
  11. Navigating With XPath
  12. <xsl:for-each>
  13. <xsl:if>
  14. XPath Boolean expressions
  15. XPath Boolean Expressions
  16. <xsl:choose>
  17. <xsl:apply-templates>
  18. <xsl:sort>
  19. The Music Collection Example Introduction
  20. The Music Collection Example Sample XML file
  21. The Music Collection Example Retrieving owner details
  22. The Music Collection Example Retrieving the core data
  23. The Music Collection Example Current Output
  24. The Music Collection Example Retrieving canadianContent data
  25. The Music Collection Example Current Output
  26. The Music Collection Example Retrieving media data
  27. The Music Collection Example Final Output
  28. Formatting XML Documents

7. XML IN APPLICATIONS

  1. Topics
  2. Needs for Using XML in Applications
  3. Basic Functionalities Required for XML Applications
  4. XML Parser
  5. Obtaining a Parser
  6. SAX
  7. How it Works
  8. DOM
  9. DOM Parsing
  10. Applying XML Across System Boundaries
  11. Using XML on the Client Side
  12. Using XML on the Server Side
  13. Using XML in Non-Networked Systems
  14. Using XML in RDBMS
  15. The J2EE Blueprint
  16. A Typical Architecture Using XML in J2EE Applications
  17. Using XML in Applets
  18. Using XML Parser in Applets
  19. Using XML in Servlets
  20. Creating XML Middleware for Accessing Databases
  21. Transforming RDBMS Data to XML Data
  22. Transforming XML Data to RDBMS Data
  23. Storing XML Data in DB2

8. SCHEMA CONFIGURATION MANAGEMENT

  1. Objectives
  2. Evolving Schema
  3. Managing XML Schema
  4. Management Techniques
  5. Internal Techniques
  6. Schema Version Attribute
  7. Adding An Attribute
  8. Namespace Change
  9. File-Based Mechanisms
  10. External
  11. Which To Use?
  12. Summary

9. INTRODUCTION TO WEB SERVICES

  1. Objectives
  2. A Conceptual Look at Services
  3. Defining Services
  4. Service Communication Analogy
  5. Three Key Service Questions
  6. Connecting the Dots
  7. SOA: Runtime Implementation
  8. What Is a Web Service?
  9. Enterprise Assets as Services
  10. Typical Development Workflow
  11. Advantages of Web Services
  12. Web Service Business Models
  13. Example: Internal System Integration
  14. Example: Business Process Externalization
  15. Binding via SOAP
  16. SOAP in Protocol Stack
  17. SOAP Structure
  18. SOAP Message Architecture
  19. Applying SOAP
  20. Interface via WSDL
  21. WSDL Structure
  22. Applying WSDL
  23. Locating a Service
  24. UDDI Overview
  25. UDDI Terminology
  26. UDDI Structure
  27. Applying UDDI
  28. WS-I Overview
  29. WS-I Deliverables
  30. Summary

10. CASCADING STYLE SHEETS

  1. Cascading Style Sheets
  2. The xml-stylesheet processing instruction
  3. CSS details
  4. An example
  5. Common CSS tags display
  6. Common CSS tags Colors and Backgrounds
  7. Common CSS tags Fonts

11. PARSING XML WITH SAX

  1. Obtaining a Parser
  2. SAX
  3. How it Works
  4. Core SAX2 Handler Classes
  5. SAX2 DefaultHandler
  6. SAX Events
  7. Ignorable Whitespace
  8. XML Reader Interface
  9. XMLReader Features
  10. XMLReader Factory
  11. Prepare SAX Parser Object
  12. Parse XML with SAX Steps
  13. Define an Event Handler
  14. Prepare SAX Parser Object
  15. Define an Event Handler startElement()
  16. Define an Event Handler Element Attributes
  17. Define an Event Handler Get Number of Attributes
  18. Define an Event Handler Get Name of Attributes
  19. Define an Event Handler Get Attribute Values
  20. Define an Event Handler Get Attribute Types
  21. Define an Event Handler An Example
  22. Define an Event Handler characters()
  23. Using characters()
  24. Define an Event Handler Error Handling
  25. Define an Event Handler ErrorHandler interface
  26. Parse XML Document
  27. Simple SAX Parser
  28. Run the SAX Application
  29. EntityResolver
  30. Locator
  31. Document Locator

12. PARSING XML WITH DOM

  1. Topics
  2. DOM
  3. Limitations of SAX
  4. XML as an Object Model
  5. Nodes
  6. The Basic Node Types
  7. Less Common Node Types
  8. Node Interface
  9. Node Interface
  10. Document Interface
  11. NodeList Interface
  12. Element Interface
  13. Attr Interface
  14. Text Interface
  15. DOM Parsing
  16. Parse XML with DOM Steps
  17. Prepare DOM Parser Object
  18. Parse XML Document
  19. Parse Exceptions
  20. Example SimpleDOMParser

13. ACCESSING AND GENERATING XML DOCUMENTS WITH DOM

  1. Topics
  2. Hierarchy of Major DOM Objects
  3. Use DOM API to Access DOM Objects
  4. Collection of Nodes NodeList and NamedNodeMap
  5. Example 1 Traverse and Manipulate DOM Object
  6. Example 2 Extract DOM Data
  7. Build a DOM Tree
  8. Create an Empty Document Object
  9. Creating New Node Objects
  10. Build a DOM Tree
  11. Example 3 Build a DOM Tree
  12. Import DOM Nodes
  13. Example 4 Combine Two DOM Trees
  14. Using DocumentFragment
  15. Output DOM to XML
  16. Example 5 Print a DOM Tree
  17. XML Generation with DOM
  18. Modify XML Input File
  19. Modify XML Output File
  20. Modify XML Code
  21. Things to Remember
  22. Sorting nodes in a DOM Tree
  23. SAX vs. DOM

14. VALIDATING XML WITH SCHEMA

  1. Topics
  2. What is XML Schema ?
  3. Goals of Schema
  4. Minimal Schema
  5. Structure of XML Schema Document
  6. Element Declarations
  7. Common XML Schema Data Types
  8. Element Declaration
  9. Schema Data Types
  10. Simple Types
  11. Restrictions in the Elements
  12. Using the Facet
  13. Attribute Declarations
  14. More Samples
  15. Complex Type
  16. Sequence Element
  17. Element Choices
  18. Express any order
  19. Validating XML with Schema
  20. Annotations
  21. Naming Conflicts
  22. XML Validation with Schema
  23. Linking Documents to Schema

15. DISTRIBUTED APPLICATIONS WITH XML

  1. Topics
  2. Needs for Using XML in Distributed Applications
  3. Basic Functionalities Required for XML Applications
  4. Applying XML Across System Boundaries
  5. Using XML in Client Side
  6. Using XML in Server Side
  7. Passing XML Data over TCP/IP
  8. Using XML in Non Networked Systems
  9. Using XML in RDBMS
  10. The J2EE Blueprint
  11. A Typical Architecture of using XML in J2EE Applications
  12. Using XML in Applets
  13. Using XML Parsers in Applets
  14. An Example of using a SAX Parser in Applets
  15. Using XML in Servlets
  16. An Example of using a DOM Parser in a DB Query Servlet
  17. Creating XML Middleware for Accessing Databases
  18. Transforming RDBMS data to XML data
  19. Transforming XML data to RDBMS data
  20. An Example of Using SAX for Loading XML Data to Database

16. INTRODUCTION TO XSL

  1. Topics
  2. Formatting XML Documents
  3. XSL
  4. Three Parts of XSL
  5. XSLT XSL Transformation
  6. <xsl:stylesheet>
  7. <xsl:template>
  8. <xsl:value-of>
  9. <xsl:for-each>
  10. <xsl:if>
  11. <xsl:choose>
  12. <xsl:sort>
  13. The Music Collection Example Introduction
  14. The Music Collection Example Sample XML file
  15. The Music Collection Example Retrieving Media Data
  16. The Music Collection Example Final Output
  17. Formatting XML Documents
  18. Transformation with Java
  19. Reading an XML
  20. Transforming to HTML
  21. Transforming to System.out

17. JAXB

  1. Overview of JAXB
  2. Advantages of JAXB
  3. XML Parsing APIs
  4. Validation using Schemas
  5. Java Binding
  6. Using JAXB
  7. Binding compiler
  8. Interfaces and Classes
  9. Implementing Classes
  10. Compiling
  11. Unmarshal
  12. To Unmarshal
  13. Retrieving data
  14. Validation
  15. Unmarshalling Other Sources
  16. ObjectFactory
  17. Generating XML from JAXB
  18. Bind the schema
  19. Create the content tree from ObjectFactory
  20. Marshall the content tree
  21. Validation
  22. Marshalling to other sources
  23. Updating an XML
  24. Customizing your application
  25. Advantages

18. SOAP

  1. Why SOAP ?
  2. SOAP
  3. Waves of the Internet
  4. Motivations
  5. Need
  6. SOAP 1.1 Overview
  7. SOAP XML Namespaces
  8. SOAP Message
  9. SOAP Envelope
  10. SOAP Header
  11. SOAP Body
  12. SOAP Application
  13. SOAP Over HTTP
  14. SOAP HTTP Request and Response
  15. SOAP HTTP Request
  16. SOAP HTTP Request Example
  17. SOAP HTTP Response
  18. SOAP HTTP Response Example
  19. SOAP Faults
  20. SOAP Fault
  21. Fault Example
  22. What Does SOAP Define?
  23. Scope
  24. SOAP-related specs:
  25. SOAP Encoding
  26. SOAP Types and Structures
  27. Values and References
  28. Arrays
  29. SOAP Encoding Rules
  30. SOAP with Attachment
  31. Constructing a SOAP Message Package
  32. RPC Remote Procedure Call Overview
  33. RPC Architecture
  34. RPC Programs and Procedures
  35. SOAP-based RPC
  36. RPC Method Calls and Responses
  37. Sun s Java API for RPC and Messaging-based Web Services

Also Discussed:

19. WRITING DTDS

  1. DTD
  2. DOCTYPE Declaration
  3. Types of DTDs
  4. DOCTYPE
  5. Internal DTDs
  6. External DTDs
  7. Basic DTD Markup
  8. Element Type Declaration
  9. Elements Declarations
  10. Declaring Children
  11. Declaring Multiple Children
  12. Declaring Optional Children
  13. Declaring Zero or More Children
  14. Declaring One or More Children
  15. Combination of Children
  16. Putting It All Together DTD
  17. Putting It All Together XML
  18. Mixed Content
  19. Mixed Content An Example
  20. Attributes Declaration
  21. Attribute Default Values
  22. Attribute Types
  23. String Attribute Type
  24. Tokenized Attribute Type
  25. Enumerated Attribute Type
  26. ENTITY Declaration
  27. Parsed General Entities
  28. Parsed Parameter Entities

^^

See more Internet Technologies courses