Mastering XML Schemas

Duration: 2 days

This course covers all details of the W3C XML Schema specification

Students should be experienced with XML and Software development.

Please find the course objectives below:

XML Schema Overview and Fundamentals

  • Introduce the concepts of schemas
  • Introduce W3C XML Schema and understand the structure of the recommendation
  • Understand the process of validity assessment
  • Understand the concept and role of the Post Schema Validation Infoset (PSVI)
  • Understand the structure of an XML Document
  • List and explain the 12 different Schema components
  • Understand the difference in local and global definitions and declarations
  • Discuss different schema styles (russian doll, salami slice etc)
  • Understand the concept of names for definitions and declarations
  • Introduce the concept of symbol spaces
  • Understand the relation with XML Namespaces
  • Be able to make basic element and attribute declarations
  • Understand the difference between simple types and complex types
  • List the predefined types
  • Be able to define basic simple types using different derivations (automic/restriction,list and union)
  • Be able to define basic complex types
  • Understand the different content models of complex types
  • Introduce complex type extension and restriction
  • Introduce compositors (all, sequence and choice)
  • Introduce particles
  • Understand how to control namespace of local declarations (attributeFormDefault and elementFormDefault)
  • Understand how to refer to schema documents from XML documents (and the potential problems with that)
  • Understand how to specify type information inside your XML Document using xsi:type
  • Understand nil values
  • Understand how to include, redefine and import other schemas

Simple Type Definitions

  • Understand the difference between value space and lexical space
  • Understand the details of the built-in datatypes
  • Understand how to derive by restricting to create your own types
  • Understand facets
  • Explain the different string types
  • Explain how to derive string types
  • Explain the different number types
  • Explain how to number string types
  • Explain the different date, time and duration types
  • Explain the how to derive from different date, time and duration types
  • Understand the semantics of the constraining facets per type

The pattern facet

  • Explain regular expressions in XML Schema
  • List some important difference with other Perl like regular expression languages
  • Understand the exact syntax of a regular expression (branches, pieces, quantifiers)
  • Explain the different atom types (characters, escape classes, expression classes etc)
  • Explain the different quantifiers to control atom occurrence
  • List the different character classes and understand the difference between them
  • List the escape character classes
  • List the multi-character escape classes (Perl groups)
  • Understand the wildcard multi-character escape class
  • Understand the category escape
  • Explain Unicode categories and blocks
  • Explain how to define you own classes using character class expressions
  • Understand how these relate to set-theory
  • Explain positive classes, negative classes and character class subtraction
  • Understand how to combine these to create other models

Complex type Definitions

  • Understand the details of creating complex types
  • Understand the possible derivations per content type model
  • Understand the details of extending simple content models
  • Understand the details of restricting simple content models and the rules
  • Understand the details of extending complex content models
  • Understand the details of restricting complex content models
  • Understand the consistent particle rule
  • Understand the unique particle attribution (UPA)
  • Understand the semantics and differences of the different compositors (all, choice etc)
  • Understand different compositor combinations
  • Understand particles
  • Understand element and attribute group definitions
  • Understand how to redefine them in a different schema
  • Understand substitution groups
  • Understand how to block the use of substitution groups
  • Understand element and attribute wildcards (xs:any and xs:anyAttribute)
  • Understand uniqueness, keys and references
  • Introduce the basics of XPath 1.0 needed for identity constraints
For an onsite course please contact us