XML Schema

Altova Education partner This Schema training course is a follow up course to the five-day XML & XSLT package.

While DTDs have been a reliable mechanism for defining markup, they come with a host of limitations and peculiarities, especially when a developer wants to utilize SOAP and other XML technologies. Understandably, the W3 (World Wide Web Consortium) has made a concerted effort to create a better, more powerful way to define one's XML.

We overview their XML Schema recommendation, working through several examples. Topics covered in class include DTD limitations, XML Namespaces, XML Schema datatypes, complex structures, grouping definitions for reuse, and including/redefining others' schemas.

Review of DTD

The Document Type Definition language used to define an XML language often fails to meet the needs of contemporary XML developers. In class you will:

  • review DTD ELEMENT and ATTLIST declarations
  • indicate occurence frequencies
  • discuss datatyping constraints
  • address various weaknesses of DTDs

XML Namespaces & XML Schema Language Essentials

XML Namespaces is a specification that describes how you can ensure the uniqueness of your XML document's tags ("elements"). We briefly discuss the parts of an XML namespace and how they are used by the W3 XML Schema Language. In class you will learn:

  • how to specify the XML Schema Namespace in your schema document
  • how to specify the XML Schema Instance Namespace in your XML document
  • how to indicate the target namespace of the XML document
  • how different default namespaces change the appearance of the XML Schema document
  • what are the primary components of an XML Schema language document
  • basic xsd (XML Schema) structure and syntax

XML Schema Datatypes

Mark-up language elements (tags) are either complex or simple. For the simple type of elements, XML Schema language provides a list of built-in types. In class you will work through examples of:

  • simple and complex types of elements
  • built-in datatypes (primitive and derived)
  • how to specify your own datatype modeled after a built-in one - using facets such as regex patterns
  • creating a complex type of element with simple type of content
  • how to define attributes
  • how to place occurrence restrictions upon elements

XML Schema Complex Types and Structures

XML Schema provides mechanisms for specifying complex structures like alternate children, sequential children, attribute lists and more. Additionally, XML Schema offers ways to document and annotate your language definitions. In class you will learn:

  • how to annotate your language
  • about various model groups (choice, sequence, all)
  • how to identify commonalities in elements and pack for re-use
  • global versus local scopes
  • the difference between defining and declaring elements
  • how to create globally named, re-usable complex types

Complex Content, Extension and Restriction

Illustrating one of the strengths of XML Schema, a developer may define a datatype or content type based upon an existing datatype by extending or restricting that definition. In class you will learn:

  • how to define nillable values
  • when to specify a datatype in an instance document
  • how to create complex types for abstraction only
  • how to incorporate basic identity constraints
  • how to extend a complex type
  • how to define elements with mixed content

Grouping for Reuse

The modularity of XML Schema becomes apparent when creating groups of elements or attributes and defining substitutable elements. In class you will:

  • define an attribute group
  • establish a union of two simple types
  • create a named group of elements
  • include external schema components
  • redefine external schema complex types
  • discuss importing multiple schemas in multiple namespaces


  • Intermediate HTML or equivalent experience
  • Intro to JavaScript or equivalent experience
  • Intro to XML or equivalent experience (DTD experience)
keywords: XML training (XML Fundamentals) XML course (XML Intermediate / XSLT and XPath)

XML Schema are offered at four locations: