EC55 - XML Schema Design - 2 Days


Course Description

This course is designed for the developer looking to further their web application development skills with XML. This course teaches developers how to use XML for data modelling and in all aspects of application development. Developers will learn how to use XML Schemas to model business data, and use XML Schemas within business systems.

View Dates

Pre-requisites

The developer should be familiar with the Windows host environment. Knowledge of XML is required. This can be gained by attending course either course EC50, EC51 or EC52.


Objectives

Whilst covering the basics of XML grammars, DTDs and schemas, and how they are used, this course also aims to give an insight into XML schema syntax.

Issues such as XML syntax, namespaces, document type definitions, XML schemas, schema composition, simple and complex types, built-in types and groups are discussed.

On completion of this course the student will be able to:

  • Develop XML schema documents using valid XML syntax
  • Develop XML grammars, DTDs, and validate against an XML instance
  • Develop XML grammars, XML schemas, and validate against an XML instance
  • Develop highly reusable libraries of schema documents
  • Build and extend existing schema definitions
  • Use and reuse industry standard schemas

Environment

XML development will be performed using a text editor:

  • Notepad or TextPad
  • XML Spy

A web browser such as:

  • Internet Explorer or
  • Firefox or
  • Opera or
  • Chrome

Customisation

For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.

On-site course enquiry (from £165 pp per day)

Course Details

XML INTRODUCTION
XML Applications and Data
Standardised Generalised Mark-Up Languages
Meta Mark-Up Languages
Extensible Mark-Up Language - XML
Documents
Applications
Grammars
Parsers
Features

XML DOCUMENTS
XML Document Structure
Tags & Elements
Attributes
Well Formed Documents
Valid XML Documents
Viewing an XML Document
Using CSS Style Sheets
Using XSL Transformations

XML SYNTAX
XML Documents
XML Declaration
Elements
Element Hierarchy
Empty Elements
XML Names
Entity References
CDATA Sections

XML GRAMMARS
XML Validation
XML Parsers & Validators
Document Type Definitions
XML Schemas
Purpose of Grammars
Contracts with Trading Partners
Predefined Grammars

DOCUMENT TYPE DEFINITION (DTD)
DTD
Definition
Declaration
Formats
DTD Declaration
Internal Declarations
External Private Declarations
External Public Declarations
DTD Content
!ELEMENT Declaration
Content Model
#PCDATA
Child Elements
Empty
Any
Mixed Content
!ATTLIST Declaration
Attribute Type
CDATA
NMTOKEN & NMTOKENS
ENUMERATION
ENTITY & ENTITIES
ID
IDREF & IDREFS
NOTATION
Processing Instructions

SCHEMA INTRODUCTION
Schema Design
Accuracy and Precision
Clarity
Reusability and Extensibilty
Grammar Languages

SCHEMA STRUCTURE
Schema Components
Declarations
Definitions
Global Components
Local Components
Elements & Attributes
Simple and Complex Data Types
Built-In Simple Types
Simple Type Restriction
List and Union Types
Content Types
Content Models

SCHEMA NAMESPACES
XML Namespace Definition
Uniform Resource Identifier
Namespace Syntax
Namespace Names
Schema Namespace
Target Namespace
Schema Instance Namespace

SCHEMA COMPOSITION
Modular Schemas
Include
Redefine
Import

ELEMENT DECLARATIONS
Element Declarations
Global Elements
Local Elements
Global or Local Element Declaration ?
Element Data Types
Default Values
Fixed Values
Nulls and Nullability

ATTRIBUTE DECLARATIONS
Attribute Declarations
Global Attributes
Local Attributes
Global or Local Attribute Declaration ?
Attribute Data Types
Default Values
Fixed Values

SIMPLE TYPES
Simple Types
Simple Type Definitions
Simple Type Restrictions
Facets
Bound Facets
Length Facets
TotalDigits and FractionDigits Facets
Enumeration Facets
Pattern Facets
Whitespace Facets

REGULAR EXPRESSIONS
Regular Expression Structure
Atoms
Character Class Expressions
Quantifiers

UNION AND LIST TYPES
Union Types
List Types
Restricting List Types
List of Unions

BUILT-IN SIMPLE TYPE
String Based Types
String, NormalizedString and Token
Name
NCName
Language
Numeric Types
Float and Double
Decimal
Integer
Date and Time Types
Date
Time
Datetime
GYear
GYearMonth
GMonth
GMonthDay
GDay
Duration
TimeZones
Legacy Types
Other Types
QName
Boolean
HexBinary and Base64Binary
AnyURI

COMPLEX TYPES
Complex Type Definitions
Content Types
Element Only Content
Mixed Content
Empty Content
Element References
Model Groups
Sequence Groups
Choice Groups
Nesting of Sequence and Choice Groups

DERIVED COMPLEX TYPES
Derived Types
Complex Type Extensions
Complex Type Restrictions
Type Substitution
Controlling Derivation and Substitution
Final Property
Block Property
Abstract Types

REUSABLE GROUPS
Model Groups
Named Model Groups
Attribute Groups

SUBSTITUTION GROUPS
Substitution Groups
Substitution Group Hierarchy
Declaring Substitution Groups
Substitution Group Alternatives

IDENTITY CONSTRAINTS
Identity Constraints
Uniqueness Constraints
Key Constraints
Key Reference Constraints
Selectors
Fields
XPATH Expressions

NAMING CONSIDERATIONS
Naming Guidelines
XML Name Syntax
Separators


Course Format

Practical sessions make up a large part of the course, allowing delegates to demonstrate and reinforce the lectures given. During these sessions the delegate will gain experience of coding all types of XML documents and XML syntax as well as validating against existing XML processors and validators.

Examples are used extensively, ranging from simple code snippets to full applications with complete 'real world' functionality. These are supplied at the start of the course and it is encouraged that the delegates execute and 'experiment' with these under the instructor's guidance as they are introduced.

These examples are available to take away, along with the delegate's own work.

The comprehensive Student Guide supplied is fully indexed serving as a useful reference tool long after the course has finished. Delegates will also be able to access a free help-line with technical questions relating to topics covered on the course.


Availability

Course Enquiry