Target Audience
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.
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.
Course 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
Course Environment
Development will be performed using an XML Source Editor:
-
a text editor such as Notepad or TextPad
-
XML Spy
Together with an XML testing environment:
-
Internet Explorer 5.5 or greater
-
Netscape 6.0 or greater
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.
|