WA1035 Fundamentals of XML Training and Courseware Course Outline

1. Getting Started with XML

  • XML Overview
  • Data and Document Structure
  • An Employee Document
  • Elements
  • First XML
  • What is XML ?
  • Why XML?
  • Another Example of XML
  • Well-formed vs. Valid XML Document
  • Enforcing Validity DTDs
  • Presentation Style
  • XSL and XSLT
  • Markup Languages
  • SGML
  • HTML
  • Structure of HTML
  • XML
  • Goals of XML
  • Usage of XML
 

2. XML Syntax

  • XML Elements
  • Empty and Non-Empty Elements
  • XML Naming Rules
  • Rules for XML Tags
  • Nesting and Hierarchy of XML Elements
  • Simple XML
  • XML Declaration
  • Sections of an XML Document
  • XML Elements
  • Tag Attributes
  • Comment Tags
  • CDATA Tags
  • Entity References
  • Character References
  • Processing Instructions
  • Is the XML Declaration a Processing Instruction ?
  • Well-formed vs. Valid XML Document
  • Is this document well-formed?
  • Namespaces
  • Namespace URLS
  • Namespaces
  • Using XML Namespaces
  • Binary Data In XML
  • Encoding Binary Data
  • Specifying Content Type of Binary Data
  • Specifying Content Type of Binary Data
 

3. Basic XML Schemas

  • What is XML Schema ?
  • Goals of Schema
  • Converting DTDs to Schema
  • Recall: Namespaces
  • The equivalent schema
  • Sample instance document
  • Documents Needed
  • XML Schema Namespaces
  • Link Documents to Schemas
  • Inline element declarations
  • XSchema Data Types
  • XSchema Type Definitions
  • XSchema Simple Data Types
  • Primitive Data Types
  • Simple Types
  • Facet Restrictions on Element Content
  • Using the Facet
  • More Samples
  • Define Simple Element Type
  • Element Declaration
  • Element Occurrence Indicators
  • Complex Type
  • Attribute Declaration
  • Attribute Declarations
  • Occurrence of Attributes
  • Value Constraints on Attributes
  • Sequence Element
  • Element Choices
  • Express any order
  • Annotations
 

4. XPath Fundamentals

  • XPath
  • Tree Structure
  • Example
  • XPath Examples
  • XPath Core Definitions
  • Wildcards and Multiple Matches
  • Other Node Operators
  • Path Operators
  • Predicates
  • Predicate Relationships and Attributes
  • More Predicate Examples
  • Predicates Chaining and Indexing
  • XPath Expressions
  • XPath Numbers
  • XPath Strings
  • XPath Booleans
  • XPath Functions
  • String Functions
  • Boolean Functions
  • Number Functions
  • XSLT and XPath
  • XPath and Content Based Routing
  • Summary
 

5. Introduction to XQuery

  • What Is XQuery?
  • XQuery Uses
  • XQuery Properties
  • XPath and XSLT
  • XQuery Flow
  • XQuery Participants
  • Sample XQuery Source
  • Simple Example Queries
  • FLWOR Queries
  • F-WOR Explained
  • L Explained
  • Wrapping Output
  • Converting Output
  • Inline Output
  • Data Rendering
  • Functions
  • Joins
  • Join Example
  • Summary
 

6. Introduction to XSL

  • Topics
  • Formatting XML Documents
  • XSL
  • Three Parts of XSL
  • XSLT XSL Transformation
  • <xsl:stylesheet>
  • <?xml-stylesheet>
  • <xsl:template>
  • <xsl:value-of>
  • Navigating with XPath
  • Navigating With XPath
  • <xsl:for-each>
  • <xsl:if>
  • XPath Boolean expressions
  • XPath Boolean Expressions
  • <xsl:choose>
  • <xsl:apply-templates>
  • <xsl:sort>
  • <xsl:sort>
  • The Music Collection Example Introduction
  • The Music Collection Example Sample XML file
  • The Music Collection Example Retrieving owner details
  • The Music Collection Example Retrieving the core data
  • The Music Collection Example Retrieving the core data
  • The Music Collection Example Current Output
  • The Music Collection Example Retrieving canadianContent data
  • The Music Collection Example Retrieving canadianContent data
  • The Music Collection Example Current Output
  • The Music Collection Example Retrieving media data
  • The Music Collection Example Retrieving media data
  • The Music Collection Example Retrieving media data
  • The Music Collection Example Retrieving media data
  • The Music Collection Example Final Output
  • Formatting XML Documents
 

7. XML in Applications

  • Topics
  • Needs for Using XML in Applications
  • Basic Functionalities Required for XML Applications
  • XML Parser
  • Obtaining a Parser
  • SAX
  • How it Works
  • DOM
  • DOM Parsing
  • Applying XML Across System Boundaries
  • Using XML on the Client Side
  • Using XML on the Server Side
  • Using XML in Non-Networked Systems
  • Using XML in RDBMS
  • The J2EE Blueprint
  • A Typical Architecture Using XML in J2EE Applications
  • Using XML in Applets
  • Using XML Parser in Applets
  • Using XML in Servlets
  • Creating XML Middleware for Accessing Databases
  • Transforming RDBMS Data to XML Data
  • Transforming XML Data to RDBMS Data
  • Storing XML Data in DB2
 

8. Schema Configuration Management

  • Objectives
  • Evolving Schema
  • Management Techniques
  • Internal Techniques
  • Schema Version Attribute
  • Adding An Attribute
  • Namespace Change
  • File-Based Mechanisms
  • External
  • Which To Use?
  • Summary
 

9. Introduction to Web Services

  • Objectives
  • A Conceptual Look at Services
  • Defining Services
  • Service Communication Analogy
  • Three Key Service Questions
  • Connecting the Dots
  • SOA Runtime Implementation
  • What is a Web Service?
  • Enterprise Assets as Services
  • Typical Development Workflow
  • Advantages of Web Services
  • Web Service Business Models
  • Example: Internal System Integration
  • Example: Business Process Externalization
  • Binding via SOAP
  • SOAP in Protocol Stack
  • SOAP Structure
  • SOAP Message Architecture
  • Applying SOAP
  • Interface via WSDL
  • WSDL Structure
  • Applying WSDL
  • Locating a Service
  • UDDI Overview
  • UDDI Terminology
  • UDDI Structure
  • Applying UDDI
  • WS-I Overview
  • WS-I Deliverables
  • Summary
 

10. Cascading Style Sheets

  • Cascading Style Sheets
  • The xml-stylesheet processing instruction
  • CSS details
  • An example
  • Common CSS tags display
  • Common CSS tags Colors and Backgrounds
  • Common CSS tags Fonts
 

Appendix-A. Writing DTDs

  • DTD
  • DOCTYPE Declaration
  • Types of DTDs
  • DOCTYPE
  • Internal DTDs
  • External DTDs
  • Basic DTD Markup
  • Element Type Declaration
  • Elements Declarations
  • Declaring Children
  • Declaring Multiple Children
  • Declaring Optional Children
  • Declaring Zero or More Children
  • Declaring One or More Children
  • Combination of Children
  • Putting It All Together DTD
  • Putting It All Together XML
  • Mixed Content
  • Mixed Content An Example
  • Attributes Declaration
  • Attribute Default Values
  • Attribute Types
  • String Attribute Type
  • Tokenized Attribute Type
  • Enumerated Attribute Type
  • ENTITY Declaration
  • Parsed General Entities
  • Parsed Parameter Entities