Introduction to XML

 

 

 

Introduction to 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 three-day course students will learn how to create well-formed XML documents. In addition, they will learn about the most important supplementary technologies that support XML, including XML Schema for validation as well as XSLT for transformation.

Audience: Application developers, web developers and administrators, and XML authors.

Prerequisites: HTML. Familiarity with web and data processing concepts. Programming experience is helpful, but not necessary.

Class Length: 3 days

Introduction to XML Training Class Objectives
  • Explain what XML is, and how it is used in application and document development.
  • Write well-formed documents that conform to XML's basic rules of syntax.
  • Validate XML documents with both DTDs and XML Schemas.
  • Use XML Namespaces to distinguish between XML tags.
  • Transform an XML document into an HTML document using XSLT.
  • Use XPath to navigate a document tree.
  • Explain how programs can use DOM and SAX to parse XML documents.
Introduction to XML Training Class Detailed Outline
  1. Course Introduction
    • Course Objectives
    • Overview
    • Suggested References
  2. Getting Started with XML
    • Data and Document Structure
    • XML
    • Well-Formed XML
    • Valid vs. Well-Formed XML
    • XML Schema
    • Presentation Style
    • XSL-FO and XSLT
    • Using XML
  3. Writing Well-Formed XML
    • XML Fundamentals
    • Tag Attributes
    • Naming Rules
    • Empty and Non-Empty Elements
    • Nesting and Hierarchy of Tags
    • Processing Instructions and the XML Declaration
    • Other XML Constructs
    • Entity and Character References
  4. Namespaces
    • Why Namespaces?
    • Namespace Prefixes and Declaration
    • Multiple Namespace Declarations
    • Declaring Namespaces in the Root Element
    • Default Namespaces
  5. Validating XML with XML Schemas
    • Schema Overview
    • Associating XML with a Schema
    • Simple and Built-in Types
    • Complex Types
    • Element Declarations
    • Attribute Declarations
    • Choices
    • Named Type and Anonymous Types
  6. Intro to XSLT
    • Stylesheet, Source, and Result
    • XSLT Processors
    • Processor Implementations
    • XPath Basics
    • xsl:stylesheet
    • xsl:template
    • xsl:value-of
    • xsl:apply-templates
    • xsl:output
  7. XPath Nodetypes
    • XPath Expressions
    • XPath Context
    • XPath Location Steps
    • Element and Root Nodes
    • Text and Attribute Nodes
    • Comment and Processing Instruction Nodes
    • Namespace Nodes
    • Wildcards
    • Whitespace
    • Default Template Rules
  8. XPath Axes and Predicates
    • Location Paths and Location Steps
    • Peer Axis Types
    • More Peer Axis Types
    • Descendant Axis Types
    • Ancestor Axis Types
    • Node Tests
    • Predicates
    • Functions
  9. XSLT Flow Control
    • xsl:if
    • xsl:choose
    • xsl:for-each
    • xsl:sort
    • Named Templates
    • Mode
  10. XML in Applications
    • Reasons and Places for Using XML
    • DOM Parsers
    • SAX Parsers
    • Web Services
  11. Appendix A - 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
  12. Appendix B - Validating XML with DTDs
    • XML DTDs
    • DOCTYPE
    • Element Conditions and Quantifiers
    • Attributes
    • Attribute Types
    • REQUIRED, IMPLIED, and FIXED
    • Parsed General Entities
    • Parsed Parameterized Entities
    • DTDs and Namespaces