Site Sections => About Us | Consultancy | Training | Software | Publications | Open Source | Support | Open Standards | FAQ | Jobs
Site Style Info

Introduction to XML Development — A 3-day course

Synopsis

The World-Wide Web Consortium's (W3C) eXtensible Markup Language (XML) enables us to create documents and databases whose contents are self-describing, i.e., the distinct items of data within such databases can be individually recognised and separately extracted from the medium in which they are typically stored and presented.

This promises a world of ever greater inter-operability, by allowing all sorts of legacy and proprietary IT systems to seamlessly interact. In reality, of course, there are some very real semantic, technical and commercial constraints on realising that promise in a working implementation.

This XML training course is designed to teach the technical aspects of implementing core XML standards and technologies, without neglecting the semantic and commercial constraints.

Suitable For

  • Software developers/programmers and their managers who need to evaluate or implement XML storage and data processing solutions.
  • Web developers with some programming experience who need to evaluate or implement XML-based solutions to document preparation and processing.

Prerequisites

  • Practical experience in developing web applications or dynamic websites.
  • Good knowledge of HTML and a basic knowledge of scripting (e.g., Perl, PHP, JavaScript, ASP or VBScript) or programming is assumed.
  • Familiarity with electronic and manual document processing is a definite advantage.

Delivery

This XML course can be run as both in-house XML training for company groups and as a scheduled 3-day public course for individuals. Like the rest of our XML courses it is instructor led, with particular emphasis on the acquisition of technical/craft skills through practical exercises and through focused group discussion. Students use XML editor Altova XMLSpy to help them complete the exercises.


Contents

Introduction to XML development

  • Objectives
  • What is XML?
  • Quick example
  • Key benefits of XML
  • What is a markup language?
  • SGML: some history
  • Relationship of SGML to XML
  • Evolution of XML
  • Why is XML important?
  • Uses for XML
  • Quick example — revisited
  • Modelling data
  • Elements
  • Attributes
  • Nesting elements
  • Structure of a document
  • The <?xml…?> declaration
  • What are web services?
  • Benefits of web services
  • Current status

XHTML

  • What is it?
  • Motivation behind XHTML
  • Example document
  • XHTML standards
  • Differences between HTML and XHTML
  • Writing XHTML for older browsers
  • Including scripts and stylesheets
  • Advantages of XHTML

Well-formed XML documents

  • Objectives
  • Valid versus well-formed XML
  • Well-formed XML documents
  • Valid XML documents
  • Recap basic terms
  • Element naming rules
  • Attributes
  • Comments
  • XML declaration
  • Processing instructions
  • Non-permissible characters
  • Errors and fatal errors

XML namespaces

  • Objectives
  • Need for namespaces
  • Problem: same names different concepts
  • Solution: group names in namespaces
  • Problem: ensuring unique namespaces
  • Using basic XML namespaces
  • Example: basic XML namespaces
  • Default namespaces
  • Example: default namespaces
  • Default namespaces: inheritance and cancellation
  • Example: namespace inheritance
  • Different namespace notation
  • Attributes and namespaces
  • Extending XML
  • Namespaces and DTDs
  • The use of URLs in namespaces

An introduction to XML schemas

  • Objectives
  • The principle of schemas
  • The place of DTDs
  • Writing a schema
  • Example: simple memo format
  • Example: schema for <memo> documents
  • Sequences of elements
  • <sequence>
  • Complex and simple types
  • Defining attributes
  • Simple types
  • <attribute use=> values
  • Tying documents to schemas
  • Instance documents which use namespaces
  • Schema processing tools
  • Authoring tools
  • XML parsers with schema support
  • Other tools supporting schemas
  • Web resources

Valid XML with Document Type Definitions (DTDs)

  • Objectives
  • Goals of DTDs
  • Schemas and DTDs: differences
  • Validation
  • Example: the memo format
  • Example: DTD for memos
  • The document type declaration
  • The PUBLIC source specifier
  • The SYSTEM source specifier
  • Declaring entities
  • Entities jargon
  • Declaring elements
  • Declaring empty elements
  • The ANY content model
  • #PCDATA content
  • Elements which contain elements
  • Optional elements
  • Repeated elements
  • Repeated elements (continued)
  • Mixed content
  • Declaring attributes
  • Attribute types
  • Adding per-document entities
  • Limitations of DTDs

Principles of styling XML

  • Objectives
  • What is styling?
  • Styling XML
  • CSS
  • Using CSS with XML
  • XSL
  • Putting XSL together
  • XSLT
  • XSL-FO
  • Associating style sheets with XML documents
  • The <?xml-stylesheet?> processing instruction
  • Convergence between CSS and XSL-FO

Using cascading stylesheets with XML

  • Objectives
  • CSS introduction
  • CSS in HTML
  • CSS in XML
  • Using CSS with XML

A brief introduction to XSLT

  • Why transforming XML is useful
  • Business to business transactions
  • XSLT for transforming XML
  • Disadvantages of XSLT
  • Available software
  • Using XT
  • Different kinds of XSLT processors
  • XSLT and XSL-FO for presentation
  • Example: simplified syntax
  • Input and output of stylesheet
  • Example: name of root element
  • Non-simplified syntax
  • How stylesheet processing works
  • Empty stylesheets
  • Input and output of empty stylesheet
  • Getting values from the input
  • Example: getting a value from the input
  • select="…" expressions
  • What is XPath?
  • Accessing the values of attributes

Further XSLT

  • Example: inserting static text
  • Copying elements unchanged
  • Example: renaming an element
  • Example: removing an element
  • Conditionally including output
  • Example: conditional templates
  • Example: counting elements
  • Inserting text into the output
  • Example: explicitly inserting text
  • Example: listing elements
  • Current node in a template
  • Example: simple arithmetic
  • Example: listing URLs from links
  • Example: looping
  • Example: sorting

XSLT details

  • Root node
  • XPath expression syntax
  • Template matching with XPath
  • Applying templates
  • Building location paths with XPath
  • Predicates
  • Using XPath in XML
  • XPath numeric functions
  • XPath's string functions
  • Axes: heading in other directions
  • Changing case with translate
  • XPath summary
  • Choosing among alternatives
  • Example of <xsl:choose>
  • Whitespace stripping
  • Calling templates by name
  • Passing parameters to templates
  • Example: changing newlines to <br/>
  • Structuring stylesheets

XSL-FO

  • Objectives
  • What is XSL-FO?
  • XSL-FO basics
  • Processing XSL-FO
  • Internationalisation
  • Simple page layout
  • Real page layout
  • XSL-FO page layout jargon
  • More jargon: regions
  • Creating pages
  • A simple example
  • A simple example (continued)
  • Static content
  • XSL-FO and XSLT
  • XSL-FO and XSLT (continued)
  • XSLT example
  • Other features
  • Tables
  • Inheritance
  • The future

Processing XML

  • Objectives
  • Reasons for processing
  • How to process XML
  • Choosing a processing method
  • General XML processing with XSLT
  • XML parser types
  • Event-based parsing
  • Tree-based parsing

Processing XML events with SAX

  • Objectives
  • SAX — the simple API for XML
  • Event-based programming with SAX
  • Typical steps in using SAX
  • Capturing element events
  • Example of a ContentHandler
  • Start and end of documents
  • Capturing character data
  • Example: totalling prices in an invoice
  • Example: continued
  • Positions of elements
  • Extensions to SAX

Processing XML objects with DOM

  • What is the DOM?
  • DOM level 1 object model
  • The XML DOM
  • DOM's relationship to applications
  • DOM interfaces
  • Document representation by DOM
  • The DOM core
  • The DOM core interfaces
  • Interfaces provided by the DOM core
  • DOM core interfaces (contd.)
  • Using the DOM in Java
  • Example: print href values of <a>s
  • Catching validation errors
  • Error handlers in an anonymous inner class
  • The future of DOM

XML training UK enquiries

UK Training enquiries and feedback form.

XML training UK prices

For publicly scheduled training (individual places), see our UK training schedule.

In-house training for company groups is charged at a daily rate per group — see our In-House UK Training Guidelines.

Publicly Scheduled Training Locations

We currently run public training courses in the following locations:

  • London, UK
  • Leeds, West Yorkshire, UK
  • Birmingham, West Midlands, UK
  • Carshalton, Surrey, UK
  • Chester, North West, UK
  • Coventry, West Midlands, UK
  • Edinburgh, Scotland, UK
  • Glasgow, Scotland, UK
  • Harwell, Oxfordshire, UK
  • Manchester, North West, UK
  • Milton Keynes, Buckinghamshire, UK
  • Newark, Nottinghamshire, UK
  • Reading, Berkshire, UK
  • Slough, Berkshire, UK
  • Stevenage, Hertfordshire, UK
  • Wakefield, West Yorkshire, UK
  • Wokingham, Berkshire, UK

Most UK public training courses are available on a monthly basis.

Please see the individual course outlines or our public training schedule for details.

In-house (on-site) training locations

We deliver in-house courses at client premises and/or training facilities in any part of the world which is practically and commercially accessible.

Our In-house training guidelines outline our basic requirements and our UK pricing structure. To estimate costs for training in other countries, simply convert to your local currency and then make a rough calculation of our tutor's costs for travelling to and staying at your location.


West Yorkshire Office

GBdirect Ltd
Training Division
Bradford Design Exchange
34 Peckover Street
BRADFORD
BD1 5BD
West Yorkshire
United Kingdom

training@gbdirect.co.uk

Training: 0800 651 0338
General: +44 (0)870 200 7273
Finance: +44 (0)1353 615 174

Please call between 0900 and 1700 (UK time) on Monday to Friday


South East Regional Office

GBdirect Ltd
Training Division
18 Lynn Rd
ELY
CB6 1DA
Cambridgeshire
United Kingdom

training@gbdirect.co.uk

Training: 0800 651 0338
General: +44 (0)870 200 7273
Finance: +44 (0)1353 615 174

Please call between 0900 and 1700 (UK time) on Monday to Friday


Please note:
Non-training enquiries should be directed, initially, to our UK national office in Bradford (West Yorkshire), even if the enquiry concerns services delivered in London or South/East England. Clients in London and the South East will typically be handled by staff working in the London or Cambridge areas.