XML Schema


XML is een taal die het structureren van gegevens en het universeel uitwisselen van gegevens mogelijk maakt. Na een trage start lijkt het erop dat vooral (middel)grote organisaties de voordelen van XML zien en onderzoeken of XML iets voor hen kan betekenen. De toekomst van XML ziet er vooralsnog veelbelovend uit.

In de cursus XML Schema worden de syntax en het gebruik van de XML Schemataal, als opvolger van Document Type Definitions (DTD), behandeld. XML Schema wordt gebruikt voor validatie van XML-documenten en om XML-vocabulaires te definiëren, waarin de structuur, elementnamen en de elementinhoud van XML-documenten worden vastgelegd.

Verschillende XML Schema designmodellen worden besproken, zoals Russian Doll, Salami Slice en Venetian Blind. Aandacht wordt besteed aan de declaratie van simpele en complexe elementen en types, en aan het opleggen van restricties aan de inhoud van de elementen. Ook de creatie van user defined simpele datatypes met facetten en regular expressions komt aan de orde. Namespacing is een belangrijk onderdeel in de XML Schema-specificatie en krijgt veel aandacht in de cursus. Ook de creatie van complexe derived datatypes en het verschil tussen derivation door restriction en derivation door extension worden besproken.

Daarnaast wordt aandacht besteed aan modularisatie van schema’s en het gebruik van de include en import mechanismen. Tot slot komt een aantal geavanceerde onderwerpen aan de orde, zoals Open Content Models, hoe XML Schema omgaat met keys en referenties en het verwijderen van redundantie door identity constraints.

De theorie wordt besproken aan de hand van presentatieslides. Demo’s dienen ter verheldering van de theorie. Er is ruime gelegenheid tot het doen van praktische oefeningen. Het cursusmateriaal en de lunch zijn bij de cursus inbegrepen.

Doelgroep

Deze cursus is bedoeld voor developers van XML-datastructuren en XMLapplicaties en projectmanagers die XML Schema's willen gebruiken om de inhoud van XML-documenten te valideren.

Voorkennis

Voor deelname aan deze cursus is kennis van de basissyntax van XML vereist.

Duur

De duur van deze cursus is drie dagen.

Groepsgrootte

De maximale groepsgrootte bedraagt acht personen.

Certificaat

Na afloop van deze opleiding ontvangen alle deelnemers een certificaat.

Module 1: XML-Schema Intro

  • Why XML Schema?
  • What is XML Schema?
  • Markup Languages
  • Well Formed and Valid Documents
  • Document Type Definition (DTD)
  • DTD Example
  • DTD Limitations
  • XML Schema as DTD Successor
  • XML Schema Features
  • Typical Use of XML Schema
  • Use of XML Schema
  • Other Uses of XML Schema
  • Parsers and Validation
  • Schema Validators

Module 2: XML Schema Basics

  • XML Schema Components
  • DTD to XML Schema Conversion
  • DTD Vocabulary
  • XML Schema Vocabulary
  • Target Vocabulary
  • XML Schema for Courses List
  • Referencing XML Schema
  • XMLSchema-instance Namespace
  • Multiple Levels of Checking
  • Element Cardinality
  • Simple and Complex Types
  • Simple Type Restricted to Integer
  • Complex Type with Attribute

Module 3: XML Schema Models

  • Declaration versus Definition
  • Global versus Local
  • Element Declarations
  • Global and Local Declarations
  • Referencing Global Declarations
  • Anonymous and Named Types
  • Three Design Approaches
  • Salami Slice Design
  • Russian Doll Design
  • Venetian Blind Design
  • Combined Design
  • Design Comparisons

Module 4: XML Schema Data Types

  • Stronger Data Typing
  • XML Schema Data Types
  • String Data Types
  • Language Data Type
  • Name Types
  • ID Types
  • Qualified Names and URI’s
  • Binary String Encoded Types
  • Primitive Numeric Data Types
  • Derived Numeric Data Types
  • Boolean Data Type
  • dateTime Data Type
  • Date Data Types
  • Duration and Time Data Types
  • ur-type and anyType

