Advanced XML




Advanced XML Training Class Summary

The Extensible Markup Language (XML) defines a way of marking up text to describe the structure of data. XML allows you to create your own markup language: you define the tags that give meaning to your data. The World-Wide Web Consortium (W3C) creates and maintains the definition of XML, making it a standard for creating markup languages. Industries and organizations use XML to write rules defining their own markup languages. In this two-day course students will learn advanced features of XML. Through lecture and hands-on lab exercises, they will extend their capabilities in XML Schema, XPath, and XSLT.

Audience: XML developers who need to use some of the advanced features of XML.

Prerequisites: Introduction to XML and some XML development experience.

Class Length: 2 days

Advanced XML Training Class Objectives
  • Reuse XML Schema content using features such as restriction, extension, and redefinition.
  • Ensure element or attribute uniqueness with XML Schema.
  • Transform XSLT stylesheets to text, HTML, and XML output.
  • Call various XPath and XSLT functions.
  • Merge XSLT stylesheets using include and import syntax.
  • Use XSLT and XPath 2.0 elements and functions.
Advanced XML Training Class Detailed Outline
  1. Course Introduction
    • Course Objectives
    • Overview
    • Suggested References
  2. Defining New Types Using Schemas
    • Substitution Groups
    • All and Choice Elements
    • Simple Type Restrictions
    • Pattern and Enumeration Facets
    • Complex Types and Extensions
    • Complex Types and Restrictions
    • The final Attribute
  3. Additional Schema Elements
    • Uniqueness
    • Keys and Keyref
    • Groups
    • Attribute Groups
    • redefine
    • Allowing Any Content
    • Mixed Content
    • Documentation Schemas
  4. Using XML Schema with Namespaces
    • Qualified and Unqualified XML
    • Associating Qualified XML with a Schema
    • Associating a Schema with a Namespace
    • Controlling Element and Attribute Qualification
    • Merging Schema with the Same Namespace
    • Merging Schema with Different Namespaces
  5. Generating Output with XSLT
    • Output Methods
    • HTML Output
    • Plain Text Output
    • XML Output
    • xsl:element and xsl:attribute
    • Attribute Value Templates
    • xsl:attribute-set
    • Text, Processing-Instructions, and Comments
    • Working with Namespaces
  6. Using XPath and XSLT Functions
    • XPath Datatypes and Functions
    • Node Test Functions
    • Node Set Functions
    • Boolean Functions
    • String Functions
    • Number Functions
    • XSLT Functions
    • The document() Function
    • xsl:key and the key() Function
  7. Advanced XSLT
    • Copying Elements
    • Numbering
    • Variables
    • Parameters
    • Using Other Stylesheets
    • Apply-imports
    • Template Rule Conflicts
    • Extensions
  8. XSLT and XPath 2.0 New Features
    • XSLT 2.0 Grouping Elements and Functions
    • User-Defined XSLT Functions
    • Multiple Output and XHTML Documents
    • Temporary Trees
    • Sequences
    • Types
    • Stylesheets That Are Schema-Aware
    • Character Mapping
    • Regular Expressions
  9. Appendix A – Introduction to XQuery
    • What is XQuery?
    • doc() Function
    • XQuery Datatypes
    • XQuery Expressions
    • XQuery Prolog
    • Modules
    • Conditional Expressions
    • Iteration and FLWOR
    • Built-in Functions
    • User-Defined Functions
  10. Appendix B – XSL Formatting Objects
    • What is XSL?
    • XSL-FO Overview
    • Types of Objects
    • Defining Page Masters
    • Setting Up the Flow
    • Block-Level vs. Inline-Level Objects
    • Lists
    • Tables
    • Out-of-Line Objects