Module 5: Derived Simple Types

  • Creating Simple Types
  • Derived Numeric Simple Types
  • Simple Types by Restriction
  • Available Facets
  • Derived String using Enumeration
  • Derived String using Pattern
  • Using Multiple Facets
  • simpleType from simpleType
  • Fixing Facet Values
  • Regular Expressions
  • Meta Characters
  • Quantifiers
  • Character Classes
  • List Type and simpleTypes
  • Union type and simpleTypes

Module 6: XML Schema Documentation

  • Annotating Schema’s
  • Allowed Locations
  • Annotation Location
  • Inlining Annotation
  • Optional Attributes
  • Defining Semantics

Module 7: Namespaces

  • What are Namespaces?
  • Namespaces of XML Schema
  • XML Schema Namespace
  • TargetNamespace
  • Referencing XML Schema
  • Namespace Scope
  • Default Namespace
  • Symbol Spaces
  • Name Conflicts
  • What is in the Namespace?
  • Namespace Qualification
  • elementFormDefault
  • attributeFormDefault
  • Rules for using Namespaces

Module 8: Complex Types

  • Simple Content and Attributes
  • Stronger Data Typing
  • Local Attribute Declarations
  • use Attribute
  • Grouping Attributes
  • Grouping Elements
  • Global Group Definition
  • Choice Element
  • Repeatable Choice
  • Fixed Element Values
  • Default Element Values
  • Sequence and Choice
  • Any order with all
  • Empty element
  • nil content
  • Mixed Content

Module 9: Derived Complex Types

  • Derived Complex Types
  • Deriving by Extension
  • Deriving by Restriction
  • Prohibiting Derivations
  • Element Substitution
  • Substitutable Elements
  • International Clients
  • substitutionGroup Features
  • Substitution with Derived Types
  • Blocking Element Substitution
  • Transitive and Non-Symmetric
  • Abstract Elements
  • Abstract complexType

Module 10: Schema Modules

  • Schema Modularization
  • Including Schema Documents
  • Using include
  • Chameleon Effect
  • Namespace Coercion
  • Redefining Types
  • Using redefine
  • Syntax redefine
  • Redefine no targetNamespace
  • Importing Schema Documents
  • Using import
  • Imported Schema’s

Module 11: Schema Extensions

  • anyElement
  • Extension Element
  • Instance with any
  • Namespace Extension Elements
  • anyAttribute Element
  • Extension Attribute
  • Instance with anyAttribute
  • Namespace Extension Attributes
  • Open Content
  • Global Openness
  • Local Openness

Module 12: Uniqueness and Keys

  • Uniqueness and Keys
  • Unique versus Key
  • Key Requirements
  • Combination Key
  • Unique
  • Unique Elements
  • Key Referencing
  • Key and keyref
Plaats Duur Data
Houten - Standerdmolen 10 3 dagen 13 t/m 15 februari 2019 Inschrijven >
Amsterdam - Hullenbergweg 280-308 3 dagen 13 t/m 15 februari 2019 Inschrijven >
Houten - Standerdmolen 10 3 dagen 17 t/m 19 april 2019 Inschrijven >
Rotterdam - Provenierssingel 66 3 dagen 17 t/m 19 april 2019 Inschrijven >
Houten - Standerdmolen 10 3 dagen 19 t/m 21 juni 2019 Inschrijven >
Amsterdam - Hullenbergweg 280-308 3 dagen 19 t/m 21 juni 2019 Inschrijven >
Houten - Standerdmolen 10 3 dagen 14 t/m 16 augustus 2019 Inschrijven >
Rotterdam - Provenierssingel 66 3 dagen 14 t/m 16 augustus 2019 Inschrijven >